centos cobbler自动化部署
CentOS Cobbler自动化部署指南
一、环境准备
1. 基础环境配置
- 关闭防火墙与SELinux:避免防火墙拦截PXE请求,SELinux影响服务运行。
systemctl stop firewalld & & systemctl disable firewalld setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config - 安装EPEL源:Cobbler依赖的软件包多来自EPEL仓库,需提前安装。
yum install -y epel-release
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
server:Cobbler服务器的IP地址(用于客户端访问Web界面与下载镜像)。next_server:TFTP服务器的IP地址(用于传输PXE启动文件,通常与Cobbler服务器IP一致)。
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
--path:ISO文件的挂载路径。--name:镜像名称(后续创建Profile时使用)。--arch:系统架构(x86_64或i386)。
导入完成后,镜像会存储在/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
--name:Profile名称(客户端将通过此名称识别安装模板)。--distro:导入的镜像名称(cobbler import时指定的--name)。--kickstart:Kickstart文件的路径。
七、配置客户端PXE启动
若需批量部署,需确保客户端支持PXE网络启动(进入BIOS/UEFI设置,将“Boot Order”中的“Network Boot”设为第一启动项)。
八、同步配置并启动部署
所有配置完成后,运行cobbler sync命令将设置同步到数据目录(如/var/lib/tftpboot),并更新DHCP模板:
cobbler sync
同步完成后,客户端通过PXE启动时,会自动从Cobbler服务器下载镜像与Kickstart文件,按照配置完成自动化安装。
注意事项
- 网络环境:确保Cobbler服务器与客户端在同一局域网,避免DHCP冲突(若有多个DHCP服务器,需关闭其他DHCP服务)。
- 镜像验证:导入镜像后,可通过
http://192.168.1.100/cobbler/ks_mirror/centos7访问镜像目录,确认文件完整性。 - 日志排查:若部署失败,可查看
/var/log/cobbler/cobbler.log与/var/log/messages日志文件,定位问题原因。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos cobbler自动化部署
本文地址: https://pptw.com/jishu/734440.html
