一、开源的虚拟化技术核心
- 开源软件里虚拟化技术主要就是KVM和XEN
- OpenStack对KVM的支持比XEN做的好
二、KVM介绍
- 什么是KVM?就是基于内核的虚拟机。
- 他需要两个条件支撑:
(1)硬件支持虚拟化
(2)操作系统为linux -
KVM的虚拟化架构
KVM虚拟化架构.jpg
(1)KVM只关注虚拟机调度,因此KVM是一个轻量级的Hypervisor,很多linux发行版本中,已经将KVM加到虚拟化解决方案中
(2)虚拟机与真实硬件设备交互,需要利用linux系统内核来管理
(3)虚拟的外部设备,虚拟机与虚拟机的外设交互式,KVM需要借助另外一个虚拟化项目Qemu - Xen的虚拟化架构
(1)Xen与KVM不同的是:当硬件不具备虚拟化能力的时候,Xen可以采用半虚拟化的方式运行虚拟机
(2)Xen设计为了提高虚拟化性能,物理硬件可以直接交付虚拟机使用,但是需要更改linux的内核,与宿主机的内核绑定,安全性有所降低 - Libvirt
(1)Libvirt:是一个软件的集合,为多种Hypervisor提供统一的管理方式。它包括API库,后台运行程序(Libvirtd)和命令行工具(virsh)
(2)Libvirt支持Xen、QEMU、LXC、OpenVZ和VirtualBox等Hypervisor
(3)支持的功能:虚拟机管理、虚拟设备管理、远程控制