李慧穎
【摘要】 在云計算技術日益發展的今天,虛擬化技術已經成為云計算的重要支撐技術之一,其特點是能快速進行資源整合,進而最大限度的對已整合資源進行分配。KVM虛擬化是基于Linux內核的開源虛擬機平臺,是硬件虛擬化的擴展及QEMU的升級版,在很大程度上已取代Xen,成為Linux系統上創建和支持虛擬機的默認開源方案。本文將針對虛擬化技術中的KVM進行介紹,使讀者對KVM有初步認識。
【關鍵字】 Linux內核 KVM虛擬化 半虛擬化
據報告分析早前70%的IT預算都花費在基礎設施上,并且在許多情況下還會更糟。為了解決這個問題,目前的數據中心已普遍采用虛擬化技術解決各企業對于操作系統單一用途的部署需求而導致的服務器大規模增長。虛擬化技術既能將各企業的應用隔離開來,又能解決服務器超低利用率導致碳排放激增的問題,為企業節省了開銷。
一、虛擬化技術
根據韋氏字典的解釋,虛擬現實是“通過由電腦提供的感官刺激(例如視覺和聽覺),使用戶產生一種人工環境的體驗,并且在這人工環境中,用戶的行動部分地由該環境中所發生的事情所決定”。虛擬化正是這樣做的:虛擬機軟件在一臺真正的物理系統上創建一個或多個虛擬工作站或服務器。磁盤空間、處理器性能、網絡適配器及大量隨機訪問存儲器(RAM)均取決于真正物理機上的資源。
如圖1所示,一般的計算機模型可以抽象成為一定的物理資源和運行其上的計算機元件,它們之間通過定義好的物理資源接口進行交互。虛擬化層必須能夠捕捉到計算機元件對物理資源的直接訪問,并將其重新定向到虛擬資源池中。
二、KVM虛擬化
KVM的全稱是Kernel Virtual Machine,翻譯成中文就是基于內核的虛擬機,是一個開源的虛擬化模塊。
2.1 KVM的產生
KVM最早是由以色列的Qumranet公司開發的,后于2008年被Linux的發行版提供商Redhat收購,從而成為KVM開源項目的新主人,開始著手用KVM替換掉早前已經集成在系統中卻由于其自身管理系統資源架構的問題引起內核開發人員不滿的Xen。2010年后,RedHat在其新推出的Redhat Enterprise Linux 6.0 以后2.6.20以上版本的系統內核中集成了KVM虛擬機,摒棄了早前RHEL 5.X系列中集成的Xen。
2.2 KVM的特點
KVM是基于Linux內核的完全原生的全虛擬化解決方案。與半虛擬化(準虛擬化)不同,全虛擬化提供了完整的X86平臺,包括處理器、磁盤空間、網絡適配器及RAM等,其無須對客戶機操作系統做任何修改便可運行已存在的基于X86平臺下的操作系統和應用程序。
與Xen相比,其優勢顯而易見:1)KVM是開源平臺,大幅降低了虛擬機的部署成本;2)KVM在內核2.6.20版之后,自動整合到Linux內核中;Xen所需的內核源代碼補丁與特定的內核版本綁定,而且安裝時需要大量的軟件包,卻仍然無法保證每個Xen的正常運行;3)Xen的虛擬機管理程序是一段單獨的源代碼,并提供一組專門的管理命令,不是所有Linux使用者都熟悉;KVM的命令行管理工具繼承自QEMU,已經被Linux學習者廣泛接受;
2.3 KVM的適用范圍
作為開源虛擬化平臺,KVM適用于規模較大的環境,如虛擬主機達到2500臺以上的情況,旨在節約平臺采購與部署的成本;規模在500臺虛擬主機以下時,不妨使用商業平臺,畢竟此時在穩定性與性價比上商業平臺能達到平衡;當主機數目在兩者之間時,不妨考慮以商用平臺為主,開源平臺為輔的方法更能很好的發揮二者的優勢。
三、結論
目前KVM已經得到了相當廣泛的支持,除了一線的商業Linux廠商的支持外,藍色巨人IBM的鼎力支持也是KVM發展中不可或缺的一個環節。其完善了X86架構上進行虛擬的限制,并推出了多種KVM的虛擬化解決方案,意在迅速將虛擬化系統轉化為私有云。不得不說,KVM已經很大程度上成為Linux系統上創建和支持虛擬機的默認開源方案,將Xen取而代之,成為未來能與Hype-V乃至VMware相抗衡的有力勁旅。
參 考 文 獻
[1] Danielle Ruest等著 陳奮譯.虛擬化技術指南[M].北京:機械工業出版社,2011.15-16
[2]任永杰等著.KVM虛擬化技術實戰與原理解析[M].北京:機械工業出版社,2014.8-9
[3] William von Hagen. 使用 KVM 虛擬化技術[J/OL]. http://www.ibm.com/developerworks/cn/linux/l-using-kvm/,2015-8-22