1. KVM是什么
Kernel-based Virtual Machine的簡稱翁潘,是一個(gè)開源的系統(tǒng)虛擬化模塊趁冈,自Linux 2.6.20之后集成在Linux的各個(gè)主要發(fā)行版本中。它使用Linux自身的調(diào)度器進(jìn)行管理拜马,所以相對(duì)于Xen渗勘,其核心源碼很少。KVM目前已成為學(xué)術(shù)界的主流VMM之一俩莽。
KVM的虛擬化需要硬件支持(如Intel VT技術(shù)或者AMD V技術(shù))旺坠。是基于硬件的完全虛擬化。而Xen早期則是基于軟件模擬的Para-Virtualization扮超,新版本則是基于硬件支持的完全虛擬化取刃。但Xen本身有自己的進(jìn)程調(diào)度器,存儲(chǔ)管理模塊等出刷,所以代碼較為龐大璧疗。廣為流傳的商業(yè)系統(tǒng)虛擬化軟件VMware ESX系列是基于軟件模擬的Full-Virtualization。
2. KVM的歷史
- 以色列的創(chuàng)業(yè)公司Qumrane創(chuàng)建了KVM
早期的主要開發(fā)者Avi Kivity
2006年10月馁龟,在完成基本功能、動(dòng)態(tài)遷移、主要的性能優(yōu)化后部宿,正式宣布了KVM的誕生
2007年2月發(fā)布的內(nèi)核2.6.20中赡艰,開始正式包括了KVM - 2008年9月,Redhat 1.7億美金收購
RHEL 5.4矢炼,在集成Xen的基礎(chǔ)上系瓢,又將KVM添加進(jìn)來
2011年11月,RHEL6使用KVM徹底替換了Xen - QEMU
QEMU是一個(gè)通用的開源的硬件模擬器句灌,可以模擬多種硬件
QEMU-KVM從分支到主干合并夷陋,QEMU成立KVM在用戶空間的管理工具
3. KVM體系結(jié)構(gòu)
- KVM
初始化CPU硬件,打開虛擬化模式涯塔,以支持虛擬機(jī)的運(yùn)行
負(fù)責(zé)CPU肌稻、內(nèi)存、中斷控制器匕荸、時(shí)鐘 - QEMU
模擬網(wǎng)卡爹谭、顯卡、存儲(chǔ)控制器和硬盤 - libvirt
它提供統(tǒng)一API榛搔、守護(hù)進(jìn)程libvirtd和一個(gè)默認(rèn)命令行管理工具virsh
Qemu與KVM
Qemu通過ioctl調(diào)用/dev/kvm接口诺凡,將有關(guān)CPU指令的部分交由KVM來做
Qemu還是模擬網(wǎng)卡东揣、顯卡、存儲(chǔ)控制器和硬盤等腹泌,會(huì)影響這些設(shè)備的性能
通過pass throuth半虛擬化設(shè)備virtio_blk嘶卧,virtio_net,提高設(shè)備性能
libvirt與KVM
KVM集中管理與控制
http://www.linux-kvm.org/page/Management_Tools
示例:
- Ovirt
功能強(qiáng)大凉袱,是Redhat虛擬化管理平臺(tái)RHEV的開源版本
http://www.ovirt.org/ - WebVirtMgr
https://www.webvirtmgr.net
virt-manager的Web模式的替代品 - ConVirt
http://www.convirture.com/
分開源版本和商業(yè)版本
Hypervisor與VMM的選擇
- 電信/IPS公共云
單一hypervisor
KVM - 互聯(lián)網(wǎng)公司
單一hypervisor
KVM - Web托管和SAS細(xì)分市場
單一或多個(gè)hypervisor
容器(LXC,Parallels,Docker)
KVM - 企業(yè)
多種Hypervisor
KVM和vCenter/ESXi
國產(chǎn)虛擬化解決方案概述
- Stop Trying to Reinvent the Wheel芥吟,不要重復(fù)造輪子
- 國產(chǎn)虛擬化解決方案重點(diǎn)在虛擬化的管理與桌面協(xié)議
- Hypervisor/VMM選擇:
H3:KVM
紅山:Xen
華為:Xen→KVM→Xen
浪潮:Xen
普華:KVM
銳捷:KVM
深信服:KVM
...其他KVM居多