温馨提示×

如何通过Cobbler实现自动化部署

小樊
47
2025-10-05 13:29:08
栏目: 编程语言

一、环境准备 在开始配置前,需完成基础环境准备,确保服务器具备网络、存储及服务运行条件:

  1. 关闭防火墙与SELinux:避免防火墙拦截DHCP、TFTP等服务的通信,禁用SELinux防止权限问题。
    systemctl stop firewalld && systemctl disable firewalld
    setenforce 0
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    
  2. 安装依赖包:通过EPEL源安装Cobbler及关联服务(DHCP、TFTP、HTTP、xinetd等),确保服务间协同工作。
    yum install epel-release -y
    yum install cobbler cobbler-web tftp-server dhcp httpd xinetd pykickstart -y
    
  3. 启动核心服务:启动Cobbler管理服务和HTTP服务(用于托管镜像与Kickstart文件),并设置开机自启。
    systemctl start cobblerd httpd
    systemctl enable cobblerd httpd
    

二、配置Cobbler核心参数 调整Cobbler自身配置,使其适配网络环境与部署需求:

  1. 设置服务器信息:修改/etc/cobbler/settings文件,指定Cobbler服务器IP(server)和TFTP服务器IP(next_server,通常与Cobbler服务器同一IP)。
    cobbler setting edit --name=server --value=192.168.1.100
    cobbler setting edit --name=next_server --value=192.168.1.100
    
  2. 允许动态配置:开启动态修改配置的功能,避免手动重启服务。
    sed -ri '/allow_dynamic_settings:/c\allow_dynamic_settings: 1' /etc/cobbler/settings
    systemctl restart cobblerd
    

三、导入操作系统镜像 将操作系统ISO镜像导入Cobbler,生成可供客户端下载的安装文件(内核、初始化镜像等):

cobbler import --path=/path/to/centos7.iso --name=centos7.9 --arch=x86_64
  • --path:ISO镜像存放路径;
  • --name:镜像名称(后续Profile引用);
  • --arch:系统架构(如x86_64、aarch64)。

四、创建Kickstart自动化配置文件 Kickstart文件是自动化安装的核心,定义了系统分区、软件包、用户设置等参数。示例(CentOS 7):

cat > /var/lib/cobbler/kickstarts/centos7.ks << 'EOL'
# 安装源设置
installurl --url="http://192.168.1.100/cobbler/ks_mirror/centos7.9"
# 根密码(加密形式,可通过`openssl passwd -1`生成)
rootpw --iscrypted $6$your_encrypted_password
# 防火墙关闭
firewall --disabled
# 分区方案
clearpart --all --initlabel
part / --fstype ext4 --size 10240
part swap --size 2048
# 软件包选择
%packages
@^minimal
@core
vim
wget
%end
# 安装后脚本(可选)
%post
echo "System deployed successfully!" > /etc/motd
%end
EOL

五、配置DHCP服务(可选,若Cobbler管理DHCP) 若Cobbler负责管理DHCP,需编辑/etc/cobbler/dhcp.template文件,定义网段、IP范围、引导文件路径等参数:

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.101 192.168.1.200;
    option routers 192.168.1.1;
    option domain-name-servers 8.8.8.8;
    filename "pxelinux.0";
    next-server 192.168.1.100;
}

同步配置至DHCP服务:

cobbler dhcp add --name=default --filename=/var/lib/tftpboot/pxelinux.0 --next-server=192.168.1.100
cobbler sync

六、创建Cobbler Profile与System

  1. 创建Profile:关联操作系统镜像与Kickstart文件,定义安装模板。
    cobbler profile add --name=centos7.9-profile --distro=centos7.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.ks
    
  2. 添加目标系统:为具体客户端创建系统配置,指定MAC地址(实现PXE启动识别)。
    cobbler system add --name=client1 --profile=centos7.9-profile --interface=eth0 --mac=00:11:22:33:44:55 --netboot-enabled=true
    

七、同步配置与启动部署 将Cobbler配置同步至TFTP、HTTP等服务目录,确保客户端能获取所需文件:

cobbler sync

客户端设置:进入BIOS/UEFI,将启动顺序调整为“网络启动(PXE)”优先。重启客户端后,将自动从Cobbler服务器获取IP地址、加载引导文件,按照Kickstart文件完成系统安装。

八、验证与调试

  1. 检查服务状态:确保Cobbler、DHCP、TFTP、HTTP服务均正常运行。
    systemctl status cobblerd dhcpd httpd tftp
    
  2. 查看日志:若部署失败,通过日志定位问题(如/var/log/cobbler/cobbler.log/var/log/messages)。
  3. 测试PXE启动:在客户端查看是否成功获取IP,并加载PXE引导界面。

0