PXE安装指导

1. 引言

1.1.简介

PXE 的全称是 preboot execute environment,也被称为预执行环境,提供了一种使用网络接口(NetworkInterface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。

2. 服务端部署 PXE

2.1.部署 PXE 组件

安装 PXE 组件

yum install dhcp-server nfs-utils xinetd tftp-server syslinux-nonlinux syslinux

2.2.修改 dhcp 服务配置文件

编辑配置文件/etc/dhcp/dhcpd.conf

vim /etc/dhcp/dhcpd.conf

添加如下内容,注意根据实际情况修改配置文件里面的 IP 以及去掉#号后面内容。

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 172.25.0.0 netmask 255.255.255.0 {
    
    
option routers 172.25.0.130;
range 172.25.0.10 172.25.0.160;
filename "pxelinux.0";
next-server 172.25.0.130;
}

2.3.增加 tftp 服务配置文件

编辑配置文件/etc/xinetd.d/tftp

vim /etc/xinetd.d/tftp

添加如下内容。

service tftp
{
    
    
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}

2.4.编辑 nfs 服务配置文件

创建数据挂载点

mkdir /mnt/ks /mnt/install

修改配置文件 /etc/exports
添加如下内容

/mnt/ks *(rw)
/mnt/install/ *(rw)

挂载镜像

mount -o loop uniontechos-server-20-1050a-amd64.iso /mnt/install

复制 PXE 需要的内容到挂载点

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /mnt/install/images/pxeboot/vmlinuz /var/lib/tftpboot/
cp /mnt/install/images/pxeboot/initrd.img /var/lib/tftpboot/
cp /mnt/install/isolinux/*.msg /var/lib/tftpboot/
cp /usr/share/syslinux/ldlinux.c32 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /mnt/install/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
修改 default 以及添加 label
vim /var/lib/tftpboot/pxelinux.cfg/default 

修改 配 置 文 件 /mnt/ks/ks.cfg ( 注 : ks.cfg 是 从 客 户 端安装的操作系统下/root/anaconda-ks.cfg 复制的)

vim /mnt/ks-file/ks.cfg

修改内容如下,IP 地址按照实际情况修改。
(注:下面 ks.cfg 是模板,您的 ks.cfg 文件关于红色标注的地方为需要修改,repo 是您使用的仓库,nfs 是挂载的镜像地址,reboot 是系统重启。)

#version=RHEL8
#Use graphical install
graphical
repo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
repo --name="kernel419" --baseurl=file:///run/install/repo/kernel419
%packages
@^graphical-server-environment-dde
%end
#Keyboard layouts
keyboard --xlayouts='cn' 
# System language
lang zh_CN.UTF-8
#Network information
network --hostname=localhost.localdomain
#Use CDROM installation media
#cdrom
nfs --server=172.25.0.130 --dir=/mnt/installrepo
#Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=nvme0n1
autopart
#Partition clearing information
clearpart --all --initlabel --drives=nvme0n1
#System timezone
timezone Asia/Beijing --isUtc
#Root password
rootpw --iscrypted$6$JVBENxQxzikvHUcs$Aw/O01vHsTBi/EWHJa.rr60X0K0ExBBI4oivEFU6iOcUlWnldsQV5aSfF0TAgrKODgmn0zAaofs/pQdTk6q/H1
user --groups=wheel --name=aa --password=$6$wQLg6moTK5U/t7Pq$3ChuYx3EJQ2mRJeKnGs5d5sOZxP9Zgm2GdV3r
GCCxtl2Fla9j49fKVmIR9KMR05bmT1CO6GNUFIb8zuhddqaW. --iscrypted --gecos="aa" 

%addon com_redhat_kdump --enable --reserve-mb='auto' 

%end

%anaconda
pwpolicy root --minlen=8 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy user --minlen=8 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
reboot

2.5.PXE 相关服务启动

关闭防火墙

systemctl disable firewalld --now

启动 PXE 相关服务

systemctl restart dhcpd
systemctl restart nfs-server.service
systemctl restart xinetd.service
systemctl restart tftp

查看 PXE 相关服务状态

systemctl status dhcpd
systemctl status nfs-server.service
systemctl status xinetd.service
systemctl status tftp

3. 客户端开始安装

客户端与服务端需要在同一局域网内,且局域网内无其他 dhcpd 服务影响PXE部署,或者客户端与服务端网口直连,然后客户端启动时 BIOS选择网络启动即可实现

猜你喜欢

转载自blog.csdn.net/qq_51228157/article/details/126060832