cobbler
centos7.4之cobbler自动化部署工具安装
环境介绍:
服务器:172.16.5.241
操作系统版本:centos7.4
客户端:虚拟机客户端,内存最少2GB
cobbler介绍:
运维自动化在生产环境中占据着举足轻重的地位,尤其是面对几百台,几千台甚至几万台的服务器时,仅仅是安装操作系统,如果不通过自动化来完成,根本是不可想象的。面对生产环境中不同服务器的需求,该如何实现批量部署多版本的操作系统呢?Cobbler便可以满足这一实际需求,实现多版本操作系统批量部署
Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。
Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。
Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。
Cobbler内置了一个轻量级配置管理系统。
Cobbler官网http://cobbler.github.io
在使用cobbler之前需要了解kickstart的使用: http://www.cnblogs.com/clsn/p/7833333.html
cobbler集成的服务:
PXE服务支持
DHCP服务管理
DNS服务管理(可选bind,dnsmasq)
电源管理
Kickstart服务支持
YUM仓库管理
TFTP(PXE启动时需要)
Apache(提供kickstart的安装源,并提供定制化的kickstart配置)
一、服务器安装。
注意我这里使用虚拟机实现的,因为cobbler需要搭建dhcp服务,所以我这里先安装了所有的需要安装包,启动了所有应该启动的服务,除了dhcp。测试的时候我使用虚拟机nat网卡模式,并关闭了虚拟机自带的dhcp服务。
1、安装基本组件
|
1
|
yum -y install wget net-tools curl epel-release |
2、更新
|
1
|
yum -y update |
3、关闭iptables与selinux,下面的所有操作完成后,重启服务器,否则后面会报错。
vim /etc/selinux/config
SELINUX=disabled
关闭iptables或者firewalld,开机不启动。
二、安装基础服务
1、安装所有依赖服务
|
1
|
yum -y install dhcp httpd xinetd tftp-server rsync fence-agents pykickstart |
2、设置开机自启动,dhcpd服务我们后面再启动。
|
1
2
|
systemctl enable xinetd dhcpd httpd rsyncdsystemctl start xinetd httpd rsyncd |
3、安装cobbler
|
1
|
yum -y install cobbler-web |
设置开机启动:
|
1
2
|
systemctl enable cobblerdsystemctl start cobblerd |
4、效验cobbler安装条件,注意观察是否有报错
|
1
|
cobbler check |
报错
5、随机生成一个密码,这个密码就是你待会儿自动安装完操作系统以后的开机密码。复制生成的密码,待会儿需要写到配置文件中。
|
1
|
openssl passwd -1 -salt "root" "yunwei.123" |
6、更改cobbler配置文件
|
1
|
vim /etc/cobbler/settings |
只需要改配置文件中的这几项即可。
|
1
2
3
4
5
6
7
8
|
..........default_password_crypted: "$1$cobbler$zPOuqy9SLOb87DIQb3RbQ." #第三步生成的密码manage_dhcp: 1 #dhcp服务manage_tftpd: 1 #xinetd服务manage_rsync: 1 #rsyncd服务next_server: 172.16.5.241 #替换成本机IP地址,dhcp服务地址server: 172.16.5.241 #替换为本机IP地址,cobber服务地址.......... |
7、更新load信息
|
1
|
cobbler get-loaders |
命令结果8、vim /etc/xinetd.d/tftp,设置tftp配置文件,‘disable'为'no'
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
service tftp{disable = nosocket_type = dgramprotocol = udpwait = yesuser = rootserver = /usr/sbin/in.tftpdserver_args = -B 1380 -v -s /var/lib/tftpbootper_source = 11cps = 100 2flags = IPv4} |
9、修改dhcp配置文件,先不要启动dhcp。
|
1
|
vim /etc/cobbler/dhcp.template |
dhcp修改内容10、同步Cobbler,这里会把/etc/cobbler/dhcp.template这个文件我们配置好的内容同步到/etc/dhcp/dhcpd.conf文件中,否则dhcp不能正常使用。
|
1
|
cobbler sync |
提示信息
/etc/dhcp/dhcpd.conf信息
三、导入镜像
1、创建操作系统文件夹,虚拟机添加对应的操作系统iso文件,然后挂载。
|
1
2
3
|
mkdir -p /data/iso/centos7.4#挂载mount /dev/cdrom /data/iso/centos7.4 |
2、把挂载光盘镜像的mnt目录中的内容导入到cobbler
|
1
|
cobbler import --path=/data/iso/centos7.4 --name=centos7.4 |
3、接着同步cobber report查看导入信息
|
1
|
cobbler report |
返回信息web界面查看,已经看到了我们刚才生成的操作系统。

注意:
前面我们不是执行cobbler check命令报错么,现在我们在check一下,
|
1
|
cobbler check |
check结果四、测试
1、前面服务器都支直接连接互联网的,这里面是有dhcp服务器,如果我启动cobbler的dhcp,那同事就得“炸锅了”,所以这里我先把服务器网卡换NAT模式,并关闭vmware workstation里面的DHCP服务。
2、检查前面我们安装的服务是否正常。
3、启动DHCP服务。
4、新建一个虚拟机,网卡选择NAT,不需要挂载操作系统光盘,直接开机即可。
5、启动客户端,这里如果等待时间很长的话,证明的你的tftp服务有问题,重启一下服务器,客户端在重新启动就OK了。

6、开始安装,刚才我们生成的镜像,上下键选择要安装的操作系统,回车即可,剩下的只有等。

7、默认分区

五、web界面
https://服务器IP地址/cobbler_web默认用户名和密码是cobbler,在这里面我们能看到刚才我们创建的这个centos7的镜像。
如果想修改cobbler登录密码使用如下命令:
|
1
|
htdigest /etc/cobbler/users.digest "Cobbler" cobbler |

查看一下我们的版本库列表
cobbler distro list
#report详细查看一下库信息
cobbler distro report
#查看配置的详细信息,这个就非常有用了,标红的文件是默认配置文件,。
cobbler profile report

参考地址:
1、https://www.linuxidc.com/Linux/2018-03/151347.htm
2、https://www.cnblogs.com/clsn/p/7839965.html?utm_source=debugrun&utm_medium=referral
问题一:
设置安装密码,上面我们设置了cobbler的页面密码,如果我们有很多的操作系统,随便一个服务器启动后dhcp就可以安装操作系统,没有密码很危险。
1、创建密码
|
1
2
|
#生成密码(yunwei.123才是密码,前面的root随意)openssl passwd -1 -salt root yunwei.123 |
|
1
2
|
#生成的密码$1$root$vQ5iF/QlePLjafcRq8lCw/ |
第二步:编辑文件pxedefault:
# vim /etc/cobbler/pxe/pxedefault.template
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
DEFAULT menuPROMPT 0MENU TITLE Cobbler | http://cobbler.github.io/ #细心的同学发现,http是安装界面的显示内容MENU MASTER PASSWD $1$root$vQ5iF/QlePLjafcRq8lCw/ #加入这一行,把前面的密码加进来TIMEOUT 200TOTALTIMEOUT 6000ONTIMEOUT $pxe_timeout_profileLABEL local MENU LABEL (local) MENU DEFAULT LOCALBOOT -1$pxe_menu_itemsMENU end |
第三步:配置pxeprofile:
#vim /etc/cobbler/pxe/pxeprofile.template
|
1
2
3
4
5
6
|
LABEL $profile_name MENU PASSWD #只需要加这一行即可 kernel $kernel_path $menu_label $append_line ipappend 2 |
第四步:检查、同步配置使其生效
#cobbler check
#cobbler sync
#/etc/init.d/cobblerd restart
第五步:PXE装机选择版本查看效果:

问题二:
自定义配置和分区
这个功能我们必须得会,因为默认操作系统会.ks文件加参数autopart,意思就是自动分区。我们生产中哪怕是试验,也没有这么分区的(/var/lib/cobbler/kickstarts/sample_end.ks,我这里的centos7.4是这个默认安装配置文件)
1、首先我们得知道我们安装的这个操作系统默认用的是哪个.ks文件,圈红色的全都是默认的ks文件。

那我们的操作系统默认用的是哪个呢?

我这里默认是这个配置文件

2、首先我们点击sample_end.ks这个我们默认的配置文件,然后全选里面的内容。最后按照如下,我们新建一个自己ks文件,把刚才复制的内容全部粘贴到里面。


这里还设置了默认关闭selinux,当然,你还可以写默认要安装哪些软件。
centos7.4其它配置参考:https://www.cnblogs.com/clsn/p/7839965.html?utm_source=debugrun&utm_medium=referral#auto_id_15
错误收集:
1、No space left on device
客户端在安装操作系统的时候报下面这个错误,那是因为你的机器内存太少了,最少也得2GB内存。

将内存调为2G即可(这个错误只会出现在CentOS7.3之上)

浙公网安备 33010602011771号