centos7使用cobbler(2.8)批量部署操作系统之二
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
如:
1 # cobbler distro --help 2 3 usage 4 5 ===== 6 7 cobbler distro add 8 9 cobbler distro copy 10 11 cobbler distro edit 12 13 cobbler distro find 14 15 cobbler distro list 16 17 cobbler distro remove 18 19 cobbler distro rename 20 21 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_64 |
Ksmeta |
是用来替代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 |
用来关联distro |
|
|
Kickstart |
用来指定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 |
指定一个profile |
Mac |
指定客户机的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文件夹等。
以上是关于centos7使用cobbler(2.8)批量部署操作系统之二的主要内容,如果未能解决你的问题,请参考以下文章
Cobbler自动部署装机——CentOS7快速最小化批量装机