CentOS Cobbler与PXE启动如何配合
导读:CentOS Cobbler与PXE启动配合指南 Cobbler是CentOS下实现Linux系统自动化部署的工具,通过PXE(网络启动)协议,客户端可从网络获取引导文件和安装镜像,无需手动安装介质。以下是两者配合的具体步骤: 一、准备工作...
CentOS Cobbler与PXE启动配合指南
Cobbler是CentOS下实现Linux系统自动化部署的工具,通过PXE(网络启动)协议,客户端可从网络获取引导文件和安装镜像,无需手动安装介质。以下是两者配合的具体步骤:
一、准备工作
- 安装依赖包:在Cobbler服务器上安装Cobbler及所需组件(包括DHCP、TFTP、HTTP等服务):
sudo yum install -y cobbler cobbler-web tftp-server dhcp httpd xinetd pykickstart
- 关闭防火墙与SELinux(测试环境可选,生产环境需谨慎):
sudo systemctl stop firewalld & & sudo systemctl disable firewalld sudo setenforce 0
- 配置网络接口:确保服务器网络接口(如
eth0
)开启DHCP和TFTP服务:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 # 修改以下参数 BOOTPROTO=dhcp ONBOOT=yes
二、配置Cobbler服务
- 启动并启用Cobbler:
sudo systemctl start cobblerd & & sudo systemctl enable cobblerd
- 修改Cobbler主配置文件(
/etc/cobbler/settings
):
关键参数设置如下(替换为服务器实际IP):server: 192.168.1.100 # Cobbler服务器IP next_server: 192.168.1.100 # TFTP服务器IP(通常与Cobbler服务器一致) manage_dhcp: 1 # 让Cobbler管理DHCP配置(简化操作) manage_tftp: 1 # 让Cobbler管理TFTP服务 pxe_just_once: 1 # 防止客户端重复PXE启动
三、配置DHCP服务
DHCP服务需为客户端分配IP,并告知其PXE引导文件的路径和TFTP服务器地址。
编辑/etc/dhcp/dhcpd.conf
(若使用dhcpd.template
,可通过cobbler dhcp
命令生成),添加以下内容:
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服务器)
}
重启DHCP服务使配置生效:
sudo systemctl restart dhcpd
四、配置TFTP服务
TFTP服务用于存储和传输PXE引导文件及操作系统镜像。
编辑/etc/xinetd.d/tftp
,将disable
设置为no
以启用TFTP:
service tftp {
socket_type = dgram
protocol = udp
wait = yes
user = root
group = root
server = /usr/sbin/tftp
server_args = -s /var/lib/tftpboot # TFTP根目录
disable = no
}
重启xinetd服务:
sudo systemctl restart xinetd
五、准备PXE引导文件
- 复制引导文件:Cobbler自带PXE引导文件,将其复制到TFTP根目录:
sudo cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ sudo cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/ # 可选:支持菜单界面
- 创建PXE菜单配置文件:在TFTP根目录下创建
pxelinux.cfg/default
,定义启动菜单:default menu.c32 prompt 0 timeout 300 menu title PXE Boot Menu label Install CentOS 7 kernel centos7-1810/vmlinuz append initrd=centos7-1810/initrd.img method http://192.168.1.100/centos7-1810/ label Install CentOS 8 kernel centos8-8.5.2111/vmlinuz append initrd=centos8-8.5.2111/initrd.img method http://192.168.1.100/centos8-8.5.2111/
注:
kernel
和initrd
路径需与后续导入的操作系统镜像路径一致。
六、导入操作系统镜像
通过Cobbler导入CentOS ISO镜像,自动生成Kickstart配置和镜像文件:
# 假设ISO文件存放在/tmp目录下
sudo cobbler import --path=/tmp/CentOS-7-x86_64-1810.iso --name=centos7-1810 --arch=x86_64
sudo cobbler import --path=/tmp/CentOS-8-x86_64-8.5.2111.iso --name=centos8-8.5.2111 --arch=x86_64
导入完成后,Cobbler会将镜像解压到/var/www/cobbler/ks_mirror/
目录,并生成对应的Kickstart模板。
七、创建Cobbler配置文件
为每个操作系统创建Profile(配置文件),关联镜像与Kickstart脚本:
# 示例:创建CentOS 7 Profile
sudo cobbler profile add \
--name=centos7-1810 \
--distro=centos7-1810-x86_64 \
--kickstart=/var/lib/cobbler/kickstarts/centos7.ks # Kickstart脚本路径
# 示例:创建CentOS 8 Profile
sudo cobbler profile add \
--name=centos8-8.5.2111 \
--distro=centos8-8.5.2111-x86_64 \
--kickstart=/var/lib/cobbler/kickstarts/centos8.ks
注:Kickstart脚本(如centos7.ks
)需提前编写,定义系统安装过程中的分区、用户、软件包等配置。
八、启用PXE启动并同步配置
- 设置客户端PXE启动:通过Cobbler命令启用客户端的PXE启动功能:
sudo cobbler system add \ --name=test-pc \ --profile=centos7-1810 \ --netboot-enabled=true # 开启网络启动
- 同步配置:将所有更改同步到Cobbler的数据目录(如TFTP、HTTP根目录):
sudo cobbler sync
九、测试PXE启动
- 配置客户端:将客户端的BIOS/UEFI设置为网络启动优先(PXE启动顺序高于本地硬盘)。
- 启动客户端:客户端将通过DHCP获取IP,从TFTP服务器下载
pxelinux.0
引导文件,进入PXE菜单,选择对应的操作系统进行自动安装。
通过以上步骤,Cobbler与PXE启动配合完成,可实现CentOS系统的自动化网络部署,大幅减少手动安装工作量。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Cobbler与PXE启动如何配合
本文地址: https://pptw.com/jishu/727248.html