pxe+kickstart部署多個版本的Linux操作系統(上)---原理篇


PXE概述:

1.PXE(Pre-bootExecution Environment),預啟動執行環境
2.通過網絡接口啟動計算機
3.支持工作站通過網絡從遠端服務器下載映像,並由此支持通過網絡啟動操作系統,在啟動過程中,終端要求服務器分配IP地址,再用TFTP協議下載一個啟動軟件包到本機內存中執行,由這個啟動軟件包完成終端基本軟件設置,從而引導預先安裝在服務器中的終端操作系統。
4.此協議分為 Client端和 Server 端:
  PXE Client會調用網際協議(IP)、用戶數據報協議(UDP)、動態主機設定協議(DHCP)、小型文件傳輸協議(TFTP)等網絡協議(用於下載Linux內核和根文件系統)。
  PXE Client存放在網卡的 ROM 中。(進行 PXE 安裝的必要條件:設備具有支持PXE的網卡(NIC))。當計算機引導時,BIOS 把 PXE Client 調入內存中執行,然后由PXE Client將放置在遠端的文件通過網絡下載到本地運行。
  PXE Server可以抽象理解為提供pxe啟動文件的服務器(關於PXE Server網絡中並未有明確說明,有見解的朋友請指教)

 

PXE的工作過程:

PXE協議運行的詳細工作流程,請參考以下圖文描述:
1. PXE Client 從自己的PXE網卡啟動,向本網絡中的DHCP服務器請求IP;
2. DHCP 服務器返回分配給客戶機的IP 以及PXE文件的放置位置(該文件一般是放在一台TFTP服務器上) ;
3. PXE Client 向本網絡中的TFTP服務器索取pxelinux.0 文件 (在 PXE Client 的 ROM 中,已經存在 TFTP Client
4. PXE Client 取得pxelinux.0 文件后之執行該文件;
5. 根據pxelinux.0 的執行結果,通過TFTP服務器加載內核和文件系統 ;
6. 進入安裝畫面, 此時可以通過選擇HTTP、FTP、NFS 方式之一進行安裝;
      •  圖:PXE工作流程

 

什么是KickStart:

KickStart是一種無人職守安裝方式。KickStart的工作原理是通過記錄典型的安裝過程中所需人工干預填寫的各種參數,並生成一個名為ks.cfg的文件;在其后的安裝過程中(不只局限於生成KickStart安裝文件的機器)當出現要求填寫參數的情況時,安裝程序會首先去查找KickStart生成的文件,當找到合適的參數時,就采用找到的參數,當沒有找到合適的參數時,才需要安裝者手工干預。這樣,如果KickStart文件涵蓋了安裝過程中出現的所有需要填寫的參數時,安裝者完全可以只告訴安裝程序從何處取ks.cfg文件,然后去忙自己的事情。等安裝完畢,安裝程序會根據ks.cfg中設置的重啟選項來重啟系統,並結束安裝。
  • PXE+Kickstart 無人值守安過程如下:

1.PXE Client向DHCP發送請求:
  PXE Client從自己的PXE網卡啟動,通過PXE BootROM(自啟動芯片)會以UDP(簡單用戶數據報協議)發送一個廣播請求,向本網絡中的DHCP服務器索取IP。

2.DHCP服務器提供信息:
  DHCP服務器收到客戶端的請求,驗證是否來至合法的PXE Client的請求,驗證通過它將給客戶端一個“提供”響應,這個“提供”響應中包含了為客戶端分配的IP地址、pxelinux啟動程序(TFTP)位置,以及配置文件所在位置。

3.PXE客戶端請求下載啟動文件:
  客戶端收到服務器的“回應”后,會回應一個幀,以請求傳送啟動所需文件。這些啟動文件包括:pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img等文件。

4.Boot Server響應客戶端請求並傳送文件:
  當服務器收到客戶端的請求后,他們之間之后將有更多的信息在客戶端與服務器之間作應答, 用以決定啟動參數。BootROM由TFTP通訊協議從Boot Server下載啟動安裝程序所必須的文件(pxelinux.0、pxelinux.cfg/default)。default文件下載完成后,會根據該文件中定義的引導順序,啟動Linux安裝程序的引導內核。

5.請求下載自動應答文件:
  客戶端通過pxelinux.cfg/default文件成功的引導Linux安裝內核后,安裝程序首先必須確定你通過什么安裝介質來安裝linux,如果是通過網絡安裝(NFS, FTP, HTTP),則會在這個時候初始化網絡,並定位安裝源位置。接着會讀取default文件中指定的自動應答文件ks.cfg所在位置,根據該位置請求下載該文件。
  這里有個問題,在第2步和第5步初始化2次網絡了,這是由於PXE獲取的是安裝用的內核以及安裝程序等,而安裝程序要獲取的是安裝系統所需的二進制包以及配置文件。因此PXE模塊和安裝程序是相對獨立的,PXE的網絡配置並不能傳遞給安裝程序,從而進行兩次獲取IP地址過程,但IP地址在DHCP的租期內是一樣的。

6.客戶端安裝操作系統:
  將ks.cfg文件下載回來后,通過該文件找到OS Server,並按照該文件的配置請求下載安裝過程需要的軟件包。
  OS Server和客戶端建立連接后,將開始傳輸軟件包,客戶端將開始安裝操作系統。安裝完成后,將提示重新引導計算機。
 

PXE + KickStart安裝的條件:

  1. DHCP服務器:為 PXE-client 分配 IP ,獲得安裝程序文件位置
  2. TFTP服務器:傳輸安裝文件、內核、菜單文件等給 PXE-client
  3. Xinetd: TFTP服務超級守護進程, 用於喚醒TFTP服務;
  4. Kickstart:生成的ks.cfg配置文件
  5. HTTP/NFS/FTP 服務中的任意一種,用於傳送安裝源文件給 PXE-client

        不同傳輸協議需要安裝的服務如下:

  1. ftp: yum -y install dhcp tftp-server xinetd syslinux vsftpd  ftp
  2. http: yum -y install dhcp tftp-server xinetd syslinux httpd
  3. nfs:yum -y install dhcp tftp-server xinetd syslinux vsftpd nfs-utils rpcbind

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM