PXE初識及其簡單應用

Preknowledge

gPXE

gPXE是PXE的一個開源實現(更早的實現是Etherboot)。通過gPXE能讓網卡直接支持網絡啓動,而不依賴於網卡自帶的PXE固件。同時相比PXE,gPXE支持更多的協議。 傳統的PXE只能通過TFTP進行傳輸,而gPXE支持HTTP,iSCSI和ATA over Ethernet(AoE),甚至支持wifi鏈接。

iPXE

iPXE表示 it doesn’t PXE。iPXE是gPXE的原班人馬寫的(他們從Etherboot開始),作爲官方的gPXE的替代品。 gPXE擴展的功能在iPXE中都得到支持。 之所以不再使用gPXE是由於存在版權糾紛,iPXE從2010年4月開始,基於同一個代碼庫開始開發。

PXELINUX

Syslinux是一個優秀的系統啓動加載器(bootloader),可引導自硬盤、光盤、和通過PXE的網絡啓動。 PXELINUX派生自Syslinux,用來使支持PXE的網卡從網絡引導啓動Linux。PXELINUX程序不是燒在網卡里,而是存儲在TFTP服務器上。

PXE介紹

PXE(preboot execute environment,預啓動執行環境)是由Intel公司開發的技術,工作於Client/Server的網絡模式,支持工作站通過網絡從遠端服務器下載映像,並由此支持通過網絡啓動操作系統。

在啓動過程中,終端要求DHCP服務器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協議下載一個啓動軟件包到本機內存中執行,由這個啓動軟件包完成終端(客戶端)基本軟件設置,從而引導預先安裝在服務器中的終端操作系統。

嚴格來說,PXE 並不是一種安裝方式,而是一種引導方式。進行 PXE 安裝的必要條件是在要安裝的計算機中必須包含一個 PXE 支持的網卡(NIC),即網卡中必須要有 PXE Client。PXE 協議可以使計算機通過網絡啓動。此協議分爲 Client端和 Server 端,而PXE Client則在網卡的 ROM 中。當計算機引導時,BIOS 把 PXE Client 調入內存中執行,然後由 PXE Client 將放置在遠端的文件通過網絡下載到本地運行。運行 PXE 協議需要設置 DHCP 服務器和 TFTP 服務器。DHCP 服務器會給 PXE Client(將要安裝系統的主機)分配一個 IP 地址,由於是給 PXE Client 分配 IP 地址,所以在配置 DHCP 服務器時需要增加相應的 PXE 設置。此外,在 PXE Client 的 ROM 中,已經存在了 TFTP Client,那麼它就可以通過 TFTP 協議到 TFTP Server 上下載所需的文件了。

其網絡架構圖如下:
在這裏插入圖片描述
官方地址:
http://ipxe.org/

iPXE技術實現源碼:
https://github.com/ipxe/ipxe

PXE支持的啓動方式:

  1. boot from a web server via HTTP
  2. boot from an iSCSI SAN
  3. boot from a Fibre Channel SAN via FCoE
  4. boot from an AoE SAN
  5. boot from a wireless network
  6. boot from a wide-area network
  7. boot from an Infiniband network

PXE網絡安裝操作系統

PXE網絡啓動基本流程:

  1. 客戶機從自己的PXE網卡啓動,向本網絡中的DHCP服務器索取IP,並搜尋引導文件的位置
  2. DHCP服務器返回分給客戶機IP以及bootstrap文件的放置位置(該文件一般是放在一臺TFTP服務器上)
  3. 客戶機向本網絡中的TFTP服務器索取bootstrap文件
  4. 客戶機取得bootstrap文件後之執行該文件
  5. 根據bootstrap的執行結果,通過TFTP服務器加載內核和文件系統

以下是啓動linux的工作流程:
在這裏插入圖片描述

具體網絡安裝流程參見PXE網絡安裝操作系

參考了以下文章:
https://blog.csdn.net/xal0610/article/details/77725552
https://blog.csdn.net/trochiluses/article/details/11736119

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章