1. 程式人生 > >KVM虛擬化技術

KVM虛擬化技術

kvm虛擬化


KVM虛擬化

虛擬化介紹:
VMware,Hyper-v, XenSer, XenClient,
Oracle的VirtualBox,
linux上的開源虛擬化技術: KVM,Xen等。

KVM :
linux內核原生虛擬化技術。
依賴CPU提供的硬件虛擬化技術。


X86平臺虛擬化:
虛擬化層叫虛擬機監控器(VMM)也叫Hypervisor. (宿主機)
虛擬出來的平臺稱為客戶機。



軟件虛擬化:
純軟件在現有物理平臺實現對物理平臺訪問的截獲和模擬。

如QEMU,通過純軟件仿真X86平臺的取值,解碼和執行。

VMware 使用動態二進制編譯技術。可直接在物理平臺運行。




硬件虛擬化:
半虛擬化:
軟件虛擬化平臺完全通過VMM軟件實現對虛擬機的監控,

彼此獨立和隔離,需要改動客戶操作系統,讓客戶機以為自己運行在虛擬環境下,

能夠與VMM協同工作。就叫半虛擬化。


半虛擬化需要修改客戶機操作系統的源代碼實現主動通知。
效率差。



全虛擬化:
1、在系統之後先加載運行虛擬機監控程序(系統內核)。
運行在底層的軟件層。會提供一個具有一定特權的特殊虛擬機,

由特殊虛擬機來運行需要提供給用戶日常操作和管理使用的操作系統環境。

開源虛擬化: Xen,
商業軟件 VMware ESXi
微軟的 Hyper-v



2、宿主機操作系統
虛擬機監控程序是特殊的應用程序。
如KVM,VMware Workstation, VirtualBox.



KVM 架構 :
虛擬機實現為常規的Linux進程。由標準Linux調度程序進行調度。

每個虛擬CPU顯示為一個常規的linux進程。

QEMU :
KVM本身需要用戶控件程序通過/dev/kvm接口設置一個客戶機虛擬服務器的地址控件,

向/dev/kvm提供模擬的I/O,並將它的視頻顯示映射回宿主的顯示屏。





KVM配置管理:
一個linux進程有兩種運行模式。
內核和用戶,KVM增加了第三種模式:客戶模式(有自己內核和用戶模式)


軟件包工具介紹:
QEMU-KVM :
modprobe命令架子啊KVM模塊。
Linux分為內核部分的KVM內核模塊和QEMU-KVM工具。

效率不高,不易於使用。

Libvirt :
提供了多種語言接口的API,提供方便,可靠的編程接口。

virsh :
基於文本的管理虛擬機的命令。

virt-manager:
圖形用戶界面,用python編寫的虛擬機管理圖形界面。

利用libvirt的API實現。




KVM之虛擬機網絡環境

客戶虛擬機訪問外網:
1、NAT模式:
用戶網絡(User Networking)
虛擬機訪問外網,但是外網不能訪問虛擬機。

原理:
KVM默認方式,支持主機與虛擬機的互訪,支持虛擬機訪問互聯網,

不支持外界訪問虛擬機。

virbr0 :
宿主機虛擬機支持模塊安裝時產生的虛擬網絡接口,

是一個swith和bridge.負責把內容分發到各虛擬機。


適用範圍:
桌面主機虛擬化。


2、Bridge 方式的影響:
作為客戶機,只能選擇NAT或者Bridge方式。

橋接模式:
虛擬網橋(Virtual Bridge)
較復雜,設置後客戶機與互聯網,客戶機與主機之間通信很容易。

適用於虛擬機集群部署。可高速訪問。

原理:
虛擬網橋的網絡連接方式:
客戶機和虛擬系統能夠相互通信。虛擬系統具有獨立IP。

橋接網絡(物理設備共享)
一個物理設備復制到一臺虛擬機。網橋多用作高級設置。

適用於主機多個網絡接口。

網橋的基本原理:
創建一個橋接接口br0,在物理網卡和虛擬網絡接口之間傳遞數據。

適用範圍:
服務器主機虛擬化。

本文出自 “安然一笑” 博客,請務必保留此出處http://liyuanjie.blog.51cto.com/12877605/1963562

KVM虛擬化技術