向宸薇
【摘要】 kickstart技術為RedHat提供的一種無人值守裝機方式,采用PXE技術和DHCP、TFTP和NFS等網絡服務,在局域網中引導需要裝機的客戶端通過kickstart服務器進行無人工參與的自動裝機。kickstart技術因其自動化和高效率的特點被廣泛應用于大型自動化系統中,對系統各終端進行有效管理。
【關鍵詞】 kickstart技術 無人值守裝機 大型自動化系統應用
引言
大型自動化系統終端數量多,若采用傳統的人工方式進行系統安裝,耗時長而且效率低,RedHat提供無人值守的kickstart服務采用自動化方式進行無人值守安裝系統,大大提高了大型自動化系統的裝機效率,并且可基于該技術對終端進行更有效的管理。
一、kickstart技術
kickstart技術是大型自動化系統常見的一種無人值守裝機方式,需要進行裝機的客戶端通過網絡啟動,從kickstart服務器讀取ks文件,ks文件包含系統安裝過程中需要填寫的參數,程序通過此文件引導系統進行正確的安裝,避免人工干預,實現客戶端批量自動安裝。kickstart技術以PXE技術為基礎,通過DHCP服務、TFTP服務和文件傳輸服務實現。DHCP服務用于給客戶端分配IP地址,給出TFTP服務器位置及引導文件位置,隨后,TFTP服務引導客戶端讀取并下載啟動安裝程序所必需的文件,啟動linux安裝程序的引導內核。接下來進行操作系統的網絡安裝,通過NFS、HTTP等文件傳輸服務傳輸讀取自動應答ks文件和查找系統安裝包,根據ks文件中的參數進行系統的自動安裝。
二、kickstart關鍵技術與所需工具
2.1 PXE技術
kickstart需要客戶端的網卡支持PXE,PXE(preboot execute environment)技術工作在C/S網絡模式下,當客戶端通過網絡啟動時,可從kickstart服務器下載映像,并完成操作系統的啟動。
PXE分為Server端和Client端,需要進行系統安裝的Client端在計算機開始啟動后,尋找網絡中的DHCP服務器,請求IP并按照DHCP服務器的引導,在TFTP服務器上查詢pxelinux.0文件,獲取并執行該文件,加載內核和系統文件,隨后進入安裝畫面,使用NFS、HTTP等文件傳輸方式進行系統安裝。
2.2 DHCP服務
DHCP(Dynamic Host Configuration Protocol),動態主機配置協議,是局域網的網絡協議之一,主要負責給網內的其他主機分配IP。DHCP使用服務器/客戶端模型,采用UDP協議,有自動分配方式、動態分配方式和手工分配方式三種工作模式。DHCP工作原理可簡述為如下四個步驟:
1)當客戶端啟動后,廣播DHCP DISCOVERY包,該包源地址為0.0.0.0,目的地址255.255.255.255,并且包含客戶端主機的MAC地址和計算機名等信息,向DHCP服務器請求分配IP地址。
2)DHCP服務器收到請求后,在地址池中查詢是否有IP地址可進行分配,如果有合法IP可提供,將此IP標記后,廣播DHCP OFFER包,源地址為0.0.0.0,目的地址255.255.255.255,此包中含有客戶端MAC地址,所分配IP地址,子網掩碼,租約等信息。
3)DHCP收到DHCP OFFER包后,選擇包中的IP地址,廣播DHCP REQUEST包,向所有DHCP服務器宣布該客戶端選擇的IP地址,并向分配給它IP地址的服務器正式請求分配IP,其它DHCP服務器收到DHCPQUEST包后將釋放之前標記的分配給該客戶端的IP地址。
4)收到正式請求的DHCP服務器發送DHCPACK包,客戶端收到DHCPACK包后,將使用分配的IP地址及該DHCP服務器提供的TCP/IP配置參數。
DHCP的配置文件/etc/dhcpd.conf可對DHCP服務器進行相應的配置,包括對地址池、默認網關、DNS地址等參數的設置,其中next-server ip一項用來指定引導服務器,采用bootp方式進行引導,可指向TFTP服務器地址,在TFTP服務器上查詢引導文件。
2.3 TFTP服務
TFTP(Trivial File Transfer Protocol,簡單文件傳輸協議),基于UDP協議,用于在服務器和客戶端進行簡單文件傳輸。
安裝TFTP服務,需在服務器端安裝TFTP Server,客戶端安裝TFTP Client。因此,進行kickstart裝機的客戶端機器的網卡需要支持PXE Client,PXE Client的ROM中包含TFTP Client,客戶端啟動后就可以通過TFTP協議從TFTP服務器上讀取需要的引導文件。
進行kickstart裝機的客戶端網絡啟動后,通過DHCP服務器取得TFTP服務器的IP地址,并使用TFTP服務從TFTP服務器下載所需的啟動文件,啟動文件中會指明存儲有ks文件和系統安裝包的服務器地址。
2.4 NFS服務
kickstart文件傳輸可使用HTTP、NFS等方式,本文只討論NFS方式。
NFS(Network File System,網絡文件系統),基于TCP/ IP協議,通過RPC(Remote Procedure Call,遠程調用)服務實現,是通過網絡進行資源共享的一種服務,NFS服務器端的共享文件對于客戶端是透明的,客戶端將服務器端的共享目錄掛載到本地,此時,共享目錄就好像本地磁盤上的文件目錄,供用戶進行操作。
在服務器端編輯/etc/exports文件可完成共享目錄配置,確定共享目錄,訪問用戶權限等內容,客戶端通過mount掛載后可對共享目錄進行訪問和其相對應權限的操作。
將系統安裝盤的內容拷貝到NFS服務器上并設置共享目錄,在ks文件中指定操作系統安裝文件訪問方式和所在路徑,引導客戶端讀取操作系統安裝文件來進行隨后的安裝步驟。
system-config-kickstart工具
ks文件提供操作系統安裝參數,引導客戶端進行無人工干預的自動安裝。用戶可以提前手動填寫好ks文件,也可以使用system-config-kickstart工具生成,使用此工具必須安裝X window環境。用戶使用system-config-kickstart工具,通過其提示對安裝參數進行配置,工具自動生成ks文件。
除了語言、安裝方式和設備規格等配置參數,ks還提供%packages軟件包安裝命令、%pre預安裝腳本和%post安裝后腳本,可在完成系統的安裝后,進行軟件包安裝和環境配置等工作。
三、kickstart在大型自動化系統中的應用
大型自動化系統中通常將DHCP服務器、TFTP服務器和NFS服務器配置為一臺kickstart服務器,執行kickstart無人值守裝機。
管理員為系統創建完整的目錄結構,為各個客戶端設置對應的文件夾,在隸屬于各客戶端的目錄下提供對應的ks文件、系統安裝包和預安裝程序等文件。TFTP服務器上的引導文件可以使用MAC地址命名,來對不同的客戶端引導進行區分,客戶端網絡啟動后會在TFTP服務器上尋找自身MAC對應的引導文件,引導文件中定義ks文件的路徑,可以引導客戶端找到對應的ks文件進行預先設置好的安裝。
ks文件提供的%packages軟件包安裝命令、%pre預安裝腳本和%post安裝后腳本等參數,可以在客戶端安裝操作系統的基礎上,對系統進行軟件安裝、環境設置等工作,減少人工安裝軟件和進行其他配置等方面的時間消耗,大大提升了工作效率。
四、結束語
本文對kickstart無人值守自動裝機技術進行了分析和研究,并介紹其在大型自動化系統中的應用。kickstart服務配置好以后,在系統安裝過程中全程無人工參與,完全自動化安裝,是自動化管理典型技術之一,高質量、高效率且大大節省人工和時間成本。
參 考 文 獻
[1] 劉青昆,陰元友,鄭曉薇等.基于Kickstart的Linux網絡安裝新模型[J].計算機工程,2008,34(21):103-105. DOI:10.3969/j.issn.1000-3428.2008.21.038.
[2] 李懷剛,邱建新.網絡安裝Linux的技術原理分析及實現[J].計算機應用與軟件,2006,23(9):109-111,118. DOI:10.3969/j.issn.1000-386X.2006.09.044.
[3] 么羅野.大規模快速部署Linux的實現方法[J].計算機與現代化,2011,(5):165-167.DOI:10.3969/ j.issn.1006-2475.2011.05.047.
[4] 伍文靜,劉愛貴,程耀東等.大規模機群系統的快速部署與動態配置[J].計算機應用研究,2008,25(6):1911-1913. DOI:10.3969/j.issn.1001-3695.2008.06.091.
[5] 曾德生,陳孟祥.通過CentOS實現無人值守方式批量安裝部署Linux[J].計算機光盤軟件與應用,2013,(13):90-91.
[6] 閭立新.Linux下無人值守安裝的實現[J].無錫職業技術學院學報,2009,8(6):49-51.DOI:10.3969/ j.issn.1671-7880.2009.06.017.