配置PXE引導

3案例3:配置PXE引導

3.1 問題

本例要求爲PXE裝機提供引導服務,並提供必要的素材,完成下列任務:

  1. 啓動TFTP服務,部署引導文件(內核vmlinuz、初始化文件initrd.img、網卡啓動程序pxelinux.0)
  2. 創建pxelinux.cfg/配置目錄,在此目錄下建立默認引導文件default
3.2 方案

TFTP,Trival File Transfer Protocol:簡單文件傳輸信息,通過UDP 69端口提供小文件的傳輸服務,默認應將資源部署到/var/lib/tftpboot目錄下,不支持認證和目錄訪問等複雜FTP操作。
網卡啓動程序pxelinux.0由軟件包syslinux提供。
PXE安裝用的內核及初始化文明可從RHEL7的光盤目錄/images/pxeboot/下提取。
PXE啓動配置相關資料可參考RHEL7的光盤目錄/isolinux/,其中包括圖形我餓反面支持模塊vesamenu.c32、背景圖片spash.png、菜單配置文件isolinux.cfg(使用時改名爲default)

3.3 步驟

實現此案例需要按照如下步驟進行。

步驟一:快速構建服務器

1)安裝tftp-server軟件包

[root@svr7 ~]# yum -y install tftp-server 
.. ..

2)啓動系統服務tftp,並設置開機自啓

[root@svr7 ~]# systemctl  restart  tftp
[root@svr7 ~]# 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@svr7 ~]# yum  -y  install  syslinux
[root@svr7 ~]# rpm  -ql  syslinux  |  grep pxelinux.0
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0

將其拷貝到/var/ftpboot/目錄下,確認部署結果:

[root@svr7 ~]# cp  /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/
[root@svr7 ~]# ls  /var/lib/tftpboot/
pxelinux.0

2)拷貝引導裝機的內核、初始鏡像,部署到TFTP目錄
當文件較多時,可以在TFTP目錄下創建子目錄:

[root@svr7 ~]# mkdir  /var/lib/tftpboot/rhel7

再通過RHEL7光盤目錄找到PXE版內核vmlinuz、初始化鏡像intrd.img,將其拷貝到上述子目錄:

[root@svr7 ~]# cd  /var/lib/tftpboot/rhel7/
[root@svr7 rhel7]# wget  http://192.168.4.254/rh7dvd/isolinux/vmlinuz
[root@svr7 rhel7]# wget  http://192.168.4.254/rh7dvd/isolinux/initrd.img
                                              //下載內核、初始化文件

確認部署結果:

[root@svr7 pxeboot]# ls  -R  /var/lib/tftpboot/
/var/lib/tftpboot/:
pxelinux.0  rhel7
/var/lib/tftpboot/rhel7:
initrd.img  vmlinuz

步驟三:配置啓動菜單

1)創建配置目錄

[root@svr7 ~]# mkdir  /var/lib/tftpboot/pxelinux.cfg

2)以光盤中的isolinux目錄爲模板,拷貝必要的文件

[root@svr7 ~]# cd  /var/lib/tftpboot/
[root@svr7 tftpboot]# wget  http://192.168.4.254/rh7dvd/isolinux/vesamenu.c32 
                                                      //提供圖形支持
[root@svr7 tftpboot]# wget  http://192.168.4.254/rh7dvd/isolinux/splash.png  
                                                            //準備背景圖片
[root@svr7 tftpboot]# wget  -O  pxelinux.cfg/default  http://192.168.4.254/rh7dvd/isolinux/isolinux.cfg 
                                                         //建立菜單配置
[root@svr7 isolinux]# ls  -R  /var/lib/tftpboot/          //確認部署結果
/var/lib/tftpboot/:
pxelinux.0  pxelinux.cfg  rhel7  splash.png  vesamenu.c32
/var/lib/tftpboot/pxelinux.cfg:
default
/var/lib/tftpboot/rhel7:
initrd.img  vmlinuz

3)調整啓動參數

[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 Red Hat Enterprise Linux 7
    kernel  rhel7/vmlinuz                      //內核的位置
    append  initrd=rhel7/initrd.img  inst.stage2=http://192.168.4.254/rh7dvd 
                                                 //初始鏡像、安裝源位置
label rescue
    menu label ^Rescue a Red Hat Enterprise Linux system
    kernel rhel7/vmlinuz
    append initrd=rhel7/initrd.img inst.stage2=http://192.168.4.254/rh7dvd 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 1月  13 15:48 pxelinux.0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章