温馨提示×

如何用cobbler管理centos系统

小樊
38
2025-09-26 12:03:24
栏目: 智能运维

一、环境准备

  • 安装EPEL源:确保系统能获取Cobbler及相关依赖包,执行sudo yum install epel-release
  • 关闭SELinux与防火墙:避免拦截PXE/TFTP服务,执行sudo setenforce 0sudo systemctl stop firewalldsudo systemctl disable firewalld;永久禁用SELinux需编辑/etc/selinux/config,将SELINUX=enforcing改为disabled

二、安装Cobbler及依赖

  • 安装核心组件:通过yum安装Cobbler、Web界面、DHCP/TFTP/HTTP服务,执行sudo yum install cobbler cobbler-web dhcp tftp-server httpd xinetd

三、配置Cobbler主参数

  • 编辑主配置文件:修改/etc/cobbler/settings,设置关键参数:
    • server:Cobbler服务器IP地址(如192.168.1.100);
    • next_server:TFTP服务器IP地址(通常与Cobbler服务器一致);
    • manage_dhcp:设为1(让Cobbler自动管理DHCP配置);
    • pxe_just_once:设为1(防止客户端重复PXE引导)。

四、配置DHCP服务

  • 编辑DHCP模板:Cobbler会自动生成DHCP配置(/etc/cobbler/dhcp.template),修改以下内容:
    subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.200; # 客户端IP范围 option routers 192.168.1.1; # 网关 option domain-name-servers 8.8.8.8, 8.8.4.4; # DNS服务器 filename "pxelinux.0"; # PXE引导文件 next-server 192.168.1.100; # Cobbler服务器IP } 
  • 重启DHCP服务:使配置生效,执行sudo systemctl restart dhcpd

五、配置TFTP服务

  • 修改TFTP参数:编辑/etc/xinetd.d/tftp,设置server_args指向TFTP根目录:
    server_args = -s /var/lib/tftpboot 
  • 重启xinetd服务:应用TFTP配置,执行sudo systemctl restart xinetd

六、导入CentOS操作系统镜像

  • 挂载ISO镜像:将CentOS ISO文件(如centos7.iso)复制到服务器并挂载,执行:
    mkdir /mnt/centos_iso mount -o loop /path/to/centos7.iso /mnt/centos_iso 
  • 导入镜像到Cobbler:执行sudo cobbler import --path=/mnt/centos_iso --name=centos7 --arch=x86_64,Cobbler会自动提取内核(vmlinuz)、初始化镜像(initrd.img)并生成对应的distro(如centos7-x86_64)。

七、创建Kickstart自动化配置文件

  • 准备Kickstart文件:在/var/lib/cobbler/kickstarts/下创建自定义配置文件(如centos7.ks),内容需包含分区、用户、密码等自动化参数,示例:
    install url --url="http://$server/cobbler/ks_mirror/centos7" # 指向Cobbler镜像仓库 lang en_US.UTF-8 keyboard us rootpw --iscrypted $6$your_encrypted_password # 加密密码(可通过`openssl passwd -6`生成) firewall --disabled selinux --disabled timezone Asia/Shanghai bootloader --location=mbr clearpart --all --initlabel part / --fstype="xfs" --size=10240 # 根分区10GB part swap --size=2048 # 交换分区2GB %packages @^minimal vim net-tools %end 
  • 关联Kickstart与Profile:创建Cobbler Profile(如centos7-profile)并绑定Kickstart文件,执行:
    sudo cobbler profile add --name=centos7-profile --distro=centos7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.ks 

八、同步配置并启动服务

  • 同步Cobbler配置:将所有修改同步到DHCP、TFTP等服务,执行sudo cobbler sync(此步骤会自动更新TFTP中的引导文件、DHCP配置等)。
  • 启动并启用服务:确保Cobbler、HTTP、DHCP、TFTP服务开机自启,执行:
    sudo systemctl start cobblerd httpd dhcpd xinetd sudo systemctl enable cobblerd httpd dhcpd xinetd 

九、客户端部署与验证

  • 设置客户端PXE启动:进入客户端BIOS/UEFI,将“网络启动(PXE)”设为第一启动项;或使用IPMITOOL远程设置(适用于服务器):
    ipmitool -I lanplus -H <客户端IP> -U <用户名> -P <密码> chassis bootdev pxe ipmitool -I lanplus -H <客户端IP> -U <用户名> -P <密码> power reset 
  • 验证安装:客户端启动后会自动从Cobbler服务器获取IP、内核及Kickstart文件,开始自动化安装。安装完成后,可通过SSH登录客户端,验证系统配置是否符合Kickstart文件设定。

十、高级管理(可选)

  • 添加系统到Cobbler:若需为特定客户端分配固定IP,可使用cobbler system命令:
    sudo cobbler system add --name=test-client --profile=centos7-profile --interface=eth0 --mac=08:00:27:xx:xx:xx --ip-address=192.168.1.150 --netmask=255.255.255.0 --static=1 --gateway=192.168.1.1 --hostname=test-client sudo cobbler sync # 同步配置 
  • 监控安装状态:通过Cobbler Web界面(http://<服务器IP>/cobbler_web)查看系统部署进度、客户端状态等。

0