1. 程式人生 > >kvm虛擬化平臺搭建

kvm虛擬化平臺搭建

一、虛擬化

虛擬化是指計算機元件在虛擬的基礎上而不是真實的基礎上執行。虛擬化技術可以擴大硬體的容量,簡化軟體的重新配置過程。CPU的虛擬化技術可以單CPU模 擬多CPU並行,允許一個平臺同時執行多個作業系統,並且應用程式都可以在相互獨立的空間內執行而互不影響,從而顯著提高計算機的工作效率。

物理機我們一般稱為宿主機(Host),宿主機上面的虛擬機器稱為客戶機(Guest)。那麼 Host 是如何將自己的硬體資源虛擬化,並提供給 Guest 使用的呢?這個主要是通過一個叫做 Hypervisor 的程式實現的。根據 Hypervisor 的實現方式和所處的位置,虛擬化又分為兩種: 1型虛擬化和2型虛擬化

1型虛擬化

Hypervisor 直接安裝在物理機上,多個虛擬機器在 Hypervisor 上執行。這種虛擬化中 Hypervisor 直接管理呼叫硬體資源,不需要底層作業系統,也可以理解為 Hypervisor 被做成了一個很薄的作業系統。 這種方案的效能處於主機虛擬化與作業系統虛 擬化之間 。代表是VMware ESX Server、Citrix XenServer 和 Microsoft Hyper-V,Linux KVM。

 

2型虛擬化

物理機上首先安裝常規的作業系統,比如 Redhat、Ubuntu 和 Windows。Hypervisor 作為 OS 上的一個程式模組執行,並對管理虛擬機器進行管理。KVM、VirtualBox 和 VMWare Workstation 都屬於這個型別。

 

 

二、kvm架構

kvm是一種基於核心的虛擬化(屬於2型虛擬化),主要分為兩大部分

1、位於核心空間的的kvm.io:主要負責虛擬機器的虛擬CPU也就是vCPU ,還有就是對虛擬記憶體進行管理和排程

2、QEMU-KVM:qemu執行在使用者空間,kvm執行在核心空間,兩者通過/dev/kvm打交道。這個QEMU-KVM就是通過修改QEMU程式碼而得出的專門用來建立和管理虛擬機器的管理工具,是為了KVM能更好的和核心打交道。VM 執行期間,QEMU 會通過 KVM 模組提供的系統呼叫進入核心,由 KVM 負責將虛擬機器置於處理的特殊模式執行。為一個虛擬機器提供的是io等裝置。

 

三、kvm實現示例

實驗環境:VMware Workstation 10、centos7(64位)