1. 程式人生 > >PXE高效能批量網絡裝機

PXE高效能批量網絡裝機

動軟 修改 smm har tftp 用戶 ima aml span

PXE簡紹

PXE(preboot execute environment,預啟動執行環境)是由Intel公司開發的最新技術,工作於Client/Server的網絡模式,支持工作站通過網絡從遠端服務器下載映像,並由此支持通過網絡啟動操作系統,在啟動過程中,終端要求服務器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協議下載一個啟動軟件包到本機內存中執行,由這個啟動軟件包完成終端(客戶端)基本軟件設置,從而引導預先安裝在服務器中的終端操作系統。PXE可以引導多種操作系統,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux系列系統等。

PXE啟動原理

當計算機引導時,BIOS把 PXE Client調入內存中執行,然後由PXE Client將放置在遠端的文件通過網絡下載到本地運行。

若要搭建 PXE網絡體系,必須要滿足以下條件:

  • 客戶機的網卡支持 PXE 協議(集成 BOOTROM 芯片),且主板支持網絡引導
  • 網絡中有一臺 DHCP 服務器,以便為客戶機分配地址、指定引導文件位置服務器通過 TFTP(Trivial File Transfer Protocol)簡單文件傳輸協議提供引導鏡像文件的下載。
    技術分享圖片

工作過程

工作站開機後, PXE BootROM(自啟動芯片) 獲得控制權之前先做自我測試,然後 以廣播形式發出一個請求 FIND 幀。 如果服務器收到工作站所送出的要求, 就會送回 DHCP 回應, 內容包括用戶端的 IP 地址, 預設通訊通道, 及開機映像文件。否則,服務器會忽略這個要求。工作站收到服務器發回的響應後則會回應一個幀,以請求傳送啟動所需文件。 之後,將有更多的訊息在工作站與服務器之間作應答, 用以決定啟動參數。 BootROM 由 TFTP通訊協議從服務器下載開機映像檔, 這個映像檔就是軟盤的映象文件。 工作站使用 TFTP 協
議接收啟動文件後,將控制權轉交啟動塊,引導操作系統,完成遠程啟動

搭建6系統的PXE遠程安裝服務器

PXE用桌面模式,配置DHCP,配置TFTP
- 準備CentOS6安裝源
使用FTP服務,將安裝源放至/var/ftp/centos6/目錄下

  1. [root@localhost yum.repos.d]# mount /dev/sr0 /media/cdrom/
  2. mount: block device /dev/sr0 is write-protected, mounting read-only
  3. [root@localhost yum.repos.d]# cd ~
  4. [root@localhost ~]# mkdir -p /var/ftp/centos6
  5. [root@localhost ~]# cd /var/ftp/centos6/
  6. [root@localhost centos6]# cp -rp /media/cdrom/* . //將光盤源放入/var/ftp/centos6 中。不懂的研究FTP

技術分享圖片

  • 安裝並啟用TFTP服務
  1. [root@localhost centos6]# yum -y install tftp-server
  2. [root@localhost centos6]# vim /etc/xinetd.d/tftp

技術分享圖片

  1. root@localhost centos6]# /etc/init.d/xinetd start //啟動服務
  2. 正在啟動 xinetd [確定]
  3. [root@localhost centos6]# chkconfig tftp on //開機自啟動
  • 準備Linux內核,初始化鏡像文件
    技術分享圖片

技術分享圖片

    1. 準備PXE引導程序,啟動菜單文件

  1. [root@localhost isolinux]# yum -y install syslinux
  2. [root@localhost isolinux]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
  3. [root@localhost isolinux]# ls /var/lib/tftpboot/
  4. initrd.img pxelinux.0 vmlinuz
  5. [root@localhost isolinux]# cp /var/ftp/centos6/isolinux/isolinux.cfg /var/lib/tftpboot/
  6. [root@localhost isolinux]# ls /var/lib/tftpboot/
  7. initrd.img isolinux.cfg pxelinux.0 vmlinuz
  8. [root@localhost isolinux]# chmod 644 /var/lib/tftpboot/isolinux.cfg
  9. [root@localhost isolinux]# cd /var/lib/tftpboot/
  10. [root@localhost tftpboot]# vim isolinux.cfg //內核啟動文件

技術分享圖片

技術分享圖片

  • 安裝並啟動DHCP服務
  1. [root@localhost tftpboot]# yum -y install dhcp
  2. [root@localhost tftpboot]# cd /etc/dhcp/
  3. [root@localhost dhcp]# ls
  4. dhclient.d dhcpd6.conf dhcpd.conf
  5. [root@localhost dhcp]# vim dhcpd.conf
  6. [root@localhost dhcp]# cp /usr/share/doc/dhcp*/dhcpd.conf.sample .
  7. [root@localhost dhcp]# ls
  8. dhclient.d dhcpd6.conf dhcpd.conf dhcpd.conf.sample
  9. [root@localhost dhcp]# cat dhcpd.conf.sample > dhcpd.conf
  10. [root@localhost dhcp]# vim dhcpd.conf

技術分享圖片

技術分享圖片

技術分享圖片

  • 安裝ftp
  1. [root@localhost dhcp]# yum -y install vsftpd
  2. [root@localhost dhcp]# /etc/init.d/vsftpd start
  3. vsftpd 啟動 vsftpd [確定]

我用的是NAT模式所以必須關了NAT否則DHCP沒用
客戶端安裝ftp就可以,然後試一下可不可以鏈接
技術分享圖片

技術分享圖片

  • 新建虛擬機進行試驗
    新建一個空機器
    技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

然後就OK,就和正常裝機一樣了
技術分享圖片

實現 kickstart

  • 創建應答文件
  1. [root@localhost ~]# yum -y install system-config-kickstart

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

  • 修改配置

    技術分享圖片

    技術分享圖片

    1. [root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

    技術分享圖片

  • 這就是自動裝機,不過有一個地方會卡一下,現在我們解決

    1. [root@localhost ~]# vim /var/ftp/ks.cfg

    技術分享圖片
    最好重啟下服務再實驗

PXE高效能批量網絡裝機