摘要:為解決計算機機房管理中的困難,提出利用Ghost進行基于PXE遠程啟動的多播克隆,使計算機機房的管理更加方便、快捷和簡單。
關鍵詞:遠程啟動;PXE;多播克隆;TFTP
中圖分類號:TP308文獻標識碼:A文章編號:1009-3044(2008)36-2772-02
The Multicast Clone Based on PXE
WANG Peng-chong, FANG Da-liang
(College of Computer Science, Chongqing University, Chongqing 400030, China)
Abstract: In order to solve problems in the management of the computer room, made use of Ghost to realize the Multicast clone which is booted based on PXE, so that the management of the computer room more convenient, fast and simple.
Key words: remoteboot; PXE; multicast clone; TFTP
在計算機機房管理中,由于計算機使用頻繁,學生使用不規范,計算機的軟驅和光驅損壞嚴重,再加上計算機考試均需要重裝系統,致使機房軟件系統的管理極度困難。由于軟驅和光驅損壞,當操作系統崩潰時,重裝系統就只有開機箱才能完成。為了解決上述問題,可以采用基于PXE(Preboot Execution Environment)協議的網絡啟動,利用Symantec公司的Ghost、3Com公司的DABS(Dynamic Access Boot Services)、Tftpd32等軟件實現計算機的批量重裝系統。
1 遠程啟動技術
1.1 遠程啟動簡介
遠程啟動服務(Remoteboot),通常也叫RPL(Remote Program Load,遠程初始程序加載),是通過使用服務器硬盤上的軟件來代替工作站硬盤引導一臺網絡上的工作站。工作站的網絡適配卡上必須裝有一個RPL ROM芯片。每一種RPL ROM芯片都是為一類特定的網絡接口卡而制作的,它們之間不能互換。帶有RPL的網絡接口卡發出引導記錄請求的廣播(broadcasts),服務器自動的建立一個連接來響應它,并加載MS-DOS啟動文件到工作站的內存中。
1.2 遠程啟動過程
為了遠程啟動一臺工作站,運行遠程啟動服務的Windows NT服務器必須提供兩個資源給客戶:
一個引導程序塊(Boot Block),它包含了引導時開啟工作站需要的所有信息。
遠程啟動配置文件(Remoteboot Profile),它定義了工作站引導后將要用的操作系統。
要接受到這些數據,遠程啟動客戶必須使用其網絡接口卡上的RPL ROM芯片來與已經運行DLC通信協議的遠程啟動服務器進行通訊。該過程主要分為兩個階段:初始化引導程序塊下載;操作系統下載。
1) 初始化引導程序塊下載:
這個階段的目標時去尋找一個遠程啟動服務器并下載適合該工作站特定類型的網絡接口卡的引導程序塊信息。這些引導程序塊配置文件存儲在服務器的\\WINNT\\RPL|BBLOCK\\NETBEUI\\
2) 操作系統的下載:
這一階段的目標時模仿MS-DOS引導過程。來自引導程序塊的信息被RPL ROM用來加載基本的操作系統和網絡,然后建立一個同遠程啟動服務器的會話。此時,工作站將顯示下列登陸提示:
Type Remoteboot username,or press enter if it is
這個登陸稱為工作站(workstation logon),并隨當前的用戶登陸而有所不同。工作站登陸常常用于建立同文件服務器的第一個會話并使用FIT(File Index Tables文件索引表)來映像原始的C驅動器目錄到文件服務器。當一個工作站被添加到遠程啟動數據庫時,用于它的特定的用戶帳號將被創建。默認時,工作站帳號沒有設置口令。用戶需要作為一個單獨的用戶登陸到主域以獲得特定的網絡使用許可。
一旦工作站登陸完成,工作站就可以讀取一個引導扇區文件并使用存儲在服務器的MS-DOS文件來引導。
2 基于PXE的遠程啟動技術
2.1 PXE技術的基本原理
PXE(Preboot Execution Environment)技術與RPL技術不同之處為:RPL是靜態路由,PXE是動態路由。RPL是根據網卡上ID號加上其它的記錄組成的一個Frame(幀)向服務器發出請求,而服務器那里早已經有了這個ID數據,匹配成功則進行遠程啟動;PXE則是根據服務器端收到的工作站以MAC地址(就是網卡號),使用DHCP服務給這個MAC地址指定一個IP地址,每次重啟動可能同一臺工作站有與上次啟動有不同的IP,即動態分配地址。下面以工作站引導過程說明PXE的原理:
1) 工作站開機后,PXE BootROM(自啟動芯片)獲得控制權之前先做自我測試,然后以廣播形式發出一個請求FIND幀。
2) 如果服務器收到工作站所送出的請求,就會送回DHCP回應,內容包括用戶端的IP地址,預設通訊通道,及開機映像文件。否則,服務器會忽略這個要求。
3) 工作站收到服務器發回的響應后則會回應一個幀,以請求傳送啟動所需文件。此時工作站把自己的MAC地址寫到服務器端Netnames.db文件中。
4) 之后將有更多的信息在工作站與服務器之間作應答,用以決定啟動參數。Boot ROM由TFTP通訊協議從服務器下載開機映像檔,這個映像檔就是軟盤的映象文件。工作站使用TFTP協議接收啟動文件后,將控制權轉交啟動塊,引導操作系統,完成遠程啟動。
2.2 PXE啟動的硬件需求
1) 需要在網卡上安裝一片EPROM,里面刻錄有相關引導程序。另外,EPROM芯片具有專用性,即不同的網卡可能需要不同的引導程序。
2) 設置網卡允許遠程啟動,這一般可以從下面兩個方面去解決——網卡上有BootROM Jumper,將其跳線設為Enable即可。
如果網卡上沒有允許/禁止遠程啟動的跳線,運行網卡的設置程序(如Setup.exe)設置BootROM為Enable。
2.3 PXE無盤啟動的關鍵技術
通過上述過程的分析,我們可以發現啟動過程中主要用到兩個重要的服務,即DHCP和TFTP。據此,實現無盤啟動的關鍵在于提供DHCP和TFTP即可。
3 實現基于PXE的網絡啟動
對于配有網絡遠程啟動功能的工作站,通過網絡遠程啟動引導工作站自動執行相關操作,可省去用軟盤一臺一臺引導工作站啟動的麻煩。要實現PXE網絡啟動,需要完成以下幾個步驟。
3.1 工作站端PXE啟動設置
PXE網絡啟動一般要求在網卡上加裝PXE啟動芯片(PXE Boot ROM),對于某些型號的網卡,也可以將PXE啟動代碼(Boot Code)寫入主板的Flash ROM;而一些主板上集成了網卡的,可直接支持PXE啟動。
本文以裝有PXE啟動芯片的RTL8139網卡為例,其PXE啟動設置方式是:進入CMOS設置第一啟動項為LAN。機器啟動時根據屏幕提示按下shift+F10,在“Network Boot Protocol”中選擇PXE,“Boot Order”中選擇Int18h項。
3.2 服務器端的軟件安裝
服務器上要裝有DHCP服務和TFTP服務,安裝Ghost7.5企業版和3Com的DABS(Dynamic Access Boot Services)軟件。
本文利用Tftp32實現DHCP服務和TFTP服務,Tftpd32是一個集成DHCP,TFTP, SNTP和Syslog多種服務的袖珍網絡服務器包。用來進行網絡克隆的軟件是Ghost7.5企業版,DABS則是用來制作PXE啟動所需的啟動菜單。
3.3 生成PXE啟動映像
1) 打開Ghost Boot Wizard,點擊點擊第五項“TCP/IP Network Boot Image” 。
2) 出現了網卡選擇提示框。根據自己的網卡可以從中選擇自己的網卡型號,我們以常用的8139網卡為例,進行說明,如果列表里找不到所需的網卡,要自行添加。
3) 選擇DOS的版本,默認是使用PC-DOS,如果想用MS-DOS,點擊”Get MS-DOS”按鈕,然后根據提示插入windows 95或者windows 98系統格式的軟盤從而獲得MS-DOS。
4) 選擇ghost.exe中選擇ghost文件,在Parameters中填入如下參數:-clone,mode=load,src=@MC wu,dsk=1 –sure –rb。這里可以根據需要修改參數,或者不用參數,克隆時再進行操作。
參數解釋:-clone是實現Ghost無人值守多播克隆的核心參數。其中mode= load即操作類型為文件到磁盤;src= @ M C x和dsk=1一起使用,表示將會話名稱為x的服務器端指定的鏡像文件復制到第1個硬盤。參數-sure表示對所有要求確認的提示或警告一律回答”Yes”;-rb表示本次Ghost結束退出時自動重啟。
5) 客戶端的網絡設置,我們采用DHCP服務器分配IP地址的辦法,所以也不用動。直接點擊“下一步”。
6) 填入映像文件的名字和路徑,點擊下一步就可以完成啟動文件映像的制作。
制作完成啟動文件映像后,我們把此啟動文件映像放在Tftpd32的根目錄下。我們還需要用這個映像制作一個啟動菜單,打開3Com Boot Image Editor,選擇“創建PXE菜單引導文件”,把剛才制作好的映像文件添加進來并在“選項”里面設置好各個參數,點擊“保存”按鈕制作成菜單引導文件。把此菜單引導文件也放在Tftpd32的根目錄下。
3.4 服務端PXE啟動服務設置
打開Tftpd32(如圖1),PXE網絡啟動需要用到兩個服務DHCP和TFTP。TFTP服務器項我們不需要設置,主要設置好DHCP服務器。
Current Directory:Tftpd32所在文件夾,之前做好的啟動映像文件和啟動菜單文件都放在這個文件夾里面
Server interfaces:服務器的ip
IP pool starting address:起始分配ip Size of pool:分配ip的總數
Boot File:啟動文件,填入之前做好的啟動菜單文件的文件名
Default router:默認網關
Mask:子網掩蓋
Domain Name:域名,這里填入的域名在ghost需要填入相同的名字
設置好以上參數之后點擊”save”,DHCP服務器就設置好了。
3.5 進行網絡對拷
網絡服務器端裝好了,客戶端的啟動盤也做好了。可以開始進行網絡ghost了。這里首先需要把客戶機的系統鏡像做好并上傳到服務器上來。啟動Ghost服務器端,在“會話名稱”出填寫一個名稱,這個名字要和DHCP服務器的Domain Name的名字一致。后面有兩個選項,第一個是“恢復映像”,意思是將鏡像包加載到客戶機上。第二個是“創建映像”,意思是從客戶機上提取鏡像。我們要先制作映像文件,所以這里選擇第二個“創建映像”。
點擊“瀏覽”按鈕,為鏡像包選擇一個位置,起名并保存好。然后點擊右側的“接受客戶機”,開始接受客戶端的請求。

圖 1 Tftpd32
現在該到客戶端進行操作了。在客戶端,我們按之前所述設置好啟動項后開機。正常情況下,開機應該自動進入ghost,按回車鍵后進入這個主界面,可以看到“Multicasting”選項已經有效。我們實現網絡ghost就是用這個選項。選擇它,回車。
在這里可以看到,客戶端的ip已經自動分配過來了。下面需要填寫的就是服務器端的任務名稱,也即ghost服務端的“會話名稱”。填入服務器端任務名稱,回車后,即出現選擇壓縮方式,一般選擇“No”,或者“Fast”。確認后開始上傳鏡像。
上傳結束后,客戶端的鏡像即做好了,下一步,就是開始大規模的ghost系統了。啟動Ghost服務器端,選擇“恢復映像”,并選擇剛才做好的鏡像包。然后點擊“接受客戶端”等待客戶端的請求。這時,可以啟動客戶機。具體步驟和上面制作鏡像包的步驟類似,首先是是啟動,啟動后進入ghost,選擇“Multicasting”,填入服務器端任務名稱,但是在填入服務器端任務名稱之后,與上面的過程有所不同,客戶端開始和服務器端聯系,以獲取當前ghost包的詳細信息。之后進行相應的設置客戶端已經準備就緒。全部客戶端準備就緒后,在服務器端點擊“發送”按鈕,網絡克隆就真正開始了。
4 結束語
本文闡述了利用3Com公司的DABS、Symantec公司的Ghost等軟件,基于PXE協議實現對沒有軟驅、光驅計算機的軟件系統克隆。當客戶計算機系統崩潰后,只需要重新進行客戶端PXE啟動設置和文件發布至客戶端操作即可。計算機房管理者不再為每天安裝系統、軟件而煩惱。
參考文獻:
[1] 閔軍,孟林.最新PXE、RPL無盤站和終端技術精解[M].北京:清華大學出版社,2003.
[2] 徐曉麗.用Ghost7.0實現網絡硬盤克隆[N].中國電腦教育報,2003-02-14.
[3] 瞿波,陳偉.如何用GHOST進行網絡多播克隆[J].計算機應用與軟件,2004(9):116-118.