提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
PXE装机(Preboot Execution Environment)是一种无需使用光盘、U盘或其他物理介质,通过网络进行计算机系统安装的方法。它主要依赖于网络引导协议和网络引导服务器。
在PXE装机过程中,计算机首先在开机时通过BIOS或UEFI启动,并通过网络接口卡(NIC)发送一个特定的网络请求,寻找可用的PXE服务器。一旦找到PXE服务器,计算机会通过网络接收来自PXE服务器的引导程序。
PXE服务器通常会配备一个操作系统镜像库,其中包含了多个操作系统的安装镜像。一旦引导程序加载完成,计算机就可以在网络上选择合适的操作系统镜像,并通过网络下载到计算机内存中进行安装。
PXE装机的好处是节省了大量的物理介质和手动安装操作的时间和工作量。它尤其适用于需要批量安装计算机系统的场景,如企业级IT部门、数据中心等。
要使用PXE装机,需要满足以下条件:
-
一台或多台能够提供PXE服务的服务器,通常使用专用的PXE服务器软件。
-
网络环境,包括一个可用的网络接口卡和网络连接,以及正确配置的子网、网关和DNS服务器。
-
安装镜像库,包含了要安装的操作系统的镜像文件。
-
客户端计算机上的BIOS或UEFI配置,需启用PXE网络引导选项。
一旦满足了以上条件,就可以通过PXE装机系统来自动化和简化计算机系统的安装过程。
提示:以下是本篇文章正文内容,下面案例可供参考
一、PXE是什么
批量装机系统,网络安装linux操作系统。需要客户端的网卡支持pxe网络启动。
Kickstart:是一种无人值守的安装方式,提前定义好Linux安装过程的配置文件,名为 ks.cfg,这个文件预先定义了安装要求从而进行自动化安装;
PXE:预启动执行环境 是由Intel公司开发的最新技术,工作与C/S的网络模式,支持从 远端下载镜像,并由此支持通过网络启动操作系统;
二、PXE的组件
- vsftpd/httpd/nfs
负责提供系统的安装文件
- tftp
负责提供系统安装前的引导文件与内核文件
- dhcp
负责提供客户端的IP地址分配与pxe引导文件,及pxe服务器地址
三、配置vsftpd
关闭防火墙与selinux
![](https://file.jishuzhan.net/article/1697701623595274241/553f0807ff0c43bebe501c6f53ab8a74.png)
![](https://file.jishuzhan.net/article/1697701623595274241/7308e6688a044d62ae835ed21065ef58.png)
配置本地yum源
![](https://file.jishuzhan.net/article/1697701623595274241/b6dd148b4a2c44b394caeb8511b191a7.png)
![](https://file.jishuzhan.net/article/1697701623595274241/b7bde8dcfa4641d2af939591e1a21d71.png)
![](https://file.jishuzhan.net/article/1697701623595274241/6865c6a16c894f37ba17bcf90156adfd.png)
配置本机静态IP
![](https://file.jishuzhan.net/article/1697701623595274241/46e61b6f564645bbbb2a4ae4f3575209.png)
![](https://file.jishuzhan.net/article/1697701623595274241/8d80eb0a6131402191c3b262312bd6a2.png)
![](https://file.jishuzhan.net/article/1697701623595274241/f9509a754f844dc3aa3ef9dcb11afdbe.png)
安装vsftpd
![](https://file.jishuzhan.net/article/1697701623595274241/a7434ffc458543b2bdf3dba9bd10ec75.png)
启动vsftpd
![](https://file.jishuzhan.net/article/1697701623595274241/6bf72be9ac944211ad65dc69562eff1f.png)
拷贝系统文件到/var/ftp/
四、配置tftp
安装tftp-server
yum install -y tftp-server
![](https://file.jishuzhan.net/article/1697701623595274241/e6981c3bdfca4452a31abd30d8baf497.png)
启动tftp
![](https://file.jishuzhan.net/article/1697701623595274241/2398e4db99e64e398e6d003a53ad0ba1.png)
vim /etc/xinit.d/tftp
disable=no
systemctl start tftp
![](https://file.jishuzhan.net/article/1697701623595274241/95b443b29c3c4dfc8ccc46e67160886a.png)
![](https://file.jishuzhan.net/article/1697701623595274241/3dd87e9bccb24ea39ff7db339413b7ef.png)
![](https://file.jishuzhan.net/article/1697701623595274241/5cb904801baf445e87f93c6e52908187.png)
五、准备pxelinx.0文件、引导文件、内核文件
准备pxelinux.0文件
yum install -y syslinux
![](https://file.jishuzhan.net/article/1697701623595274241/bbdaa57894e94605b6a2632ed569dd4c.png)
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
![](https://file.jishuzhan.net/article/1697701623595274241/bf1ab30f924d4fc1aea01318a21fd947.png)
准备引导文件、内核文件
cd /光盘挂载路径/images/pxeboot/
cp initrd.img vmlinuz /var/lib/tftpboot
六、配置dhcp
安装dhcp服务
yum install -y dhcp
![](https://file.jishuzhan.net/article/1697701623595274241/60f67ea5509c4bea9a4f40f9a622596a.png)
配置dhcp配置文件
cd /etc/dhcp/
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim dhcpd.conf
找到subnet字段,分别把2行、4行、5行对应的行数subnet全部删除。保留一下subnet:
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.10 192.168.100.20;
option domain-name-servers ns1.internal.example.org;
option domain-name "internal.example.org";
option routers 192.168.100.254;
option broadcast-address 192.168.100.255;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.100.254;
filename "pxelinux.0";
}
![](https://file.jishuzhan.net/article/1697701623595274241/5d5c7777cda14f12844bce937e0e7783.png)
![](https://file.jishuzhan.net/article/1697701623595274241/120eb86d5c8d4eaf973613997d5f58eb.png)
启动dhcp服务
systemctl start dhcpd
![](https://file.jishuzhan.net/article/1697701623595274241/52dd62d04bbf427ab5bbe520f6df4148.png)
七、创建default文件
更改挂载
![](https://file.jishuzhan.net/article/1697701623595274241/24713437b1cb4564ad3782c9f722acc5.png)
cd /var/lib/tftpboot
![](https://file.jishuzhan.net/article/1697701623595274241/5c422bcfa245455db6cb529229bb40d6.png)
mkdir pxelinux.cfg
cd pxelinux.cfg
![](https://file.jishuzhan.net/article/1697701623595274241/7b1436d944f347298577315560883e33.png)
vim default
default auto 默认安装标签
prompt 1 等待用户确认,1表示等待,0表示不等待
label auto 定义标签
kernel vmlinuz 指定内核
append initrd=initrd.img method=ftp://192.168.100.254/pub 指定引导镜像文件与系统安装文件
![](https://file.jishuzhan.net/article/1697701623595274241/840708376f5f415fbc77d927ea91744b.png)
![](https://file.jishuzhan.net/article/1697701623595274241/5504e1dadd7c400e804dc15abfb4cff1.png)
测试
重新建一个虚拟机------设置网络适配器为vmnet2------开机
加载完成后会显示以下界面,说明交互式完成
![](https://file.jishuzhan.net/article/1697701623595274241/648077cb0db34874a386c7e0fd6b8e4c.png)
八、配置pxe无人值守安装
配置ks文件
(1)修改配置文件
vim /root/anaconda-ks.cfg
(2)使用图形界面配置
yum install -y system-config-kickstart.noarch
![](https://file.jishuzhan.net/article/1697701623595274241/d9cf6d68a24145f5aac64ab9a7ee132e.png)
system-config-kickstart
弹出kickstart的配置界面
![](https://file.jishuzhan.net/article/1697701623595274241/824e6e6bb5124edaab1eb80b04cabb52.png)
基本配置【默认语言】------【时区】------【Root密码】------安装后重启;
![](https://file.jishuzhan.net/article/1697701623595274241/4d1e88f9612848edac8c0ba6c6029a8c.png)
选择【安装方法】-【安装方法-FTP】-配置FTP服务器与目录;
![](https://file.jishuzhan.net/article/1697701623595274241/fd2e6151c0734371a005177e06c13e41.png)
配置分区信息,确认是否删除现存分区,设置新的分区;
![](https://file.jishuzhan.net/article/1697701623595274241/f11c27d7d738444082d6ce64716de713.png)
设置网络配置,选择【添加网络设备】------网络设备:ens33;
![](https://file.jishuzhan.net/article/1697701623595274241/ad2bec8318734c44b0783c8fc5914f7b.png)
修改防火墙配置,默认防火墙禁用;
![](https://file.jishuzhan.net/article/1697701623595274241/8811834780b44eeeaf9a5f1a484059ba.png)
默认安装图形化界面,可以取消;
![](https://file.jishuzhan.net/article/1697701623595274241/1f2830fa43bc4b2db62317295c878be2.png)
其他的可以不用改,配置完成后,保存ks.cfg文件到对应的ftp路径;
![](https://file.jishuzhan.net/article/1697701623595274241/02fc57cb230e4deb9a8f2e4fa1efe8b7.png)
文件保持路径为:/root,名称为ks.cfg;
![](https://file.jishuzhan.net/article/1697701623595274241/d075f53a99c74d8eb7cadd26de97cc6d.png)
保存完成后,查看
![](https://file.jishuzhan.net/article/1697701623595274241/e02ddd44be1d4741b9c6a030981373c8.png)
从/root/anaconda-ks.cfg文件中拷贝软件安装字段到ks.cfg
![](https://file.jishuzhan.net/article/1697701623595274241/f23b904d717c415c96f93a574b2ed750.png)
%packages
@^graphical-server-environment
@base
@core
@desktop-debugging
@development
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@hardware-monitoring
@input-methods
@internet-browser
@multimedia
@print-client
@x11
%end
![](https://file.jishuzhan.net/article/1697701623595274241/45c7f724f5fc470685a41a4c1e647554.png)
![](https://file.jishuzhan.net/article/1697701623595274241/7336e3bc4fb64886a3dfc46c3f9c6617.png)
cp /root/ks.cfg /var/ftp
![](https://file.jishuzhan.net/article/1697701623595274241/cac9cee83a114b7f8f0cc9e5c5054ac7.png)
- 修改default文件
default auto
prompt 0
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.100.254/pub ks=ftp://192.168.44.128/ks.cfg
![](https://file.jishuzhan.net/article/1697701623595274241/239736a634224962aa54afd16f519cb9.png)
![](https://file.jishuzhan.net/article/1697701623595274241/9e66a4a571ef46f19a2b1b4b76385ad7.png)
九、开启客户端验证
经过长时间的等待
输入用户名,密码登录
![](https://file.jishuzhan.net/article/1697701623595274241/d8aee80ff7384dc294543fef491c8d86.png)
总结
以上就是今天的内容及详细的操作步骤,按照上面的步骤操作,是没有任何问题的。