centos

centos cobbler自动化部署

小樊
38
2025-10-24 01:12:16
栏目: 智能运维

CentOS Cobbler自动化部署指南

一、环境准备

1. 基础环境配置

2. 安装Cobbler及依赖

Cobbler需要httpd(Web服务)、dhcp(DHCP服务)、tftp-server(TFTP服务)、pykickstart(Kickstart文件生成)等组件,通过以下命令安装:

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

3. 启动核心服务

启动cobblerd(Cobbler主服务)、httpd(提供Kickstart文件与镜像下载)、xinetd(管理TFTP服务),并设置为开机自启:

systemctl start cobblerd httpd xinetd
systemctl enable cobblerd httpd xinetd

二、配置Cobbler核心参数

1. 检查初始配置

运行cobbler check命令,检查系统环境是否满足Cobbler要求(如/var/www/cobbler目录是否存在、dnsmasq是否安装等),并根据提示修复问题(如缺少dnsmasq则运行yum install -y dnsmasq)。

2. 修改基础设置

编辑/etc/cobbler/settings文件,配置Cobbler服务器与TFTP服务器地址(需替换为实际IP):

sed -ri '/^server:/c\server: 192.168.1.100' /etc/cobbler/settings
sed -ri '/^next_server:/c\next_server: 192.168.1.100' /etc/cobbler/settings

3. 启用动态配置

允许Cobbler动态修改配置文件(如DHCP模板),避免手动编辑冲突:

sed -ri '/^allow_dynamic_settings:/c\allow_dynamic_settings: 1' /etc/cobbler/settings
systemctl restart cobblerd

三、配置DHCP与TFTP服务

1. 配置DHCP服务

Cobbler可通过manage_dhcp=1自动管理DHCP,编辑/etc/cobbler/dhcp.template文件,设置网段、网关、DNS及PXE启动参数(需替换为实际网段与IP):

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启动文件名(默认由Cobbler生成)
    next-server 192.168.1.100;                    # TFTP服务器地址
}

启用Cobbler管理DHCP:

cobbler setting edit --name=manage_dhcp --value=1

2. 配置TFTP服务

编辑/etc/xinetd.d/tftp文件,启用TFTP服务(将disable设置为no):

sed -ri '/^disable/c\disable = no' /etc/xinetd.d/tftp
systemctl restart xinetd

四、导入操作系统镜像

将CentOS ISO镜像导入Cobbler,自动生成镜像目录与Kickstart模板。假设ISO文件存放在/mnt目录下:

cobbler import --path=/mnt/CentOS-7-x86_64-DVD-2009.iso --name=centos7 --arch=x86_64

导入完成后,镜像会存储在/var/www/cobbler/ks_mirror/centos7目录下,客户端可通过http://192.168.1.100/cobbler/ks_mirror/centos7访问。

五、创建Kickstart文件

Kickstart文件定义了自动化安装的参数(如分区、软件包、root密码等)。Cobbler自带示例文件,可复制到/var/lib/cobbler/kickstarts/目录下修改:

cp /var/lib/cobbler/kickstarts/sample.ks /var/lib/cobbler/kickstarts/centos7.ks

编辑centos7.ks文件,关键参数说明:

# 安装源(指向Cobbler镜像目录)
installurl --url="http://192.168.1.100/cobbler/ks_mirror/centos7"

# root密码(使用openssl生成加密密码,替换your_encrypted_password)
rootpw --iscrypted $6$your_encrypted_password

# 分区配置(自动清空磁盘并创建根分区、swap分区)
clearpart --all --initlabel
part / --fstype ext4 --size 10240  # 根分区10GB
part swap --size 2048             # swap分区2GB

# 引导加载器配置(安装在MBR)
bootloader --location=mbr

# 防火墙(禁用)
firewall --disabled

# 软件包选择(安装基础系统)
%packages
@base
@core
vim
net-tools
%end

生成加密root密码:使用openssl passwd -6命令生成(如openssl passwd -6 "yourpassword"),替换上述your_encrypted_password

六、创建Cobbler Profile

Profile是Cobbler中连接镜像与Kickstart文件的配置项,定义了客户端的安装模板。运行以下命令创建Profile:

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

七、配置客户端PXE启动

若需批量部署,需确保客户端支持PXE网络启动(进入BIOS/UEFI设置,将“Boot Order”中的“Network Boot”设为第一启动项)。

八、同步配置并启动部署

所有配置完成后,运行cobbler sync命令将设置同步到数据目录(如/var/lib/tftpboot),并更新DHCP模板:

cobbler sync

同步完成后,客户端通过PXE启动时,会自动从Cobbler服务器下载镜像与Kickstart文件,按照配置完成自动化安装。

注意事项

0
看了该问题的人还看了