3.1 问题
本例要求为PXE装机提供引导服务,并提供必要的素材,完成下列任务:
1. 启用TFTP服务器,部署引导文件(内核vmlinuz、初始文件initrd.img、网卡启动程序
pxelinux.0)
2. 创建pxelinux.cfg/配置目录,在此目录下建立默认引导文件default
3.2 方案
TFTP,Trivial File Transfer Protocol:简单文件传输协议,通过UDP 69端口提供小文件的传输服
务,默认应将资源部署到/var/lib/tftpboot目录下,不支持认证和目录访问等复杂FTP操作。
网卡启动程序pxelinux.0由软件包syslinux提供。
PXE安装用的内核及初始化文件可从CentOS7的光盘目录/images/pxeboot/下提取。
PXE启动配置相关资料可参考CentOS7的光盘目录/isolinux/,其中包括图形支持模块
vesamenu.c32、背景图片spash.png、菜单配置文件isolinux.cfg(使用时改名为default)。
3.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:快速构建TFTP服务器
1)安装tftp-server软件包
2)启动系统服务tftp,并设置开机自启
步骤二:部署启动文件
1)拷贝pxelinux.0程序,部署到TFTP目录
在软件包syslinux提供的目录下找到pxelinux.0程序
01.
[root@pc207 ~]# pkill -9 dhclient //杀死dhclient进程
02.
[root@pc207 ~]# nmcli connection up eth0 //激活原配置
03.
.. ..
01.
[root@svr7 ~]# yum -y install tftp-server
02.
.. ..
01.
[root@svr7 ~]# systemctl restart tftp
02.
[root@svr7 ~]# systemctl enable tftp
03.
Created symlink from /etc/systemd/system/sockets.target.wants/tftp.socket to /usr/
Top将其拷贝到/var/lib/tftpboot/目录下,确认部署结果:
2)拷贝引导装机的内核、初始镜像,部署到TFTP目录
当文件较多时,可以在TFTP目录下创建子目录:
再通过CentOS7光盘目录找到PXE版内核vmlinuz、初始镜像initrd.img,将其拷贝到上述子目
录:
确认部署结果:
步骤三:配置启动菜单
1)创建配置目录
01.
[root@svr7 ~]# yum -y install syslinux
02.
[root@svr7 ~]# rpm -ql syslinux | grep pxelinux.0
03.
/usr/share/syslinux/gpxelinux.0
04.
/usr/share/syslinux/pxelinux.0
01.
[root@svr7 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
02.
[root@svr7 ~]# ls /var/lib/tftpboot/
03.
pxelinux.0
01.
[root@svr7 ~]# mkdir /var/lib/tftpboot/CentOS7
01.
[root@svr7 ~]# cd /var/lib/tftpboot/CentOS7/
02.
[root@svr7 CentOS7]# wget http://192.168.4.254/dvd/isolinux/vmlinuz
03.
[root@svr7 CentOS7]# wget http://192.168.4.254/dvd/isolinux/initrd.img
04.
//下载内核、初始化文件
01.
[root@svr7 pxeboot]# ls -R /var/lib/tftpboot/
02.
/var/lib/tftpboot/:
03.
pxelinux.0 CentOS7
04.
05.
/var/lib/tftpboot/CentOS7:
06.
initrd.img vmlinuz
Top2)以光盘中的isolinux目录为模板,拷贝必要的文件
3)调整启动参数
01.
[root@svr7 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
01.
[root@svr7 ~]# cd /var/lib/tftpboot/
02.
[root@svr7 tftpboot]# wget http://192.168.4.254/dvd/isolinux/vesamenu.c32
03.
//提供图形支持
04.
[root@svr7 tftpboot]# wget http://192.168.4.254/dvd/isolinux/splash.png
05.
//准备背景图片
06.
07.
[root@svr7 tftpboot]# wget -O pxelinux.cfg/default http://192.168.4.254/dvd/isolinux/isolinux.cfg
08.
//建立菜单配置
09.
[root@svr7 isolinux]# ls -R /var/lib/tftpboot/ //确认部署结果
10.
/var/lib/tftpboot/:
11.
pxelinux.0 pxelinux.cfg CentOS7 splash.png vesamenu.c32
12.
13.
/var/lib/tftpboot/pxelinux.cfg:
14.
default
15.
16.
/var/lib/tftpboot/CentOS7:
17.
initrd.img vmlinuz
01.
[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
02.
default vesamenu.c32 //默认交给图形模块处理
03.
timeout 600 //选择限时为60秒(单位1/10秒)
04.
.. ..
05.
menu title PXE Installation Server //启动菜单标题信息
06.
.. ..
07.
label linux //菜单项标签
08.
menu label ^Install CentOS7 Linux 7
09.
kernel CentOS7/vmlinuz //内核的位置
10.
append initrd=CentOS7/initrd.img inst.stage2=http://192.168.4.254/dvd
11.
//初始镜像、安装源位置
12.
label rescue
Top步骤四:访问TFTP服务端确保可用
1)在pc207上安装tftp命令工具
2)在pc207上访问svr7上的TFTP服务端,下载文件测试
网友评论