虛擬化是走向雲的第一步,同理,開源虛擬化是走向開源雲的第一步。雲計算所提供的產品與方案都是圍繞著IT資源的新交付與消費模式。雲的形式多樣,私有雲、公有雲與混合雲,無論哪種雲都具有三個關鍵特征:虛擬化、標准化與自動化。那麼,KVM是什麼?它能否滿足企業對雲的需求?
KVM是什麼?
KVM(Kernel-based Virtual Machine)源自一家公司叫Qumranet。2008年9月,該公司被紅帽收購後大力發展KVM的社區,目的在於增強底層架構功能,簡化虛擬機管理。KVM是一個開源的系統虛擬化模塊,它需要硬件支持,如Intel VT技術或者AMD V技術,是基於硬件的完全虛擬化。
KVM背靠Linux好乘涼
KVM是完全內置於Linux的開源hypervisor。它將Linux轉換成虛擬機監控器。因此,KVM能利用Linux做大量hypervisor能做的事情,如任務調度、內存管理與硬件設備交互等。
事實上,自Linux 2.6.20之後,KVM就集成在Linux的各個主要發行版本中。它使用Linux自身的調度器進行管理,所以相對於Xen,其核心源碼很少。紅帽2011年發布RHEL 6後,完全拋棄開源Xen,支持KVM作為hypervisor。
KVM專注於成為最好的虛擬機監控器,創建的虛擬機能作為Linux處理器,當做子操作系統運行在Linux或Windows上。此外,通過使用另一個開源模塊QEMU,提供虛擬機中的I/O設備仿真。
近年來,隨著x86虛擬化流行,KVM能利用虛擬化擴展運行在x86處理器上。所以在虛擬x86處理器很得心應手。KVM價值在於能運行Linux或Windows虛擬機,由於其內置在Linu中,無需任何修改就能運行Linux應用。
IBM與KVM的淵源
在44年前,IBM為了更好地利用硬件,實現了大型機分區技術,也就是虛擬化技術。硬件支持對於虛擬化的采用至關重要。早在1967年,IBM System/360大型機上就實現了虛擬化,客戶可同時運行多個應用提高硬件利用率。隨著時間推移,這項技術也伴隨著IBM大型機的發展進入了z/VM。這時也開發了新市場,將Linux移植到System z,z/VM就能讓成百上千的Linux虛擬機同時運行在單台IBM主機上。
90年代,IBM將hypervisor帶入Power系統,充分利用底層硬件。發展到現在,PowerVM能虛擬AIX、i/OS以及Linux操作系統。
讓我們回到早期的x86服務器時代,那時英特爾和AMD還不能友好地支持虛擬化技術。VMware使用動態內存翻譯技術,Xen使用Paravirtualization(半虛擬化)技術,修改操作系統以便進行虛擬。轉機發生在2005年,英特爾和AMD為虛擬化添加了硬件支持,由此開啟了x86 hypervisor新時代。
不久,KVM問世。它構建在Linux之內,並將其轉換成一個成熟的hypervisor。KVM背靠Linux好乘涼,迅速發展壯大。
KVM引起了業界大佬們的興趣。紅帽與IBM開始投資這個開源新秀。2007年,KVM正式成為Linux的一部分。同年,紅帽收購Qumranet及其專家資源。2009年,IBM大幅增加KVM工程投資。如今IBM有60位程序員專門工作在KVM開源社區上。
開源KVM的未來
四年多前,從KVM內置在Linux的那一刻起,就注定著它有不平凡的發展道路。KVM本身就是使用Linux企業的不二選擇,加上它還支持Windows平台,所以也是異構環境的最佳選擇。
近幾年,隨著紅帽、IBM和其他廠商的投入,KVM已經成為一個企業級hypervisor。KVM特別之處在於將Linux轉換成一個Type-1 hypervisor。所以無需任何變更就能享受現有的Linux內核進程調度、內存管理和設備支持。隨著Linux持續發展,KVM也能受益於其成果。
2011年五月,IBM、紅帽、英特爾等重量級廠商組成開放虛擬化聯盟(OVA),致力於提升開源技術KVM的認知度與采用率。2011年11月,紅帽、IBM、英特爾等廠商贊助成立了oVirt.org開源社區,旨在開發開源KVM管理與建立ISV生態系統。OVA從市場角度聯合業界大廠商入手,oVirt社區從技術聯合開發人員入手,為KVM的發展保駕護航。
如今的KVM提供了一個成熟的開源虛擬化平台,可以直接用於企業業務。KVM的時代已來臨。