您的位置:首页 > 其它

虚拟化

2015-12-29 17:45 302 查看
虚拟化
1.虚拟化介绍
(1)虚拟化模型



(2)通过虚拟化工具把cpu、内存、硬盘等真实硬件资源模拟成更少的虚拟硬件资源

(3)为什么要虚拟化?
使硬件资源使用率最大化、云计算领域

(4)虚拟化分类
1)软件级别:所有硬件通过模拟器模拟出来(qemu)
2)硬件级别:通过VMM(虚拟化监视器)将硬件分配和管理,操作系统运行在建立好的vm上(Xen、vmware[ESX、workstation]、kvm、virtualbox)
3)操作系统级别:虚拟机操作系统和宿主操作系统共享,可以模拟上千个虚拟机出来(openvz)

2.半虚拟化、全虚拟化
(1)半虚拟化(para-virtualization)
半虚拟化宿主机和客户机都需要更改操作系统内核、客户机知道宿主机的存在,两者需要协同合作。(Xen支持半虚拟化)

(2)全虚拟化(full virtualization)
全虚拟化为客户机提供了完整虚拟硬件资源,客户机不需要做任何更改,它不知道宿主机的存在。(kvm属于全虚拟化,vmware也是全虚拟化)

(3)半虚拟化性能要比全虚拟化高

3.Xen和KVM比较
(1)不管cpu支持不支持虚拟化,Xen都可以安装,而KVM必须要cpu支持虚拟化才行。
(2)Xen支持半虚拟化也支持全虚拟化,KVM仅支持全虚拟化
(3)安装Xen后,Xen会替换原来的内核接管系统管理。而KVM仅仅是Linux内核的一个模块,依然由系统原内核管理系统。
(4)KVM是后起之秀,历史没有Xen早,但是KVM出来后得到广大Linux内核喜爱,就是因为KVM不像Xen那样需要修改内核,接管内核。
(5)Xen被Ctrix收购,有商业版的Xen Server,而KVM被RedHat收购。
(6)在Xen的体系结构中,XenHypervisor运行于硬件之上,并且将系统资源进行了虚拟化,将虚拟化的资源分配给上层的虚拟机(VM),然后通过虚拟机VM来运行相应的客户机操作系统。

4.KVM介绍
(1)KVM全称kernel-virtual-machine,是针对包含虚拟化扩展(IntelVT或AMD-V)的x86硬件上的完全原生的虚拟化解决方案。
(2)是以色列Qumranet开发,基于Linux内核。2008年9月4日RedHat公司收购KVM。
(3)rhel5/centos5默认是Xen,rhel6/centos6版本默认是kvm。

5.KVM架构
(1)KVM驱动:作为Linux内核的一个模块,其主要负责虚拟机的创建,虚拟机内存的分配,vcpu寄存器的读写以及vcpu的运行。
(2)Qemu:用于模拟虚拟机的用户空间组件,提供I/O设备模型,访问外设的途径。
(3)Libvirt,virsh:由于QEMU工具效率不高,RedHat为KVM开发了辅助工具,比如libvirt、libguestfs等。Libvirt是一套提供了多种语言接口的API,为各种虚拟化工具提供一套方便、可靠的编程接口,而且支持Xen。使用libvirt,你只需通过libvirt提供的函数连接到KVM或Xen宿主机,便可以用同样的命令控制不通的虚拟机了。Libvirt不仅提供API,还自带一套基于文本的管理虚拟机的命令virsh,可以通过使用virsh命令来使用libvirt的全部功能。
(4)virt-manager是一套用python编写的全虚拟机管理图形界面,用户可以通过它直观地操作不用的虚拟机,利用libvirt的API实现的。

6.安装KVM准备

本文出自 “ubuntu” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: