1.PXE 基础装机环境
- 步骤一:通过 HTTP 方式发布 CentOS7 软件源
此环节可以直接使用网络内共有的 YUM 软件源,比如 CentOS 真机。
1)快速构建 httpd 服务器
[ root@pxe~] # yum - y install httpd //装包
[ root@pxe ~] # systemctl restart httpd //启动服务
[ root@pxe ~] # systemctl enable httpd //设置开机自启
2)准备 yum 仓库,部署到 Web 子目录
[ root@pxe ~] # mkdir /var/www/html/ dvd //建挂载点
[ root@pxe ~] # vim /etc/ fstab
.. ..
/ISO/ CentOS -1804.iso /var/www/html/ dvd iso9660 loop , ro 0
[ root@pxe ~] # mount -a //挂载ISO镜像文件
[ root@pxe ~] # ls
/var/www/html/dvd/ //确认部署位置
- 步骤二:确保 yum 仓库 HTTP 资源可用
从浏览器访问 http://192.168.4.254/dvd/,可看到仓库资源。
2. 配置并验证 DHCP 服务
步骤一:配置 DHCP 服务端
1)安装 dhcp 软件包
[ root@r7 ~] # yum -y install dhcp
2)建立 dhcpd.conf 服务配置
[ root@r7 ~] # vim /etc/dhcp/ dhcpd . conf
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.10 192.168.4.200;
next - server 192.168.4.7;
filename "pxelinux.0";
}
3)启动系统服务 dhcpd,并设置开机自启
[ root@r7 ~] # systemctl restart dhcpd
[ root@r7 ~] # systemctl enable dhcpd
4)确认 dhcpd 服务状态
[ root@r7 ~] # netstat -anptu | grep dhcp
udp 0 0 0.0.0.0:67 0.0.0.0:*
864/ dhcpd
- 步骤二:在客户端测试 DHCP 服务
1)使用 dhclient 命令测试,观察获取 IP 地址的过程
[ root@r207 ~] # dhclient -d eth0
Internet Systems Consortium DHCP Client 4.2.5
Copyright 2004-2013 Internet Systems Consortium .
All rights reserved .
For info , please visit https://www.isc.org/software/dhcp/
.. ..
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
( xid =0x6707682f)
DHCPREQUEST on eth0 to 255.255.255.255 port 67 ( xid =0x6707682f)
DHCPOFFER from 192.168.4.7
DHCPACK from 192.168.4.7 ( xid =0x6707682f)
bound to 192.168.4.10 -- renewal in 18643 seconds .
^ C //按Ctrl+c键退出测试
2)若因操作异常导致 IP 故障,可恢复客户机原有 IP 配置
[ root@r207 ~] # pkill -9 dhclient //杀死dhclient进程
[ root@r207 ~] # nmcli connection up eth0 //激活原配置
.. ..
3.配置 PXE 引导
- 步骤一:快速构建 TFTP 服务器
1)安装 tftp-server 软件包
[ root@r7 ~] # yum - y install tftp-server
2)启动系统服务 tftp,并设置开机自启
[ root@r7 ~] # systemctl restart tftp
[ root@r7 ~] # systemctl enable tftp
Created symlink from
/etc/systemd/system/ sockets.target.wants/tftp.socket to /usr/lib/systemd/system/ tftp.socket.
- 步骤二:部署启动文件
1)拷贝 pxelinux.0 程序,部署到 TFTP 目录
在软件包 syslinux 提供的目录下找到 pxelinux.0 程序
[ root@r7 ~] # yum - y install syslinux
[ root@r7 ~] # rpm - ql syslinux | grep pxelinux.0
/usr/share/syslinux/ gpxelinux .0
/usr/share/syslinux/ pxelinux .0
[ root@r7 ~] # cp /usr/share/syslinux/ pxelinux.0 /var/lib/tftpboot/
[ root@r7 ~] # ls /var/lib/tftpboot/
pxelinux .0
2)拷贝引导装机的内核、初始镜像,部署到 TFTP 目录
[ root@r7 ~] # mkdir /var/lib/tftpboot/ CentOS7
[ root@r7 ~] # cd /var/lib/tftpboot/CentOS7/
[ root@r7 CentOS7 ] # wget http://192.168.4.254/dvd/isolinux/vmlinuz
[ root@r7 CentOS7 ] # wget http://192.168.4.254/dvd/isolinux/initrd.img //下载内核、初始化文件
[ root@svr7 pxeboot ] # ls -R /var/lib/tftpboot/
/var/lib/tftpboot/:
pxelinux .0 CentOS7
/var/lib/tftpboot/ CentOS7 :
initrd . img vmlinuz
- 步骤三:配置启动菜单
1)创建配置目录
[ root@r7 ~] # mkdir /var/lib/tftpboot/ pxelinux.cfg
2)以光盘中的 isolinux 目录为模板,拷贝必要的文件
[ root@r7 ~] # cd /var/lib/tftpboot/
[ root@r7 tftpboot ] # wget http://192.168.4.254/dvd/isolinux/vesamenu.c32 //提供图形支持
[ root@r7 tftpboot ] # wget http://192.168.4.254/dvd/isolinux/splash.png //准备背景图片
[ root@r7 tftpboot ] # wget - O pxelinux .cfg/default http://192.168.4.254/dvd/isolinux/isolinux.cfg //建立菜单配置
[ root@r7 isolinux ] # ls -R /var/lib/tftpboot/ //确认部署结果
/var/lib/tftpboot/:
pxelinux.0 pxelinux.cfg CentOS7 splash.png vesamenu.c32
/var/lib/tftpboot/pxelinux.cfg :
default
/var/lib/tftpboot/CentOS7 :
initrd.img vmlinuz
3)调整启动参数
进入vim模式时,可设置行号(set nu)
[ root@svr7 ~] # vim /var/lib/tftpboot/ pxelinux.cfg/default
default vesamenu.c32 //默认交给图形模块处理
timeout 600 //选择限时为60秒(单位1/10秒)
.. ..
menu title PXE Installation Server //启动菜单标题信息
.. ..
label linux //菜单项标签
menu label ^ Install CentOS7 Linux 7
kernel CentOS7/vmlinuz //内核的位置
append initrd =CentOS7/ initrd.img
inst.stage2 = http://192.168.4.254/dvd //初始镜像、安装源位置
label rescue
menu label ^ CentOS7 system
kernel CentOS7/ vmlinuz
append initrd =CentOS7/initrd.img
inst . stage2 = http://192.168.4.254/dvd rescue
label local //从硬盘启动
menu default //默认启动方式
menu label Boot from ^ local drive
localboot 0xffff
menu end
- 步骤四:访问 TFTP 服务端确保可用
1)在 pc207 上安装 tftp 命令工具
[ root@pc207 ~] # yum -y install tftp
2)在 pc207 上访问 svr7 上的 TFTP 服务端,下载文件测试
[ root@pc207 ~] # tftp 192.168.4.7 -c get pxelinux .0
[ root@pc207 ~] # ls -lh pxelinux .0 //检查下载结果
-rw-r--r-- 1 root root 27k 2月 23 18:27 pxelinux.0
4 . 验证 PXE 网络装机
- 步骤一:新建虚拟机 pxetest
新建一台虚拟机,注意将安装方式选择“网络引导(PXE)”(如图-2 所示)。虚拟
机的其他设置参考:内存 2G、硬盘 20G;网络类型要与 PXE 服务器相同,比如选用
private1 隔离网络。 (用的是vm)
注意:如果是生产环境中已经有系统的客户机,则需要调整 BIOS 设置,将网络引导
作为第一启动设备。
- 步骤二:启动虚拟机 pxetest,验证 PXE 网络安装过程
1)确认启动界面
客户机通过 PXE 引导以后,可以获得服务端提供的配置界面(如图-3 所示)。
2)选择第一个菜单项开始安装 CentOS7 操作系统
成功出现 CentOS7 安装程序的欢迎界面,根据提示选择中文(如图-4 所示)后继续。
3)下一步需手动选择安装源
指定位于 http://192.168.4.254/dvd 的软件仓库,软件选择、安装位置等设置根据
需要指定,确认后继续。
后续过程与正常的光盘安装类似,不再赘述。
顺利操作到这里说明 PXE 网络引导安装的目标已经实现了。