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配置文件,安装时依据配置文件进行定制化安装,配置此项时要和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:
上一篇:UStore-自定义JDF文件格式输出


下一篇:【VMware虚拟化解决方案】配置和部署VMware ESXi5.5