虛擬桌面的出現,極大簡化了桌面的管理。針對操作系統部分,VMware和Citrix兩大廠商都推出了一對多方式的桌面鏡像管理。VMware叫Link Clone技術。而Citrix有兩種,一種與Link Clone技術對應,叫做MCS;另一種是其獨有的,叫PVS。
簡而言之,就是IT管理員只需要維護少數操作系統模板,虛擬桌面都是從某一個母版派生出來的。只要保證母版的系統補丁是最新的,其派生出來的桌面就能同步到最新。于是打補丁的工作再也不需要針對數不清的桌面實例來進行了, 管理員得到極大的解脫。
但是這種一對多方式的桌面鏡像管理也帶來了一個大的挑戰。這個挑戰不解決,“簡化桌面管理”只能是一個偽命題。
當所有虛擬桌面都跑在一個共享存儲之上時,存儲最可能成為性能的瓶頸。桌面系統產生的存儲訪問需求是隨機的,不同的用戶在以各種不可預測的方式對存儲產生讀寫訪問,所以很難做到精確計算。 如果存儲子系統配置過低,則很容易過載,所有的用戶都會感覺桌面運行很慢。如果配置過高,其成本又會爆炸式增長,徹底淹沒桌面虛擬化所帶來的好處。另外桌面上的行為往往又有一定的趨同性,如早8點同時開機, 中午空閑時防病毒自動掃描,同時觀看某個緊急培訓的視頻片段,惡意病毒繁殖等等。當大量用戶在同一時間開始并發存儲讀寫任務時, 就會產生 “存儲IO風暴”,最糟糕的情況下能癱瘓整個磁盤柜。為了解決這一問題,VMware和Citrix分別采取了不同的方法來應對。
VMware提出分級存儲的概念,提倡不同性質的數據應區別對待。簡單理解就是花錢來買性能。 對于系統鏡像模板這類高頻訪問的數據,他推薦用戶放置在SSD,甚至Flash Memory Card之上。由于一個20G的系統模板最大能支持50~60個虛擬桌面開機,所以當虛擬桌面數量上規模時,高速存儲的容量也要求越大。這類商用高速存儲將是一筆不菲的開銷,要知道其陡峭的性能增長曲線與成本曲線是成正比的關系。
而Citrix采用了更廉價更聰明的做法。既然磁盤操作是計算環節中最慢的部分,那我就盡量避免它。Citrix在其兩種鏡像管理方法中都使用了鏡像緩存技術來分擔對共享存儲的壓力。例如PVS, 鏡像不再是從共享存儲上直接訪問,而是由“Provisioning Server”來統一分發。“Provisioning Server”會將母版鏡像緩存在內存中,通過網絡流送給虛擬桌面。由于整個路徑上都是電氣信號的轉換,所以性能比磁盤的機械操作要快得多。大家可以參考以下視頻,更直觀地了解PVS的開機性能(Ardence是Citrix收購前的名稱)。
MCS+IntelliCache方法則是將集中于中央共享存儲的壓力分攤到每一個虛擬桌面宿主服務器上。一般宿主服務器上都配有本地硬盤,這些硬盤空間不用白不用。當宿主服務器加載第一個虛擬桌面時,系統鏡像就被緩存在本地存儲上,當后續虛擬桌面開機時,宿主服務器如果發現使用的是相同模板(通常就是),就直接從本地存儲讀取,不再訪問共享存儲了。如果桌面是可回收類型的,那么用戶在桌面上的寫操作也全部發生在服務器本地,不會寫到共享存儲上。因為當用戶登出時,虛擬桌面上的臨時改變都會被丟棄。
無論是PVS還是MCS都是想方設法將共享存儲上的IOPS卸載下來,從而降低虛擬桌面方案對高端共享存儲的依賴性。有客戶做了一個簡單的測試,結論是VMware的Link Clone技術所需的IOPS大致是Citrix的1.5倍以上。VMware也認識到自己方案的不足,在其后期版本中也規劃了類似于Citrix Intellicache技術的緩存方法。由于該技術尚未發布,本文暫不做評價。