下面给你一个CentOS 7/8 上使用 Cobbler 做自动化安装(PXE)的实用配置流程,偏“能跑起来”的角度,不是纯文档翻译。
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
yum install -y epel-release
yum install -y cobbler cobbler-web dhcp tftp-server pykickstart httpd xinetd
dnf install -y epel-release
dnf install -y cobbler cobbler-web dhcp-server tftp-server pykickstart httpd xinetd
systemctl enable --now httpd
systemctl enable --now cobblerd
systemctl enable --now xinetd
vi /etc/cobbler/settings
重点修改:
server: 192.168.1.10
next_server: 192.168.1.10
manage_dhcp: 1
manage_tftpd: 1
pxe_just_once: 1
IP 换成你 Cobbler 服务器 IP
openssl passwd -1
把结果填到:
default_password_crypted: "$1$xxx$xxxx"
vi /etc/cobbler/dhcp.template
示例:
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8;
range dynamic-bootp 192.168.1.100 192.168.1.200;
filename "/pxelinux.0";
default-lease-time 21600;
max-lease-time 43200;
}
cobbler sync
mount -o loop CentOS-7-x86_64-DVD.iso /mnt
cobbler import --path=/mnt --name=CentOS-7 --arch=x86_64
查看:
cobbler distro list
vi /var/lib/cobbler/kickstarts/centos7.ks
最简示例:
lang en_US.UTF-8
keyboard us
timezone Asia/Shanghai
rootpw --iscrypted $1$xxx$xxxx
clearpart --all --initlabel
part / --fstype=xfs --size=20000
part swap --size=2048
%packages
@^minimal
%end
cobbler profile edit --name=CentOS-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.ks
cobbler sync
确认:
systemctl status tftp
CentOS-7-x86_64cobbler check
cobbler sync
cobbler list
cobbler distro list
cobbler profile list
❌ SELinux 没关
❌ 防火墙拦了 TFTP
❌ server / next_server 写错
❌ ISO 架构不一致
❌ ks 路径错误
如果你愿意,我可以:
你现在是 CentOS 几?物理机还是虚拟机?