首页 > 代码库 > centos7使用cobbler(2.8)批量部署操作系统之二

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)批量部署操作系统之二