胡昕
摘 要 按照軟件生命周期進行設計的,通過系統分析、系統設計、系統實現和系統測試等環節詳細討論了桌面虛擬化系統的開發過程。分析了系統的業務功能需求,其中重點分析了鏡像管理、客戶端設置、客戶端操作等業務功能。
關鍵字 桌面虛擬化 全網集中管理 虛擬化本地緩存機制
中圖分類號:TP3文獻標識碼:A
電子閱覽有他特有的簡單高效的利用,在客戶端上可以比較簡單和快捷的進入閱覽模式,虛擬的桌面采用的是服務器從網絡來推送的模式,在服務器端安裝各種用戶所需要的操作系統和應用程序的系統鏡像,所有客戶機均采用網絡啟動模式,開機后由服務器推送操作系統與服務到客戶機。該系統的技術原理架構如下圖 所示:
系統技術原理模式
操作系統容器(OSContainer)處在最上層。在容器中可以容納多個操作系統包。例如 winxp 系統包,win7 系統包等,放在服務器端。 操作系統推送器(OS Delivery Layer),操作系統包通過操作系統推送器進行服務器和客戶機之間的系統推送,也就是將系統發送到客戶機。局域網(LAN)代表服務器將操作系統包推送到客戶機的網絡是本地局域網。例如是在本校區內。互聯網(Internet)代表服務器將操作系統包推送到客戶機的網絡是廣域網,例如橫跨地理分散的兩個校區之間。 操作系統執行器(OS Executive)是安裝在客戶端的程序,負責接收服務器發來的系統并執行相應的操作,和 OS Delivery Layer 聯系。主要接收的是非微軟的系統包。 虛擬機(VMS)是安裝在客戶端的程序,負責接收服務器發來的系統并執行相應的操作,和 OS Delivery Layer 聯系。主要接收的是微軟的系統包。 硬件(Hardware)是客戶端本身。
以下幾個基本原則是劃分功能模塊時主要考慮的:
(1)在模塊化分析時首先要對系統的主要功能抽象化,就是將一些具體的問題進行抽象化,然后對系統進行分層考慮,一層一層地從最高層次到最低的層次,最后采用從抽象到現實的方式來解決問題。
(2)逐步求精,把問題的求解過程分成多個步驟或階段,每一步都比前一步更接近問題的解法。如果說抽象使得設計者能夠描述過程和數據而忽略低層的細節,那么求精有助于設計者在設計過程中揭示低層的細節。
(3)模塊化,即把軟件按照已經定好的原則劃分為一個個較小的、相互獨立的但又相互關聯的部件,實際上是系統分解和抽象的過程。
(4)每個模塊的實現細節對于其它模塊來說應該是隱蔽的。塊中所包含的信息不允許其它不需要這些信息的模塊使用。
(5)模塊獨立,模塊間關聯和依賴程度盡可能小。
本系統需要實現的基礎功能如下:
① 全網更新一勞永逸
無論系統、軟件、補丁新增及更新,真正實現在一臺工作站上操作一次,彈指間,網內所有客戶機即已更新。完全無需對其它機器進行任何配置與操作,讓管理人員真正從繁雜枯燥的重復性工作中解放出來。
② 個性需求應付自如
無上限的鏡像關聯分配,滿足任何對系統有復雜要求的環境,徹底解決個性化要求。此外,還能為教師提供個性化桌面、課件等服務,當老師走進教室,電腦已自動開機并自動準備好其備課內容及教學所需的操作系統。教師的課件或學生的個人資料存放采用集中存放統一管理的賬戶控制方式,在 IP 可達的任意機器即可自由存取,而且上傳內容自動加密保證內容安全。
③ 集中管理 ?智能監控
桌面虛擬化系統采用全網多點集中式管理,讓異地遠程維護成為可能,管理人員無需奔走于各教學樓及校區之間,界面簡潔操作方便快捷。服務器端有全功能智能監控軟件,發信息、傳文件、硬件信息查看、數據包及桌面實時監控等一應俱全。
④ 容災備份 ?高枕無憂
網卡熱備份、服務器雙機熱備份、本地客戶機硬盤加虛擬系統雙重備份等竭盡所能的容災保障。
⑤ 快速部署 ?輕松維護
系統部署一站式完成,與更新內容無異,其它機器僅需修改 BIOS 后通過 PXE引導即可以多種模式加入桌面虛擬化系統。部署后將大量節省維護人員的時間成本,極大地提升工作效率,再也無需疲于分身焦頭爛額,一切由桌面虛擬化系統來完成。
在設計虛擬化系統時主要工作是完成兩個模塊:文件鏡像管理和數據庫的設計和部署,鏡像管理在桌面虛擬化系統中非常重要,因為計算機客戶端要獲取的系統在服務器上是以鏡像形式存在的,根據不同的系統、不同的應用需求,可以制作許多不同的鏡像,方便客戶端的調用。因為一個鏡像制做好使用后,經常要做些小的修改,所以在鏡像的基礎上要增加一些鏡像的快照。基于鏡像下的客戶端設置模塊是子系統的重要部分,客戶端設置模塊包括了服務器端和客戶端的一些功能,是使用率非常高的。客戶端設置模塊用以設置客戶端的一些基本參數例如本機 IP 地址,服務端 IP地址,網關等,還有設置客戶端的啟動方式是本地還是網絡,是網絡方式啟動的話可以設置本地的啟動菜單,還有可以將客戶端系統作為鏡像上傳到服務器,還可以重建客戶端的本地緩存,對客戶端的一些功能設置。虛擬化系統采用虛擬系統加本地系統互為備份、相互更新,正常運作時本地硬盤可作為回寫緩存使用降低網絡負擔。當虛擬系統出現網絡故障或者服務器出現故障時,可完全拋開服務器并使用本地系統進入,且該系統完全處于本地磁盤保護狀態,無需擔心惡意破壞。當客戶端存在本地系統及虛擬系統的情況下,系統在啟動時會自動判斷本地系統是否為最新狀態,當本地系統緩存已被更新則優先進入本地緩存系統,減輕網絡負擔從而合理利用本地資源,減輕服務器壓力。當虛擬系統被更新則優先進入虛擬系統,并在后臺進行對比、穿透更新。并且支持客戶端多虛擬系統引導,根據需要進入不同的虛擬系統。
另一個重要部分是數據庫的設計和部署,數據庫設計任務是根據給定的軟件系統應用需求,設計出合理的系統數據庫結構。下面進行桌面虛擬化系統的數據庫設計:
客戶端:客戶端就是計算機,物理地址是客戶端中的主鍵,所屬群組為該表的外鍵。
鏡像表:鏡像表描述的是教學樓多媒體教室客戶端所使用的系統鏡像信息,它的屬性有鏡像名稱、鏡像位置、鏡像大小、映射狀態和鏡像描述等。其中,鏡像名稱是該數據表的主鍵。
快照表:快照表用來存放在原有鏡像基礎上所做修改后的鏡像快照信息,其中,快照名稱是主鍵,鏡像路徑是外鍵。
客戶端狀態表:客戶端狀態表用來存放客戶端當前的狀態,如 I/O 服務器,網絡 I/O 字節,緩存 I/O 字節等。
桌面漫游用戶:桌面漫游用戶主要對應的是給使用者用戶名和密碼登錄的用戶,是桌面漫游用戶的一些基本信息。包括的屬性有用戶編號、用戶姓名、用戶密碼、鏡像使用狀態、系統還原、緩存路徑等。
群組表:群組表用來存放客戶端所屬群組的信息,包括的屬性有電腦名、網卡物理地址、分配的 IP、詳細描述、所屬群組。
桌面漫游用戶和鏡像表是一對多的關系,理解為 1 個桌面用戶可以加載多個系統,也就是可以自由選擇系統。此外,還表示出了鏡像表與快照表之間的關系,兩個表一對多的關系表示一個鏡像可以生成很多快照。此外,客戶端與客戶端狀態表存在著 1 對 1 的關系,理解為一個客戶端在客戶端狀態表里有一個狀態。還有客戶端與群組表存在著多對多的關系,可以理解為 1 個客戶端可以加入多個群組,而每個群組里有多個客戶端。還有客戶端和鏡像表也是多對多的關系,可以理解為 1 個客戶端加載多個鏡像,而一個鏡像可以給多個客戶端加載。
與傳統的管理模式相比,桌面虛擬化的好處就是可以對系統桌面進行統一的升級和管理,既能節約響應問題的時間,又能節省人力,這對學校 IT 部門進行計算機的統一管理帶來了一定的好處,尤其是那些分散在學校各個角落里的計算機。現在桌面虛擬化技術逐漸成熟,借著高校計算機應用需求、管理需求的不斷上升的熱潮,桌面虛擬化迎來了發展的契機,相信以后桌面虛擬化的成熟必將為學校的 IT 管理提供更加便捷的方法。
參考文獻
[1] 《虛擬化與云計算》小組. ?虛擬化與云計算[M]. ?北京:電子工業出版社, 2009,48-49.
[2] 顧宏久. ?淺談虛擬化與云計算的關系[J]. ?科學咨詢(科技·管理), 2011,(8):68-69.
[3] Mark Bowker.桌面虛擬化的動因[R]. ?北京: DOIT 傳媒集團,存儲在線網站,2009 . 12 .
[4] Ccw research.桌面虛擬化:新技術應用,評估與規劃是關鍵[EB/OL].
[5] 中國計算機報編輯部. ?銳起商業標準桌面軟件(BSD)[J]. ?中國計算機報, 2009,(47):41 .
[6] 章永晶. PNS 虛擬桌面系統應用與管理[J]. ?歲月(下半月),2012,(6):169.