cobbler是一个可以实现批量安装系统的Linux应用程序。它有别于pxe+kickstart,cobbler可以实现同个服务器批量安装不同操作系统版本。
一、系统环境准备及其下载cobbler
1、系统环境
开启两个网卡。一个仅主机模式,一个桥接模式,主机模式对内提供cobbler服务。
内网IP:192.168.182.128/24 #用来对内通信,提供cobbler服务
外网IP:192.168.4.190/24 #连接外网
2、关闭安全服务
#关闭防火墙
#关闭selinux
3、下载cobbler及其所需服务程序
yum安装cobbler需要使用下面两个源,大家可以复制下面的代码到自己的yum仓库保存即可
[epel] name=epel enabled=1 gpgcheck=0 baseurl=https://mirrors.aliyun.com/epel/7/x86_64/ [centos] name=centos base enabled=1 gpgcheck=0 baseurl=http://mirrors.163.com/centos/7/os/x86_64/
# yum clean all #清理缓存 # yum makecache #建立缓存
# yum install cobbler dhcp tftp-server xinetd syslinux httpd -y
syslinux: 提供pxelinux.0这个文件 ,pxelinux.0引导文件引导vmlinux和initrd两个启动文件
二、配置相关服务
第一步:配置DHCP服务
# cat /etc/dhcp/dhcpd.conf subnet 192.168.182.0 netmask 255.255.255.0 { range 192.168.182.150 192.168.182.155; default-lease-time 600; max-lease-time 7200; filename "pxelinux.0"; }
# systemctl restart dhcpd
# systemctl enable dhcpd #(开机自启)
第二步:配置tftp
# cat /etc/xinetd.d/tftp
service tftp { disable = no #yes 改为no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -B 1380 -v -s /var/lib/tftpboot per_source = 11 cps = 100 2 flags = IPv4 }
第三步:启动cobbler
# systemctl start cobblerd
第四步:启动httpd
# systemctl restart httpd
第五步:检查cobbler配置
# cobbler check
同步的时候可能会报8或者9个问题,对于这些问题的解决方法如下,个别问题可以不影响cobbleer使用
修改配置文件/etc/cobbler/settings
问题一:
cobbler文件默认是127.0.0.1本地回环地址,需要更改为提供cobbler服务的ip地址 192.168.182.128,在384行
server: 192.168.182.128
问题二:
netx_server也是默认本地127.0.0.1回环地址,需要修改为提供cobbler服务的ip地址 192.163.182,128,在272行出
next_server: 192.168.182.128
问题三:
可以忽略
问题四:
启动rsync即可
# systemctl restart rsyncd
# systemctl enable rsyncd
问题五:
可以忽略
问题六:
更改密码
# openssl passwd -1 -salt "123" "123456"
$1$123$7mft0jKnzzvAdU4t0unTG1
并把新生成的加密数据填写进/etc/cobbler/settings
default_password_crypted: "$1$123$7mft0jKnzzvAdU4t0unTG1"
问题七:
可以忽略
还有个别问题只需要执行报错内容引号里面的命令即可解决
以上问题解决之后,需要同步和重启
# systemctl restart cobblerd
# cobbler sync
再次检查是否已经更改完成
# cobbler check
第六步:挂载光盘并进行数据导入
1、挂载光盘
# mount /dev/cdrom /mnt/
2、数据导入(需要一些时间)
cobbler import --path=/mnt --name="centos7.5"
3、查看distro
# cobbler distro list
4、查看profile
# cobbler profile list
distro : 发行版, 就是我们安装什么版本的linux操作系统的名称 一会我们会导入一个 distro.
profile : 类似于一个 配置文件,类似于你的 bash_profile, 里面包含你可以添加 kernel 参数,对应的kickstart 文件 以及 此profile 对应的 distro 等等.
第七步:准备kickstart文件
在root目录下找到ks文件,并移动到/var/lib/cobbler/kickstarts/到目录下改名为ks.cfg
1、# cp anaconda-ks.cfg /var/lib/cobbler/kickstarts/ks.cfg/
2、# vim /var/lib/cobbler/kickstarts/ks.cfg
#只需要更改一行内容
#version=DEVEL # System authorization information auth --enableshadow --passalgo=sha512 # Use CDROM installation media url --url=http://192.168.83.133/cobbler/ks_mirror/centos7.5/ #这里需要更改为repodata所在的http地址 # Use graphical install graphical # Run the Setup Agent on first boot firstboot --enable ignoredisk --only-use=sda # Keyboard layouts keyboard --vckeymap=cn --xlayouts='cn' # System language lang zh_CN.UTF-8 # Network information network --bootproto=dhcp --device=ens33 --onboot=off --ipv6=auto --no-activate network --hostname=localhost.localdomain
第八步:自定义profile
# cobbler profile add --distro=centos7.0-x86_64 --name=centos7.0_ken --kickstart=/var/lib/cobbler/kickstarts/ks.cfg
# cobbler sync进行同步
第九步:查看profile
# cobbler profile list
第十步:删除不包含ks文件的profile(也可以不删除)
# cobbler profile remove --name=centos7.5-x86_64
# cobbler profile list
三、cobbler自动化安装测试
新建一个虚拟机,需要和cobbler服务器所在同一个虚拟网络中即与我们上面设置的cobbler服务器的主机模式。内存需要3个G以上。
注:如果需要安装不同版本的系统只需要重新插入其他版本的镜像并进行挂载,即从第六步重新开始执行以下的操作,只是ks文件的内容不同需要重新更改ks文件