Cobbler自动化批量安装Linux操作系统

安装Cobbler

环境:

  1. 上传镜像
    上传系统安装镜像文件CentOS-7-x86_64-Minimal-1908.iso到/zoom,
    关闭防火墙
    systemctl stop firewalld
    systemctl distable firewalld
    本机ip:192.168.100.128(NAT)

  2. 更新epel第三方软件库
    yum install -y epel-release

  3. 安装Cobble及其它依赖
    yum install cobbler cobbler-web pykickstart httpd dhcp tftp-server -y

  4. 启动相关服务
    systemctl start httpd
    systemctl start cobblerd

  5. 检测cobbler

执行cobbler check报错如下
在这里插入图片描述
解决方法:
在这里插入图片描述
再次执行cobbler check
在这里插入图片描述

修改配置

  1. 修改/etc/cobbler/settings中的"server"字段为提供cobbler服务的主机的IP或主机名
    sed -i ‘s/^server: 127.0.0.1/server: 192.168.100.128/’ /etc/cobbler/settings
  2. 修改/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

  1. 修改/etc/xinet.d/tftp文件中的disable的参数为no
    vim /etc/xinetd.d/tftp
    在这里插入图片描述

  2. 执行cobbler get-loaders命令

  3. 启动rsync服务
    systemctl start rsyncd
    systemctl enable rsyncd

  4. 修改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,替换后结果如下
    在这里插入图片描述

  5. 修改一些其他配置
    vim /etc/cobbler/settings
    manage_dhcp: 1 #用cobbler管理dhcp
    pxe_just_once: 1 #防止循环安装系统,适用于服务器第一启动选项是pxe启动

  6. 同步cobbler配置
    cobbler sync
    systemctl restart cobblerd.service

  7. 重新检测cobbler
    cobbler check

  8. 配置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; #最大租约时间

  1. 同步cobbler配置
    cobbler sync

  2. 设置开机自启并重启服务
    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文件

  1. 配置自定义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部分,这部分选择需要安装的软件包.

  1. 第一次导入系统镜像后,cobbler会给镜像指定一个默认的kickstart自动安装文件
    (/var/lib/cobbler/kickstarts/sample_end.ks)
    在这里插入图片描述
  2. 编辑profile,修改关联的ks文件(指定自定义ks文件)
    cobbler profile edit --name=CentOS7.7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS7.7-x86_64.ks
  3. 同步数据
    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

猜你喜欢

转载自blog.csdn.net/weixin_44157851/article/details/112410616