1. 程式人生 > >比較兩大虛擬桌面廠商的系統映象管理

比較兩大虛擬桌面廠商的系統映象管理

虛擬桌面的出現,極大簡化了桌面的管理。針對作業系統部分,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技術的快取方法。由於該技術尚未釋出,本文暫不做評價。 後記:這篇文章引起了很多的爭論。有必要澄清一下。 使用PVS時,既可以建立“個人專用桌面”,也可以建立“浮動分配桌面”。 PVS你可以把他簡單理解成一個你“自制的IP-SAN的儲存”。只不過這個“自制儲存”僅用來分發系統映象,是隻讀的。而你原有的共享儲存主要用來儲存使用者資料,是可寫的。很多人會質疑PVS的效能,通過網路流送OS image,會在網路中出現瓶頸。其實拿IP-SAN來做參照,大家都要對外提供基礎映象,都是走的IP協議,IP-SAN你就不擔憂嗎?PVS直接將OS Image 載入到記憶體中向外分發,它不會比IP-SAN從磁碟讀還慢。引入PVS方案,會增加Server的數量,但它的好處就是讓你有了突破傳統儲存瓶頸,具備橫向擴充套件的能力。傳統儲存出現瓶頸,你只能Scale UP,大家都知道動儲存是個很麻煩的事情,但是PVS出現瓶頸,你可以通過加網絡卡或者增加PVS Server的方式Scale out。以上比喻僅限於桌面虛擬化系統基礎映象場景。大家不要衍生到其他可橫向擴充套件的儲存技術領域。