趙丙秀,張 堯
(1.武漢軟件工程職業學院信息學院,湖北 武漢 430205;2.中國電力工程顧問集團中南電力設計院有限公司)
互聯網技術的發展及4G、5G 的出現,互聯網寬帶越來越快,各大企業如HP、Dell 等公司開始使用企業無盤技術來管理員工的計算機,以保證信息安全。網吧或企業通過成立運維公司來實現資源的低成本和易管理。隨著云機房、云主機的概念興起,各大運營商結合自己的路由合作伙伴如碧海銀河、順網等公司,推出了適合各大企業和高校的云機房,讓資源達到最優配置。
所謂云機房[1],就是利用小型機作為路由,將運營商的10Gbps的城域網帶寬分配給一臺臺云主機,通過PXE 等技術,實現每個終端的零維護、零管理。不管是企業還是網吧、高校,甚至個人,都可以根據自己的實際辦公需要,臨時向云機房運營商申請一臺云主機,按照一臺100 元左右的價格打包設備維護、使用、配置、帶寬等費用,讓企業和網吧的設備支出大大降低,也無需單獨的計算機部門來維護。
云主機現在流行的方案有三種,根據占用帶寬的多少,分為無盤PXE(Preboot Execution Environment,遠程引導技術)云主機、主機盒子云主機、虛擬辦公電腦云主機。
現在主流移動電信的云機房方案就是無盤PXE云主機方案。通過城域網的10Gps 光纖,將機房和企業、網吧、高校的無盤主機聯系起來,用PXE 無盤引導技術,將云機房的主機硬盤內容引導到每個終端[2]。良好的磁盤回寫技術和內存緩存技術,使得每個終端引導時最大流量26MBps,一般使用流量在10-20KBps,一個10Gbps 的機房,足夠帶動3000-8000 個終端。企業效益明顯,使用毫無卡頓。除了磁盤之外,一切運算還是在本地運行,只不過操作系統的鏡像可以復用,管理簡單,個人磁盤存儲數據方便。這是現階段最完美的方案。
其弱點是,每個用戶必須還是要有一臺完整的主機,主機成本較高無法分攤,加上各種主機配置千變萬化,為了適配各種主機,就需要做不同的鏡像,大大浪費了資源,且維護成本大為增加。為了克服這些缺點,這種方案的主機PNP(Plug-and-Play,即插即用)自適應硬件的技術就必不可少了。
PXE云主機的技術難點在于設備的PNP。其關鍵在于取得設備的硬件ID 之后,通過云端比對硬件ID和兼容ID,從而找到Windows 驅動并安裝。如果不涉及無盤技術,這不難辦到。Windows Update、驅動精靈、驅動人生、360 驅動大師、魯大師和萬能驅動助理等工具都是根據這個原理,找到計算機上還沒有驅動的硬件ID,然后根據云端的海量驅動庫,找到對應的硬件ID適配的驅動,然后安裝,從而解決驅動難題。
無盤系統有點不一樣,因為沒有磁盤,因此無法直接保存驅動,通過超級或者鏡像回寫方式,又會產生鏡像和機型綁定,導致鏡像配置過多,啟動復雜。現在市面上的無盤如網維大師、云更新、方格子、信佑等,均不支持單鏡像多配置,易樂游雖然支持,但是問題很多,效率不高,實際使用也不多。
現在的計算機聲顯網全部集成到主板,主板的主流音頻芯片只有兩三家廠商提供,可以通過安裝一定數量的廠商驅動即可實現市面絕大多數主板兼容,故PNP的關鍵在于網卡和顯卡。由于無盤系統極端依賴于網卡,下面以網卡PNP 為例,來說明如何在云機房中實現終端設備的PNP自適應。
首先主板PXE 引導模塊通過Mac 地址找到Dhcp服務器獲取IP[3],然后在通過Tftp 來獲取引導文件。引導之后,通過鏡像內置的尋找軟件通過SetupAPi來獲取網卡的硬件ID,如PCIVEN_8086&DEV_10EA&SUBSYS_215317AA&REV_06,分別為VEN 供應商、DEV 設備ID、SUBSYS 子系統等關鍵信息,版本號可以忽略,將VEN、DEV、SUBSYS 的值合并,并取Hash。通過鏡像內置的尋找軟件和無盤服務器通信,無盤服務器獲取到這個Hash值后,跟自己本地的驅動庫進行比對。如果有,就將鏡像中間的系統配置目錄下的SYSTEM 注冊表文件備份出來,然后通過掛載注冊表文件的方式將驅動寫入服務。無盤引導的時候然后通過無盤服務器備份的IP和設備ID對照表,傳輸對應的注冊表文件覆蓋,即可實現網卡的PNP。
硬件ID 的獲取是通過SetupApi 中間的SetupDi-GetDeviceRegistryProperty函數獲取,如下所示:

驅動程序本質也是一個Windows 服務程序,因此可以采取類似注冊表注冊服務的形式來安裝。下面以Intel(R) PRO/1000 為例生成注冊表配置文件,然后通過外掛配置文件方式,將驅動寫入SYSTEM 文件即可,注冊表示例文件如下:


本文結合在云機房搭建中獲得的經驗,認為PXE無盤技術能在現有的帶寬下完美地實現計算機的遠程維護與配置,大大節省企業動態增減計算機的費用,降低維護難度。該方案不失為現在的主流云機房方案。但是我們也要看到,由于用戶端還是需要配置一個計算機,計算機硬件沒有集中管理,硬件損壞難免,因此硬件維護的費用并沒有降低。隨著國家互聯網的發展,帶寬需求越來越不是問題的時候,主機盒子甚至虛擬主機將是未來云機房發展的主要方向。