天天看點

談談桌面虛拟化

“一項好的技術不會消亡,它隻是會不斷的以新的形式重新出現” -- 我自己

現如今流行的各種熱門技術--雲計算,大資料,深度學習,分布式存儲,等等等等,其實都不是某一年突然從石頭裡面蹦出來的。一直關注學術界和産業界就會發現,它們都和早年的某些熱門研究方向一脈相承,隻是由于各種客觀條件的不成熟,早期試圖商業化的嘗試失敗或者無疾而終。而最終在這個年代,在人才,硬體,基礎設施建設全面到位的條件下,終于瓜熟蒂落,結出碩果。

這一篇我打算從一個比較小的話題開始說起,那就是桌面虛拟化,也就是現在的常說的vdi。

早期的計算機隻有專業人士使用,使用模式就是一台跑着unix的大型機帶上數十台閃爍着綠色字元的終端。這應該是最早的桌面虛拟化--即計算完全由伺服器端完成,使用者端隻負責處理輸入和輸出。後來随着dos和windows的發展,novell netware成了機房無盤工作站組網的最佳方案。netware應該不算完全意義上的桌面虛拟化。netware的工作站沒有硬碟,但是有獨立的計算能力,相當于伺服器隻負責存儲這一塊。

第一個真正嘗試桌面虛拟化的是偉大的sun公司的産品-sunray,如圖

談談桌面虛拟化

sunray實作了真正意義上的桌面虛拟化-即用戶端隻有簡單的網絡處理,圖像顯示和鍵鼠輸入功能,圖形化桌面的生成,計算完全由伺服器端完成。更先進的事,一個桌面會話與一張智能卡綁定,當拔出智能卡查到另外的sunray終端上,使用者已經打開的視窗和正在處理的程式都會遷移到新的終端上顯示出來。我就曾經試過在sun中國的辦公室打開文檔,然後抽出智能卡,坐飛機到美國辦公室之後,插入智能卡,所有打開的程式曆曆在目。

要知道,如今看來都顯得這麼時髦的模式,是什麼時候推出的呢?它是sun公司在颠峰時期的1999年推出的!隻能說sun公司的技術人員太有超前眼光和研發能力,卻沒有好的商業模式來将他們的創舉變成金錢....

sun的産品看起來很美好,但是為什麼沒有成功呢?主要有兩個問題,第一是對桌面系統的相容不夠。早期的sunray隻能支援solaris作業系統,桌面的美觀易用程度和windows乃至于linux完全沒法比。使用者對solaris系統的抵觸造成了早期無法推廣。後來,sun收購virtualbox以後,把虛拟機引入了sunray。在終端上使用者可以通過virtualbox的用戶端打開運作在伺服器上的windows虛拟機桌面,如上圖所示。但是,這樣就引入了下一個問題--性能。

virtualbox其實是一個相當初級和原始的虛拟機軟體,不客氣地說,它隻能算是一個pc上的玩具。如果sunray伺服器所負載的使用者全部都用windows桌面的話,每一個桌面在伺服器端都要啟動一個virtualbox程序,而且各個vb直接互相獨立。所占資源完全由使用者自己控制。而伺服器最底層的solaris在資源配置設定排程方面完全無能為力。

談談桌面虛拟化

而戰勝sun的,就是vdi概念的提出者--vmware。vmware的esx在伺服器端直接接管所有硬體統一管理,esx之上即直接是各個使用者的guest os,層次的減少帶來了性能的提升。esx在對cpu,記憶體和存儲的管理方面又進行了大量的優化(記憶體的ballooning漂移技術,存儲的vmfs檔案系統),再加上強大的快照和遷移技術,使得使用者能迅速的付出較少學習代價的部署虛拟桌面。

談談桌面虛拟化

從1999年sun率先把sunray推向市場,到被vmware(當然還有其它對手比如citrix)完勝,sun在相當長時間内隻想讓市場接受它自己的設計,而完全沒有根據市場的需求進行優化和革新,10年下來,sunray産品和初期的産品看起來甚至于都沒什麼本質差別,這就是sun失敗的主要原因。

回到整個業界,vdi的面臨的挑戰和難題,公認的就在存儲方面。多個guestos混雜的無序讀寫和大量guestos同時啟動帶來的海量的讀操作,給虛拟存儲帶來巨大壓力。目前已經有相當多的學術研究和産品緻力于解決這類問題。例如,去年底剛成功ipo的nimble storage公司采用的casl架構,以ssd做為讀cache配以特殊的算法能在數倍乃至十倍提升讀性能,将混雜無序的寫操作歸并,壓縮,轉換為順序寫操作,能在相當程度上提升寫性能。

在美國目前桌面虛拟化已經想當成熟,很多大型機構都采用了虛拟化桌面來降低it維護和管理成本。由此催生出對更高性能的追求,孕育了相當多有想法有能力的創業公司。反觀國内,目前桌面虛拟化并不普及,乃至于相關産業鍊整體都不發達。希望有朝一日,國内也能誕生出有能力在巨型機構部署高性能桌面虛拟化方案的公司來。

(寫字真累啊!)

繼續閱讀