架構師成長之路2.1-PXE+Kickstart原理

點擊返回架構師成長之路html

架構師成長之路2.1-PXE+Kickstart原理

PXE+Kickstart 主要用於在公司內網批量安裝新服務器系統,這極大地簡化了用光盤重複安裝Linux操做系統的過程,再加上分佈式自動化運維工具puppet進行批量部署,達到了自動化運維的目的,避免了重複性勞動,極大的提升了工做效率。linux

雖然網絡上面有不少介紹, 可是爲了自學仍是整理一番。服務器

1. PXE

嚴格來講,PXE 並非一種安裝方式,而是一種引導方式。網絡

PXE 安裝的兩個必要條件:架構

① 要安裝的計算機中必須包含一個 PXE 支持的網卡(NIC),即網卡中必需要有 PXE Client。
PXE (Pre-boot Execution Environment)協議可使計算機經過網絡啓動。此協議分爲 Client端和 Server 端,而PXE Client則在網卡的 ROM 中。當計算機引導時,BIOS 把 PXE Client 調入內存中執行,而後由 PXE Client 將放置在遠端的文件經過網絡下載到本地運行。運維

② PXE服務器必需要提供至少含有DHCP以及TFTP的服務。分佈式

  •  DHCP服務必需要可以提供客戶端的網絡參數,還要告知客戶端TFTP所在的位置;
  •  TFTP則提供客戶端的boot loader及kernel file下載路徑。

還要加上NFS/FTP/HTTP(選擇同樣便可)等提供安裝文件(安裝鏡像的解壓文件),纔算是比較完整的PXE服務器。通常TFTP和DHCP服務都由同一臺服務器提供,且大多數時候還提供NFS/FTP/HTTP服務,因此PXE服務器通常是提供3合一的服務工具

2. PXE的工做過程

圖片來源於網絡。
spa

  • (1)Client向PXE Server上的DHCP發送IP地址請求消息,DHCP檢測Client是否合法(主要是檢測Client的網卡MAC地址),若是合法則返回Client的IP地址,同時將pxe環境下的Boot loader文件pxelinux.0的位置信息傳送給Client。
  • (2)Client向PXE Server上的TFTP請求pxelinux.0,TFTP接收到消息以後再向Client發送pxelinux.0大小信息,試探Client是否滿意,當TFTP收到Client發回的贊成大小信息以後,正式向Client發送pxelinux.0。
  • (3)Client執行接收到的pxelinux.0文件
  • (4)Client向TFTP請求pxelinux.cfg文件(其實它是目錄,裏面放置的是是啓動菜單,即grub的配置文件),TFTP將配置文件發回Client,繼而Client根據配置文件執行後續操做。
  • (5)Client向TFTP發送Linux內核請求信息,TFTP接收到消息以後將內核文件發送給Client。
  • (6)Client向TFTP發送根文件請求信息,TFTP接收到消息以後返回Linux根文件系統。
  • (7)Client加載Linux內核(啓動參數已經在4中的配置文件中設置好了)。
  • (8)Client經過nfs/ftp/http下載系統安裝文件進行安裝。若是在(4)中的配置文件指定了kickstart路徑,則會根據此文件自動應答安裝系統 

2. Kickstart

Kickstart是一種無人值守的安裝方式。操作系統

工做原理:
在安裝過程當中記錄典型的須要人工干預填寫的各類參數,並生成一個名爲 ks.cfg的文件。
若是在安裝過程當中(不僅侷限於生成Kickstart安裝文件的機器)出現要填寫參數的狀況,安裝程序首先會去查找 Kickstart生成的文件

  • 若是找到合適的參數,就採用所找到的參數;
  • 若是沒有找到合適的參數,便須要安裝者手工干預了。

因此,若是Kickstart文件涵蓋了安裝過程當中可能出現的全部須要填寫的參數,那麼安裝者徹底能夠只告訴安裝程序從何處取ks.cfg文件,而後就去忙本身的事情。等安裝完畢,安裝程序會根據ks.cfg中的設置重啓系統,並結束安裝。

 

 建立Kickstart文件有三種方式:

  • 徹底手動建立Kickstart。
  • 使用圖形化工具system-config-kickstart建立Kickstart。
  • 經過標準化安裝程序Anaconda安裝系統,Anaconda會生成一個當前系統的Kickstart文件,以此來建立Kickstart文件。

.........

相關文章
相關標籤/搜索