當操作系統突破了硬件限制,深化了與管理程序的關系,人們會感覺虛擬機看起來很離奇。每當我看到一些規模合理的IT基礎設施很少有或根本沒有虛擬化的地方,我就會感到很難以理解,在當下的信息時代,管理者怎可沒有計劃在將來實現基礎設施虛擬化呢?不管原因是態度問題,還是預算問題,總是死守傳統的物理基礎設施在今日天的市場環境下是難以持續發展的。
首先,從這些公司對他們的服務器的哪些方面進行了更新來看,如果他們用新的四核服務更換舊的單雙核服務器,那么他們已經得到了足夠多的硬件。他們的每一個服務器都在負載運行計算機硬件,這使得處理虛擬服務器或免費的管理程序變得很容易。
其次,如果我們再觀望幾年,我們就有希望看到我們管理虛擬服務器的方式的根本性轉變。就好像超級企業虛擬化的出現已不再是革命性的了,這種現象以后會更加普遍。當我們開始看到操作系統被有計劃地調整,而后像虛擬機一樣運行的時候,由于缺乏有意義的驅動程序的支持和物理服務器的其他屬性,這些操作系統甚至會停止物理硬件上的功能,這將是操作系統的一次飛躍。
最后,我們會看到,被廣泛使用的操作系統將去掉很大一部分的基礎零件。針對虛擬機的管理程序應用、不同的記憶方法、CPU和對I/O資源的加工和管理,刪除許多冗余部分會有利于其核心程序的運行。我們很樂意看到將CPU和RAM(內存)植入虛擬機的時代的到來--通過使用支持熱插拔硬件進行擴展(我們最初設想是把它用作物理內存和CPU的附件)。
但是,我們有很長的一段路要走,因為這是一個涉及多項技術的共同進步。當一個操作系統內核可以立即請求、適應和使用額外的計算資源,我們將更能理解什么是真正的云計算:與底層硬件無關,沒有固定的CPU概念,也沒有固定或靜態的RAM概念的服務器實體。這就是在調度水平上,與管理程序緊密結合,但與處理器、NUMA(非一致存儲訪問)優化或RAM運行無關的操作系統。
我相信虛擬化服務器的時代必將到來。管理程序將變得強大和智能,從而擁有任何兼容主機操作系統的功能,但是其本質變成了每個虛擬機的應用程序庫。微軟已經在即將推出的WindowsServer8Hyper-V上安裝了這個虛擬化管理程序,使該管理程序甚至能在舊的WindowsServer2003R2上管理熱添加內存。
由于應用程序的負載量增加,我們就更關心與資源需求日益增長的管理程序之間的溝通,隨后管理程序才能做出較低級別的決定,如允許虛擬機消耗哪些物理資源,以及必要時將其他實體過渡到不同的物理服務器以騰出空間。
這反過來將打消人們的想法,即對虛擬機分配仿真CPU和RAM的限制--就像半虛擬化一樣,每個虛擬機可能知道它是作為一個虛擬機運行的,它也將運行自己的內核,并能直接處理管理程序,從而管理事務。
我們談論的是有固定用途的服務器,這個服務器具有嵌入式管理程序和可能冗余的被動管理程序升級的功能。當然,現在我們也在談論小尺寸的物理服務器,它們基本上都有用軟件管理的CPU和內存插槽背板級別的網絡接口。
想象一下,你不再有幾十個Web服務器虛擬機,而可能只有兩個,兩個虛擬機的負荷量也可以在一瞬間從500MHz發展到32GHz,同時占用6GB到512GB的RAM空間,并且無需指定任何固定值。在一個適當的高速背板的幫助下,一個單一的服務器實體控制兩個或兩個以上的物理服務器,并用管理程序分配優先任務,保持在本地進行RAM個體加工,這樣的前景是可以想象的。當然,我們是在談論大規模多線程應用程序,但這不正是虛擬化和多核CPU背后的整體思路嗎?
或許,在未來的某一天,我們會看到一個刀片機箱,甚至只是其中的幾個架子,而不是看到幾十個物理服務器在運行程序。我們不會把它們視為一個資源庫,根據任意數量的服務需要來利用它們,而是讓這些服務器在操作系統墊片上運行。如果有硬件故障,我們就會把那個容易熱的零件換掉,這樣,唯一的損失可能只是幾百個程序項目從一個含有數以萬計個項目的表格中消失,而這幾百個程序會被立即重新啟動,其他地方服務也不會有顯著的損失。
也許,如果我們將這個變為現實,那些還在發展落后的物理數據中心的堅定分子也會熱衷于每個物理盒子運行多個服務器的想法。在這一點上,他們將不會有其它選擇。