一、搭建 PXE 远程安装服务器
1.安装TFTP服务
yum -y install tftp-server xinetd
2.修改TFTP服务的配置文件并启动
vim /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = no
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
启动tftp服务
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd
3.安装DHCP服务,修改配置文件并启动
yum -y install dhcp
.修改DHCP配置文件并启动服务
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf.bak
vim /etc/dhcp/dhcpd.conf
next-server 192.168.1.140;
filename "pxelinux.0";
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.1.1 netmask 255.255.255.255 {
}
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.88 192.168.1.188;
option routers 192.168.1.140;
}
修改完成文件后保存退出,启动dhcp服务
systemctl start dhcpd
4.准备 Linux 内核、初始化镜像文件
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/ #复制 Linux系统的内核文件 到TFTP根目录下
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/ #复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下
5.准备 PXE 引导程序
yum -y install syslinux #PXE引导程序由软件包 syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #复制 PXE引导程序 到TFTP根目录下
6.安装FTP服务,准备CentOS 7 安装源
yum -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7/
systemctl start vsftpd
7. 配置启动菜单文件
默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default
mkdir /var/lib/tftpboot/pxelinux.cfg #需要在ftfpboot目录下创建pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default #在pxelinux.cfg目录下创建default并编辑配置文件
default auto
prompt 0
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.42.140/centos7 ks=ftp://192.168.42.140/ks.cfg
#图形安装(默认)引导入口
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.42.140/centos7
#文本安装引导入口
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.42.140/centos7
#救援模式引导入口
8.关闭防火墙,验证 PXE 网络安装
systemctl stop firewalld && systemctl disable firewalld
setenforce 0