适用场景:大规模安装linux服务器,需要安装过程统一且标准化
过程:1. 需要一个DHCP服务器
yum install dhcp
cd /usr/share/doc/dhcp-xx/
cp dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
---
#/etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 10.11.11.0 netmask 255.255.255.0{
range 10.11.11.26 10.11.11.30; // 要改成自己用的
option routers 10.11.11.254;
option broadcast-address 10.11.11.255;
default-lease-time 600;
max-lease-time 7200;
next-server 10.11.11.1; // 指定PXE引导服务器 就是当前服务器ip
filename "pxelinux.0"; // 指定引导文件
}
Q: 这个配置文件的每一行什么意思,配置什么的
---
systemctl start dhcp
systemctl status dhcpd.service
2. tftp和syslinux
tftp 用于远程linux的引导
syslinux提供引导块,引导模块的远程启动服务
yum install tftp-server syslinux
vim /etc/xinetd.d/tftp
把disable=yes改成no
顺便,server的目录是tftp共享的目录
systemctl restart xinetd
netstat -aupn |grep 69
cd /var/lib/tftpboot // tftp的根目录
cp /usr/share/syslinux/pxelinux.0 ./
// 以下是系统光盘的内容
cp /var/ftp/yum/isolinux/vmlinuz ./
inittrd.img
vesamenu.c32
boot.msg
// 然后编辑启动菜单配置文件
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /var/ftp/yum/isolinux/isolinux.cfg pxelinux.cfg/default
vim 这个default
在label linux行前添加
label centos
menu label ^Install CentOS7.1
menu default
kernel vmlinuz
// 目标是ftpxxx 自动化脚本配置文件是xxxks什么的
append initrd=initrd.img inst.stage2=ftp://10.11.11.1/yum inst.ks=ftp://10.11.11.1/ks.cfg.quiet
然后删了menu label Test this ^ media & install CentOS7前面的menu default行删了
3.安装kickstart
yum install system-config-kickstart
system-config-kickstart
kickstart不能配置软件包安装
ks.cfg加上@packages@end之后,保存到/var/ftp
firewall-cmd --permanent --add-port=69/udp
--add-service=dhcp
ftp
--reload
新建的主机自动就默认去用PXE了……猜测是整个网段都会自动走这个流程0 v 0