桌面虛擬化技術,維基百科上給出的定義是:“Desktop virtualization(或者成為Virtual Desktop Infrastructure)是一種基于服務器的計算模型,并且借用了傳統的瘦客戶端的模型,但是讓管理員與用戶能夠同時獲得兩種方式的優點:將所有桌面虛擬機在數據中心進行托管并統一管理;同時用戶能夠獲得完整PC的使用體驗。
很多商業方案同時提供了將用戶遠程轉向到傳統的共享系統,例如微軟終端服務,思杰應用服務器,刀片PC甚至是沒有使用的物理PC機。”桌面虛擬化的發展過程,大概分為以下3個階段:
1、第0.5代的桌面虛擬化技術
在我們還不知道什么叫桌面虛擬化的時代,這種技術的前身從不同的領域產生,發展直至成熟,使得現在的桌面虛擬化技術成為現實。這主要包括了2種技術:
遠程桌面
遠程桌面技術,幾乎所有從事IT技術的人都使用過。內置在WindowsXP中的遠程桌面使用了RDP(Remote Desktop Protocol)協議,使得用戶可以從其他的電腦上遠程登錄、訪問與使用目標桌面。RDP協議最早微軟用于Windows Server上的Terminal Service(終端服務)的訪問協議,實現了Windows Server上的多用戶模式,使得用戶能夠在本地并不安裝任何應用的情況下,遠程使用服務器上的各種應用。這種技術是將目標機上運行界面傳輸到用戶實際的操作機屏幕上,并將鍵盤,鼠標等一系列的外設輸入,傳輸到目標機,實現交互。終端服務與遠程桌面的不同是,前者只操作應用,而后者將擁有整個桌面的控制權(當然這是獨享的,這也是為什么有人遠程桌面連入XP后,目標機屏幕自動變黑的原因)。
在虛擬化技術興起之后,微軟將Windows Server2008上的終端服務重新定義為演示虛擬化技術。而RDP協議的真正創造者——Citrix(發明了RDP協議,后來又將RDP協議賣給了微軟,轉而研究了效率更高的ICA協議)——使用ICA交付的應用模式稱之為“應用虛擬化技術”。
不管名稱如何叫,但可以看出桌面虛擬化技術的前身——遠程桌面,是與現在的應用虛擬化技術具有相同淵源的。這也是今天桌面虛擬化技術的核心部分,正是有了這種技術,使得我們遠程訪問自己的桌面成為可能,也將用戶使用與后臺管理兩個以前難以協調的矛盾進行了有機的分離,解決了目前用戶使用靈活性與IT統一安全管理的沖突。
桌面操作系統虛擬化
這里是為了區分服務器虛擬化技術,特別強調桌面操作系統被虛擬。其實這個概念基本可以被等同與Vmware Workstation和微軟VPC的方式實現的桌面級的操作系統。當然這種應用模式,主要開發人員和測試人員經常使用的,雖然虛擬的并不一定是XP,2000 professional,vista等桌面系統。這里之所以提到這個是因為在虛擬化技術剛起步的時候,一些廠商將此定義為桌面虛擬化技術,例如微軟在推出MED-v技術之前,都是將VPC定義為微軟的桌面虛擬化產品。
在這個角度定義的所謂桌面虛擬化,基本上可以被認為是用于PC上的桌面系統之上的虛擬化解決方案,只是與服務器虛擬化簡單的區別與對應。其本身解決的仍然是操作系統的安裝環境與運行環境的分離,不依賴于特定的硬件。但是不可否認的是,而且當服務器虛擬化技術成熟之后,真正得虛擬桌面技術才開始出現。
2、第一代桌面虛擬化技術
第一代桌面虛擬化技術,真正意義上將遠程桌面的遠程訪問能力與虛擬操作系統結合了起來,使得桌面虛擬化的企業應用也成為可能。
首先,服務器虛擬化技術的成熟,以及服務器計算能力的增強,使得服務器可以提供多臺桌面操作系統的計算能力,以當前4核雙CPU的至強處理器16G內存服務器舉例,如果用戶的xp系統分配256M內存,平均水平下,一臺服務器可以支撐50-60個桌面運行,則可以看到,如果將桌面集中使用虛擬桌面提供,那么50-60臺的桌面采購成本將高于服務器的成本,而管理成本,安全因素,還未被計算在內,所以服務器虛擬化技術的出現,使得桌面虛擬化技術的企業大規模應用成為可能。
當然,如果只是把臺式機上運行操作系統轉變成為服務器上運行的虛擬機,而用戶無法訪問,當然是不會被任何人接受的。所以虛擬桌面的核心與關鍵,不是后臺服務器虛擬化技術講桌面虛擬,而是讓用戶能夠通過各種手段,任何時間,任何地點,通過任何可聯網設備都能夠訪問到自己的桌面,即遠程網絡訪問的能力。而這又轉回到和應用虛擬化的共同點,即遠程訪問協議的高效性上。
目前,提供桌面虛擬化解決方案的主要廠商包括微軟、Vmware、Citrix,而使用得遠程訪問協議主要利用兩種協議:早期由Citrix開發的,后來被微軟購買并集成在Windows中的RDP協議,這種協議被微軟和Vmware的桌面虛擬化產品使用,而基于Vmware的SunRay等硬件產品,也都是使用RDP協議;第二種就是Citrix自己開發的目前獨有的ICA協議,Citrix將這種協議使用到其應用虛擬化產品與桌面虛擬化產品中。
協議效率決定了虛擬桌面使用的用戶體驗,而用戶體驗是決定了桌面產品生命力的關鍵,(微軟的成功與Vista的沒落無不證明了這一點)。從目前官方的文檔與實際測試來看,通常情況下,ICA協議要高于RDP協議,一般情況下ICA的帶寬占用為20kbps,而RDP在60kbps,這些都不包括看視頻,玩游戲以及3D制圖狀態下的帶寬占用率。正是由于這個差別,虛擬桌面的用戶體驗有比較大差別。一般情況下,在LAN環境下,一般的應用RDP和ICA都能正常運行,只不過是RDP協議造成網絡占用較多,但對于性能還不至于產生很大影響,但是在廣域網甚至是互聯網上,RDP協議基本不可用。而在視頻觀看,Flash播放,3D設計等應用上,即使局域網,RDP的性能也會受到較大影響(在優酷上有很多視頻進行比較),ICA的用戶體驗會很流暢。而且根據Citrix官方剛剛推出的HDX介紹,這方面的新技術會得到更快地推進。而微軟和Vmware也意識到了這一差別,微軟轉而加大RDP協議的研發與優化,而Vmware也在轉而尋找其他的更高效的替代方案。
特別強調的是,這三家廠商后臺的服務器虛擬化技術都使用的是自己的產品,微軟采用的是Hyper-v,Citrix采用的是XenServer(不過根據官方說法,是可以支持其他兩個廠商的服務器虛擬化產品),Vmware使用的是自己得ESX。
3、第二代桌面虛擬化技術
第一代技術實現了遠程操作和虛擬技術的結合,降低的成本使得虛擬桌面技術的普及稱為可能,但是影響普及的并不僅僅是采購成本,管理成本和效率在這個過程中也是非常重要的一環。
縱觀IT技術應用歷史,架構的變化和三國中名言一樣:分久必合,合久必分。從最早主機-亞終端集中模式,到PC分布模式,到今天的虛擬桌面模式,其實是一個計算使用權與管理權的博弈發展。開始主機模式,集中管理,但是應用困難,必須到機房去使用;PC時代來臨,所有計算都在PC上發生,但是IT的管理也變成分布式的,這也是為什么IT部門的桌面管理員壓力最大,需要分布式的管理所有用戶的PC,管理的成本也大幅度上升。桌面虛擬化將用戶操作環境與系統實際運行環境拆分,不必同時在一個位置,這樣即滿足了用戶的靈活使用,同時幫助IT部門實現了集中的控制,從而解決了這一問題。但是如果只是將1000個員工的pc變成1000個虛擬機,那么IT管理員的管理壓力可能并沒有降低,反而上升了,只不過是不用四處亂跑了而已。
為了提高管理性,第二代桌面虛擬化技術進一步將桌面系統的運行環境與安裝環境拆分、應用與桌面的拆分、配置文件的拆分,從而大大降低了管理復雜度與成本,提高了管理效率。
我們簡單來計算一下:如果一個企業有200個用戶,如果不進行拆分,IT管理員需要管理200個鏡像(包含其中安裝的應用與配置文件)。而如果進行操作系統安裝與應用還有配置文件的拆分,假設有20個應用,則使用應用虛擬化技術,不用在桌面安裝應用,動態將應用組裝到桌面上,則管理員只需要管理20個應用;而配置文件也可以使用Windows內置的功能,和文件數據都保存在文件服務器上,這些信息不需要管理員管理,管理員只需要管理一個文件服務器;而應用和配置文件的拆離,使得200個人用的操作系統都是沒有差別的WindowsXP,則管理員只需要管理一個鏡像(用這一個鏡像生成200個運行的虛擬的操作系統,簡單來講可以理解成類似于無盤工作站的模式)。所以總的來說,IT管理員只需要管理20個應用,1個文件服務器,和1個鏡像。管理復雜性大大下降。
這種拆分也大大降低了對存儲的需求量(少了199個xp的存儲),降低了采購和維護成本。更重要的是從管理效率上,管理員只需要對一個鏡像或者一個應用進行打補丁,或者升級,所有的用戶都會獲得最新更新后的結果,從而提高了系統的安全性和穩定性,工作量也大大下降。