centos7使用cobbler(2.8)批量部署操作系统之二

1.    Cobbler常用命令

1.1     查看cobbler帮助

# cobbler --help

usage

=====

cobbler <distro|profile|system|repo|image|mgmtclass|package|file> ...

        [add|edit|copy|getks*|list|remove|rename|report] [options|--help]

cobbler <aclsetup|buildiso|import|list|replicate|report|reposync|sync|validateks|version|signature|get-loaders|hardlink> [options|--help]

distro,profile,system是cobbler三大核心组件。

Distro

主要用来定义和设置系统发行版本,里包含了系统的内核,引导文件,以及安装包等内容,就相当于一个LINUX系统的ISO镜像。如:多个发行版本,同一发行版不同版本号。

Profile

主要用来定义kickstart配置文件,安装时依据配置文件进行定制化安装。

System

主要用来定义内核参数,电源管理,计算机名,网络接口参数等(客户机),如:根据mac地址配置IP地址,或者通过配置文件指定其它网络信息。

Repo

主要用来配置yum镜像源。

Cobbler的帮助信息查看都是这个格式:cobbler 子命令 –help

如:

# cobbler distro --help
 
 usage
 
 =====
 
 cobbler distro add
 
 cobbler distro copy
 
 cobbler distro edit
 
 cobbler distro find
 
 cobbler distro list
 
 cobbler distro remove
 
 cobbler distro rename
 
 cobbler distro report

1.2     Cobbler distro命令

该命令主要用于对distro进行增加,编辑,拷贝,查找,移除,重命名操作。

使用格式为(以add为例):

cobbler distro add --name=string --kernel=path --initrd=path

       [--kopts=string] [--kopts-post=string] [--ksmeta=string]

       [--arch=x86|x86_64|ia64] [--breed=redhat|debian|suse]

       [--template-files=string]

其中:

Name 用来指定系统的版本。如:RHEL7
Kernel 用来指定一个内核镜像文件的绝对路径。Initrd 用来指定一个RAM镜像文件的绝对路径。Kopts 用来指定内核命令行参数Kopts-post 同上Arch 用来指定操作系统版本平台,如:X86_64Ksmeta 是用来替代kickstart变量的高级特性Breed 用来指定操作系统厂家,如:redhat Ubuntu,centos等

举例:

1 # cobbler distro add --name=Centos6.6-x86_64 --kernel=/mnt/isolinux --initrd=/mnt/isolinux --arch=x86_64 --breed=redhat
 2 
 3 # cobbler distro list
 4 
 5    Centos6.6-x86_64
 6 
 7    Centos7-dvd-x86_64
 8 
 9 # cobbler distro rename –name=Centos6.6-x86_64 –newname=Centos6.9-x86_64
10 
11 #cobbler distro list
12 
13    Centos6.9-x86_64
14 
15    Centos7-dvd-x86_64

1.3     Cobbler profile命令

该命令主要用于对profile进行增加,编辑,拷贝,查找,移除,重命名等操作。

使用格式为(以add为例):

cobbler profile add --name=string --distro=string [--kickstart=path]

       [--kopts=string] [--ksmeta=string] [--virt-file-size=gigabytes]

       [--virt-ram=megabytes] [--virt-type=string] [--virt-cpus=integer]

       [--virt-path=string] [--virt-bridge=string] [--server]

       [--parent=profile]

Name 用来指定一个配置文件的描述名称
Distro 用来关联distroKickstart 用来指定kickstart文件路径Virt-* 与虚拟化有关的设置Server 当客户机所在子网无法访问cobbler服务器的时候,这个设置才用得着。Parent 这是一个高级特性,用来指定上一级的配置文件,可以继承父级指定的参数

举例:

1 # cobbler profile add --name=Centos6.9-x86_64 --distro=Centos6.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.9-x86_64.cfg
2 
3 # cobbler profile list
4 
5    Centos6.9-x86_64
6 
7    Centos7-dvd-x86_64

1.4     Cobbler system命令

此命令主要用于定义客户机的网络接口参数,如指定IP MASK GATEWAY等。

cobbler system add --name=string --profile=string [--mac=macaddress]

       [--ip-address=ipaddress] [--hostname=hostname] [--kopts=string]

       [--ksmeta=string] [--kickstart=path] [--netboot-enabled=Y/N]

       [--server=string] [--gateway=string] [--dns-name=string]

       [--static-routes=string] [--power-address=string]

       [--power-type=string] [--power-user=string] [--power-pass=string]

       [--power-id=string]

Name 指定一个名字
Profile 指定一个profileMac 指定客户机的MAC地址,这是实现自动化安装的必要参数,否则客户机通过网络引导后会停留在引导菜单那一步。Ip-address 配置客户机的IP地址Hostname 配置客户机的计算机名Kickstart 指定kickstart配置文件的路径Netboot-enable 是否开启网络启动Server 指定cobbler服务器的地址Gateway 指定客户机的网关Dns-name 指定客户机的DNS域名

Static-routers  无需关心,大部分机器不需设置此项

[--power-address=string] [--power-type=string] [--power-user=string] [--power-pass=string]       [--power-id=string]这些参数与电源管理相关。

举例:

1 # cobbler system add --name=Centos6.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.9-x86_64.cfg --mac=00:0C:29:41:FC:6C --hostname=backup --profile=Centos6.9-x86_64 --interface ens33
 2 
 3 # cobbler list
 4 
 5 distros:
 6 
 7    Centos6.9-x86_64
 8 
 9    Centos7-dvd-x86_64
10 
11  
12 
13 profiles:
14 
15    Centos6.9-x86_64
16 
17    Centos7-dvd-x86_64
18 
19  systems:
20 
21    Centos6.9-x86_64
22 
23 repos:
24 
25 images:
26 
27 mgmtclasses:
28 
29 packages:
30 
31 files:
32 
33 # cobbler system edit --name=Centos6.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.9-x86_64.cfg --mac=00:0C:29:41:FC:6C --hostname=backup --profile=Centos6.9-x86_64 --interface eth0

1.5     Cobbler repo命令

此命令主要用于指定一个仓库源镜像,不仅仅用import方式导入的安装树中的源,还可以是rsync://URL,SSH 本地源,http://URL,FTP://URL,或者是本地源。

命令格式:

cobbler repo add --mirror=url --name=string [--rpmlist=list]

       [--creatrepo-flags=string] [--keep-updated=Y/N] [--priority=number]

       [--arch=string] [--mirror-locally=Y/N] [--breed=yum|rsync|rhn]

Mirror 指定镜像仓库源的地址
Name 定义名称Rpmlist 后面跟的是以空格分隔的软件包的名称列表,仅在http://url,ftp://url模式下生效。这种方式可以节省时间,空间和带宽。因为在这个列表中的包会被安装,其它的都不安装。Createrepo-flags 当cobbler reposync运行时向其传递一个特殊的参数,默认为“-c cache”Keep-updated 是否时刻保持repo的更新Priority 优先级,数字越小优先级越高,默认99.作用于所有cobbler镜像源。Arch 定义仓库使用什么样的架构,默认使用当前系统架构Mirror-locally 定义使用本地源还是互联网源Breed 通常无需定义,系统就知道我们想干什么,当然你也以指定特殊的。

举例:

1 # cobbler repo add --mirror=https://mirrors.aliyun.com/centos/7.3.1611/os/x86_64/ --name=centos7.3-x86_64
2 
3 # cobbler repo list
4 
5    centos7.3-x86_64
6 
7 # cobbler reposync           #同步repo,会从网上下载centos7.3.1611的安装树到这个位置/var/www/cobbler/repo_mirror
8 
9 命令介绍到这里我想应该够用的了。其它的自己看man cobbler吧。

看看最终的配置:

1 # cobbler list
 2 
 3 distros:
 4 
 5    Centos6.9-x86_64
 6 
 7    Centos7-dvd-x86_64
 8 
 9  profiles:
10 
11    Centos6.9-x86_64
12 
13    Centos7-dvd-x86_64
14 
15 systems:
16 
17    Centos6.9-x86_64
18 
19 repos:
20 
21    centos7.3-x86_64
22 
23 images:
24 
25 mgmtclasses:
26 
27 packages:
28 
29 files:

1.6   CentOS 6的光盘目录介绍

(1)Packages目录:包含安装所需的所有二进制RPM包。 (2)EFI目录:用于64位的基于EFI的系统引导。其中BOOT目录下的BOOTX64.conf为grub的配置文件,用于显示引导菜单。 (3)TRANS.TBL文件:记录当前目录的列表,用mkisofs的-T参数重新生成,主要是为了长文件名称。 (4).discinfo文件是安装介质的识别信息。.treeinfo文件记录不同安装方式安装程序所在的目录结构,如PXE方式时,内核kernel=images/pxeboot/vmlinuz,根文件系统initrd=images/pxeboot/initrd.img。 (5)isolinux目录:有开机引导系统安装的内核(vmlinuz)及RAM镜像(initrd.img),在引导系统时会载入内存,给系统的安装提供一个Linux安装引导平台,文件夹中还有在不同模式下显示信息的boot.msg文件,splash.jpg是特殊格式的引导过程背景图片(640*480)。安装时这个画面上的引导菜单内容在isolinux/isolinux.cfg文件中指定。按Enter会自动进入图形界面安装模式,若按Esc,会显示”boot: “命令提示符,进入用户交互模式,界面上会有各种模式操作提示。键入”linux text”,会进入文本安装模式。 (6)images目录:包含有各种引导镜像。最重要的是引导第二阶段安装需要用到的镜像文件install.img(CentOS 5中是stage2.img),anaconda程序就在这个镜像文件中。另外还有用于制作微型启动光盘的boot.iso(为节省空间CentOS 6中已经删除了,在CentOS 5中是有的),有可放置于USB或其他大容量可引导介质的VFAT分区上,制作引导工具的镜像diskboot.img(CentOS 5中有),也有用于制作PXE安装方式引导介质的pxeboot文件夹等。

相关推荐