目录
一.什么是PXE
先来讲个概念:
PXE(Preboot Execution Environment,预启动执行环境)是一种使用网络接口卡(NIC)上的固件通过网络启动计算机的环境。它允许计算机在没有本地存储(如硬盘驱动器)或操作系统的情况下启动。PXE技术通常用于无盘工作站或服务器的远程启动和安装操作系统。
PXE工作流程通常如下:
1.启动:计算机启动时,其网络接口卡(NIC)上的PXE固件会检查是否有远程启动指令。
2.DHCP请求:如果检测到远程启动指令,PXE客户端会发送一个DHCP(Dynamic Host Configuration Protocol)请求到网络上的DHCP服务器,请求网络配置信息。
3.DHCP响应:DHCP服务器响应PXE客户端的请求,提供必要的网络配置信息,包括IP地址、子网掩码、默认网关以及一个指向TFTP(Trivial File Transfer Protocol)服务器的地址,该服务器上存放着启动文件。
4.TFTP下载:PXE客户端使用TFTP协议从指定的服务器下载启动文件(如引导加载程序)。
5.启动过程:下载完启动文件后,计算机使用这些文件来启动操作系统或安装程序,或者进入一个特定的管理界面。
二.实验环境
主机使用的是redhat7.9,需要的服务是DHCP,TFTP,APACHE,KICKSTART
首先我们要关闭vmw的dhcp功能,防止我们需要主机分发IP时,vmw分发
system-config-kickstart
将这个本地dhcp服务关闭
一。安装apachhe http服务
dnf install httpd -y
启动http服务
systemctl start httpd
systemctl enable httpd
测试http服务
因为我们需要将镜像分享出去让客户端通过ip来获取,所以要将本地挂载上传到网页上
mkdir /rhel7 #创建一个目录用来挂载
mount /dev/sr0 /rhel7/
然后我们创建一个软链接
ln -s /rhel7/ /var/www/html/
执行这个命令后,
/var/www/html/
目录下会有一个名为rhel7
的符号链接,它指向/rhel7/
目录。当您访问这个链接时,系统会自动跳转到/rhel7/
目录。
然后我们测试一下
完成后我们http部分结束。
二。安装dhcp服务器
yum search dhcp
我们先来找一下dhcp的包
安装这个软件包
yum install dhcp.x86_64 -y
安装并启动
systemctl start dhcpd
systemctl enable dhcpd
查看dhcp安装文件
rpm -qc dhcp
\cp -f /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
然后编辑该文件
三。安装kickstart
[root@hua rhel7]# yum install system-config-kickstart -y
安装好后启动图形化界面
启动 system-config-kickstart
然后添加分区
makdir -p /rhel7
echo mount /dev/sr0 /rhel7 >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
cat >/etc/yum.repos.d/rhel7.repo <<EOF
[rhel7]
name=rhel7
baseurl=file:///rhel7
gpgcheck=0
EOF
yum install nginx -y
将文件保存,以.cfg结尾的文件,我在/root下面文件名为ks.cfg
然后我们测试一下
四。PXE与tftp
搜索yum软件仓,搜索包含pxelinux的软件包。
yum search pxelinux
然后安装这个软件包
yum install syslinux.x86_64 -y
咱们可以查一下这个包里面有啥
rpm -ql syslinux.x86_64
来看一下帮助文档
[root@hua ~]# less /usr/share/doc/syslinux-4.05/pxelinux.txt
安装tftp:为了共享pxelinux.0数据文件的网络服务
[root@hua ~]# yum install tftp-server.x86_64 -y
启动起来
[root@hua ~]# systemctl enable --now tftp
查看安装tftp软件包创建的所有文件及其路径
[root@hua ~]# rpm -ql tftp-server
在/var/lib/tftpboot放置光驱文件
将镜像文件挂载到 /var/lib/tftpboot/
cp /rhel7/isolinux/* /var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
前面提到要创建一个这样的目录
[root@localhost ~]# cd /var/lib/tftpboot/
mkdir pxelinux.cfg
##
cp isolinux.cfg pxelinux.cfg/default
完成后编辑dhcp文件
重启dhcp服务
三.测试
客户机配置
启动:在尝试获取dhcp
获取到后进入开机引导界面
效果不明显的话,我们可以改一下引导界面文字
保存后
四.注意
我们安装完后,记得要改bios
因为不是真实物理机,物理机不用改
完结撒花