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配置文件,安装时依据配置文件进行定制化安装,配置此项时要和distro进行关联。
System
主要用来定义内核参数,电源管理,计算机名,网络接口参数等(客户机),如:根据mac地址配置IP地址,通过和profile,distro关联实现自动化安装。
Repo
主要用来配置yum镜像信息。
Cobbler的帮助信息查看都是这个格式:cobbler 子命令 –help
如: 查看 distro的帮助信息
# 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_64 |
Ksmeta |
是用来替代kickstart变量的高级特性 |
Breed |
用来指定操作系统厂家,如:redhat Ubuntu,centos等 |
举例:
# cobbler distro add --name=Centos6.6-x86_64 --kernel=/mnt/isolinux --initrd=/mnt/isolinux --arch=x86_64 --breed=redhat
# cobbler distro list
Centos6.6-x86_64
Centos7-dvd-x86_64
# cobbler distro rename –name=Centos6.6-x86_64 –newname=Centos6.9-x86_64
#cobbler distro list
Centos6.9-x86_64
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 |
这是一个高级特性,用来指定上一级的配置文件,可以继承父级指定的参数 |
举例:
# cobbler profile add --name=Centos6.9-x86_64 --distro=Centos6.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.9-x86_64.cfg
# cobbler profile list
Centos6.9-x86_64
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]这些参数与电源管理相关。
举例:
# 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
# cobbler list
distros:
Centos6.9-x86_64
Centos7-dvd-x86_64
profiles:
Centos6.9-x86_64
Centos7-dvd-x86_64
systems:
Centos6.9-x86_64
repos:
images:
mgmtclasses:
packages:
files:
# 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 |
通常无需定义,系统就知道我们想干什么,当然你也以指定特殊的。 |
举例:
# cobbler repo add --mirror=https://mirrors.aliyun.com/centos/7.3.1611/os/x86_64/ --name=centos7.3-x86_64
# cobbler repo list
centos7.3-x86_64
# cobbler reposync #同步repo,会从网上下载centos7.3.1611的安装树到这个位置/var/www/cobbler/repo_mirror
看看最终的配置:
# cobbler list
distros:
Centos6.9-x86_64
Centos7-dvd-x86_64
profiles:
Centos6.9-x86_64
Centos7-dvd-x86_64
systems:
Centos6.9-x86_64
repos:
centos7.3-x86_64
images:
mgmtclasses:
packages:
files: