温馨提示×

如何通过CentOS Cobbler进行网络安装

小樊
38
2025-11-01 15:58:55
栏目: 智能运维

一、环境准备

  1. 基础系统要求:使用CentOS 7/8系统作为Cobbler服务器,确保系统已联网并具备管理员权限(root或sudo权限)。
  2. 关闭安全机制(可选但推荐):
    systemctl stop firewalld && systemctl disable firewalld  # 关闭防火墙
    sed -ri 's/^(SELINUX=).*/\1disabled/g' /etc/selinux/config && setenforce 0  # 关闭SELinux
    
  3. 安装EPEL源(若未安装):
    yum install -y epel-release
    

二、安装Cobbler及相关组件

执行以下命令安装Cobbler核心服务及依赖(包括DHCP、TFTP、HTTP、Kickstart工具):

yum install -y cobbler cobbler-web tftp-server dhcp httpd xinetd pykickstart

三、配置Cobbler主参数

编辑Cobbler主配置文件/etc/cobbler/settings,调整关键参数:

# 设置Cobbler服务器IP(替换为实际IP)
cobbler setting edit --name=server --value=192.168.1.100  
# 设置TFTP服务器IP(通常与Cobbler服务器一致)
cobbler setting edit --name=next_server --value=192.168.1.100  
# 启用Cobbler管理DHCP(避免单独配置DHCP)
cobbler setting edit --name=manage_dhcp --value=1  
# 设置默认root密码(使用openssl生成加密密码,替换YOUR_PASSWORD)
DEFAULT_PW=$(openssl passwd -6 YOUR_PASSWORD) && cobbler setting edit --name=default_password_crypted --value="$DEFAULT_PW"

四、配置DHCP服务(由Cobbler管理)

  1. 编辑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;                    # TFTP服务器IP(与Cobbler服务器一致)
    }
    
  2. 重启DHCP服务
    systemctl enable --now dhcpd
    

五、配置TFTP服务

  1. 编辑TFTP配置文件
    确保TFTP服务指向Cobbler的默认目录(/var/lib/tftpboot):
    sed -i 's/server_args = .*/server_args = -s \/var\/lib\/tftpboot/' /etc/xinetd.d/tftp
    
  2. 重启xinetd服务(TFTP依赖xinetd):
    systemctl enable --now xinetd
    

六、导入操作系统镜像

  1. 挂载CentOS ISO镜像(假设ISO路径为/tmp/CentOS-7-x86_64-DVD-2009.iso):
    mkdir -p /mnt/cdrom && mount -o loop /tmp/CentOS-7-x86_64-DVD-2009.iso /mnt/cdrom
    
  2. 导入镜像到Cobbler(指定名称、架构,生成安装源):
    cobbler import --path=/mnt/cdrom --name=centos7 --arch=x86_64
    
    导入完成后,Cobbler会在/var/www/cobbler/ks_mirror/centos7目录下生成安装文件。

七、创建Kickstart自动化安装文件

  1. 复制默认Kickstart模板
    cp /var/lib/cobbler/kickstarts/sample.ks /var/lib/cobbler/kickstarts/centos7.ks
    
  2. 编辑Kickstart文件(根据需求调整分区、软件包等):
    vi /var/lib/cobbler/kickstarts/centos7.ks
    
    示例内容(精简版):
    install
    url --url=$tree  # 使用Cobbler的HTTP安装源
    lang en_US.UTF-8
    keyboard us
    timezone Asia/Shanghai
    rootpw --iscrypted $default_password_crypted  # 使用之前生成的加密密码
    firewall --disabled
    selinux --disabled
    reboot
    
    %packages
    @core
    vim
    %end
    

八、创建Cobbler系统配置

将操作系统镜像与Kickstart文件关联,创建可部署的系统配置:

cobbler profile edit --name=centos7-x86_64 --distro=centos7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.ks

九、同步Cobbler配置

执行同步命令,应用所有修改(生成PXE启动文件、更新HTTP资源等):

cobbler sync

十、测试网络安装

  1. 配置客户端PXE启动
    在客户端BIOS/UEFI中设置优先从网络启动(PXE)
  2. 启动客户端
    客户端将从Cobbler服务器获取IP地址,加载PXE启动文件,自动执行Kickstart脚本完成CentOS安装。

十一、验证与调试

  1. 检查Cobbler状态
    cobbler check  # 查看未完成的配置项
    systemctl status cobblerd dhcpd xinetd  # 确认服务运行状态
    
  2. 查看日志
    若安装失败,检查Cobbler日志(/var/log/cobbler/cobbler.log)和TFTP日志(/var/log/messages)定位问题。

通过以上步骤,即可实现CentOS系统的Cobbler网络自动化安装。根据实际需求,可调整网络参数、Kickstart配置(如分区方案、软件包选择)以满足不同场景需求。

0