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 |
举例:
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 | 用来指定一个配置文件的描述名称 |
举例:
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 | 指定一个名字 |
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 | 指定镜像仓库源的地址 |
举例:
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文件夹等。