安装Cobbler
环境:
-
上传镜像
上传系统安装镜像文件CentOS-7-x86_64-Minimal-1908.iso到/zoom,
关闭防火墙
systemctl stop firewalld
systemctl distable firewalld
本机ip:192.168.100.128(NAT) -
更新epel第三方软件库
yum install -y epel-release -
安装Cobble及其它依赖
yum install cobbler cobbler-web pykickstart httpd dhcp tftp-server -y -
启动相关服务
systemctl start httpd
systemctl start cobblerd -
检测cobbler
执行cobbler check报错如下
解决方法:
再次执行cobbler check
修改配置
- 修改/etc/cobbler/settings中的"server"字段为提供cobbler服务的主机的IP或主机名
sed -i ‘s/^server: 127.0.0.1/server: 192.168.100.128/’ /etc/cobbler/settings - 修改/etc/cobbler/settings中"next_server"为PXE网络上启动服务器的IP(PXE服务器和cobbler在同一主机)
sed -i ‘s/^next_server: 127.0.0.1/next_server: 192.168.231.60/’ /etc/cobbler/settings
-
修改/etc/xinet.d/tftp文件中的disable的参数为no
vim /etc/xinetd.d/tftp
-
执行cobbler get-loaders命令
-
启动rsync服务
systemctl start rsyncd
systemctl enable rsyncd -
修改cobbler中的加密密码(即为自动安装系统后的root登录密码)
#生成加密密码openssl passwd -1 -salt ‘random-phrase-here’ ‘your-password-here’
注:192.168.100.128 本机的账户/密码为:root/root
openssl passwd -1 -salt ‘root’ ‘root’
将生成的加密密码修改为刚刚生成的密码
vim /etc/cobbler/settings,替换后结果如下
-
修改一些其他配置
vim /etc/cobbler/settings
manage_dhcp: 1 #用cobbler管理dhcp
pxe_just_once: 1 #防止循环安装系统,适用于服务器第一启动选项是pxe启动 -
同步cobbler配置
cobbler sync
systemctl restart cobblerd.service -
重新检测cobbler
cobbler check -
配置dhcp
cp /etc/cobbler/dhcp.template{,.bak}
vim /etc/cobbler/dhcp.template
subnet 192.168.100.0 netmask 255.255.255.0 { #设置网段
option routers 192.168.100.2; #设置网关
option domain-name-servers 8.8.8.8,8.8.4.4; #设置dns服务器地址
option subnet-mask 255.255.255.0; #设置子网掩码
range dynamic-bootp 192.168.100.160 192.168.100.200; #设置dhcp服务器IP地址租用的范围
default-lease-time 21600; #默认租约时间
max-lease-time 43200; #最大租约时间
-
同步cobbler配置
cobbler sync -
设置开机自启并重启服务
systemctl enable dhcpd
systemctl enable rsyncd.service
systemctl enable tftp.service
systemctl enable httpd.service
systemctl enable cobblerd.service
systemctl restart tftp.service
systemctl restart dhcpd.service
systemctl restart rsyncd.service
systemctl restart httpd.service
systemctl restart cobblerd.service
挂载光盘镜像
mkdir /iso
mount -t iso9660 -o loop /zoom/CentOS-7-x86_64-Minimal-1908.iso /iso/
导入镜像
cobbler import --path=/iso/ --name=CentOS7.7 --arch=x86_64
查看镜像列表及存放目录
配置ks文件
- 配置自定义ks文件,以sample_end.ks为模板
cd /var/lib/cobbler/kickstarts/
cp sample_end.ks CentOS7.7-x86_64.ks
vim CentOS7.7-x86_64.ks
firewall --disable #关闭防火墙
timezone Asia/Shanghai #设置时区
#autopart #把自动分区注释,手动如下设置
part /boot --fstype=ext4 --asprimary --size=200
part swap --asprimary --size=1024
part / --fstype=ext4 --grow --asprimary --size=10240
%packages #安装需要安装的软件包
$SNIPPET(‘func_install_if_enabled’) #这里默认
%end
解释
–asprimary,强迫把分区分配为主分区,否则提示分区失败.
–fstype=,为分区设置文件系统类型.有效的类型为ext2,ext3,swap和vfat
–grow 让分区自动增长利用可用的磁盘空间,或是增长到设置的maxsize值;
–size= 设置分区的最小值,默认单位为M,但是不能写单位;
%packages部分,这部分选择需要安装的软件包.
- 第一次导入系统镜像后,cobbler会给镜像指定一个默认的kickstart自动安装文件
(/var/lib/cobbler/kickstarts/sample_end.ks)
- 编辑profile,修改关联的ks文件(指定自定义ks文件)
cobbler profile edit --name=CentOS7.7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS7.7-x86_64.ks - 同步数据
cobbler sync
systemctl restart cobblerd.service
修改PXE默认启动选项
默认情况下PXE启动的是Local(启动后会出现local和自定义CentOS7.5-x86_64两个选项,需手动,要无人工干涉,就需要修改)
vim /var/lib/tftpboot/pxelinux.cfg/default,修改后如下图
注:不用cobbler sync,否则会恢复原来的配置
在VMware上模拟测试Cobbler自动安装系统
启动虚拟机
用root登录,密码为192.168.100.128密码(root/root)
参考:(谢谢大神)
https://blog.csdn.net/yuanfangPOET/article/details/89279733