1. 程式人生 > >KVM虛擬化基礎

KVM虛擬化基礎

關於虛擬化

什麼是虛擬化

在計算機技術中,虛擬化(技術)或虛擬技術(英語:Virtualization)是一種資源管理技術,是將計算機的各種實體資源(CPU、記憶體、磁碟空間、網路介面卡等),予以抽象、轉換後呈現出來並可供分割槽、組合為一個或多個電腦配置環境。

由此,打破實體結構間的不可切割的障礙,使使用者可以比原本的配置更好的方式來應用這些電腦硬體資源。這些資源的新虛擬部分是不受現有資源的架設方式,地域或物理配置所限制。

一般所指的虛擬化資源包括計算能力和資料儲存。

由於目前資訊科技領域的很多企業都曾在宣傳中將該企業的某種技術稱為虛擬化技術,這些技術涵蓋的範圍可以從Java虛擬機器技術到系統管理軟體,這就使得準確的界定虛擬技術變得困難。因此各種相關學術論文在談到虛擬技術時常常提到的便是如前面所提到的那個不嚴格的定義。

為什麼用虛擬化

同一臺物理機執行多個不同版本應用軟體
硬體依賴性較低和便於資料遷移

虛擬化技術的優勢

1.降低運營成本
伺服器虛擬化降低了IT基礎設施的運營成本,令系統管理員擺脫了繁重的物理伺服器、OS、中介軟體及相容性的管理工作,減少人工干預頻率,使管理更加強大、便捷。
2.提高應用相容性
伺服器虛擬化提供的封裝性和隔離性使大量應用獨立運行於各種環境中,管理人員不需頻繁根據底層環境調整應用,只需構建一個應用版本並將其釋出到虛擬化後的不同型別平臺上即可。
3.加速應用部署
採用伺服器虛擬化技術只需輸入啟用配置引數、拷貝虛擬機器、啟動虛擬機器、啟用虛擬機器即可完成部署,大大縮短了部署時間,免除人工干預,降低了部署成本。

4.提高服務可用性
使用者可以方便地備份虛擬機器,在進行虛擬機器動態遷移後,可以方便的恢復備份,或者在其他物理機上執行備份,大大提高了服務的可用性。
5.提升資源利用率
通過伺服器虛擬化的整合,提高了CPU、記憶體、儲存、網路等裝置的利用率,同時保證原有服務的可用性,使其安全性及效能不受影響。
6.動態排程資源
在伺服器虛擬化技術中,資料中心從傳統的單一伺服器變成了統一的資源池,使用者可以即時地調整虛擬機器資源,同時資料中心管理程式和資料中心管理員可以靈活根據虛擬機器內部資源使用情況靈活分配調整給虛擬機器的資源。
7.降低能源消耗
通過減少執行的物理伺服器數量,減少CPU以外各單元的耗電量,達到節能減排的目的。

KVM簡介

KVM,基於核心的虛擬機器(英語:Kernel-based Virtual Machine,縮寫為 KVM),是一種用於Linux核心中的虛擬化基礎設施,可以將Linux核心轉化為一個hypervisor。KVM在2007年2月被匯入Linux 2.6.20核心中,以可載入核心模組的方式被移植到FreeBSD及illumos上。

KVM在具備Intel VT或AMD-V功能的x86平臺上執行。它也被移植到S/390,PowerPC與IA-64平臺上。在Linux核心3.9版中,加入ARM架構的支援。

KVM目前由Red Hat等廠商開發,對CentOS/Fedora/RHEL等Red Hat系發行版支援極佳。

關於KVM

  1. KVM是開源軟體,全稱是kernel-based virtual machine(基於核心的虛擬機器)。

  2. 是x86架構且硬體支援虛擬化技術(如 intel VT 或 AMD-V)的Linux全虛擬化解決方案。

  3. 它包含一個為處理器提供底層虛擬化 可載入的核心模組kvm.ko(kvm-intel.ko或kvm-AMD.ko)。

  4. KVM還需要一個經過修改的QEMU軟體(qemu-kvm),作為虛擬機器上層控制和介面。

  5. KVM能在不改變linux或windows映象的情況下同時執行多個虛擬機器,(它的意思是多個虛擬機器使用同一映象)併為每一個虛擬機器配置個性化硬體環境(網絡卡、磁碟、圖形介面卡……)同時KVM還能夠使用ksm技術幫助宿主伺服器節約記憶體。

  6. 在主流的Linux核心,如2.6.20以上的核心均已包含了KVM核心。

關於Virtual Machine Manager

電腦運算中,紅帽公司的Virtual Machine Manager是一個虛擬機器管理員,可以讓使用者管理多個虛擬機器。
基於核心的虛擬機器libvirt與Virtual Machine Manager。 
Virtual Machine Manager可以讓使用者:

建立、編輯、引導或停止虛擬機器。
檢視並控制每個虛擬機器的控制檯。
檢視每部虛擬機器的效能以及使用率。
檢視每部正在執行中的虛擬機器以及主控端的即時效能及使用率資訊。
不論是在本機或遠端,皆可使用KVM、Xen、QEMU。


其他虛擬化軟體