《KVM实战:原理、进阶与性能调优》一1.4.3 HyperV
1.4.3 HyperV
与VMware一样,HyperV也是闭源(Close Source,与Opensource相对)的商业软件。微软从Windows 8/Windows Server 2008开始,用它取代原来的Virtual PC,成为Server OS版本自带的平台虚拟化软件。
HyperV在架构上与Xen类似,也是Type 1 Hypervisor。它有Partition的概念,有一个Parent Partition,类似于Xen Dom0,有管理硬件资源的权限;HyperV的Child Partion就类似于普通的客户机DomU。对Hypervisor的请求以及对客户机的管理都要通过Parent Partition,硬件的驱动也由Parent Partition来完成。客户机看到的都是虚拟出来的硬件资源,它们对其虚拟硬件资源的访问都会被重定向到Parent Partition,由它来完成实际的操作,这种重定向是通过VMBus连接Parent Partition的VSP(Virtualization Service Provider)和child partition的VSC(Virtualization Service Consumer)来完成的,而这个过程对客户机OS都是透明的。图1-9中,HyperV Hypervisor运行在Ring -1,也就是Intel VMX技术的root mode(特权模式),而parent partition和child partition的内核都运行在non-root mode的Ring 0和Ring 3,也就是非特权模式的内核态和用户态。这样的架构安全性是比较好的。性能上如1.3.3节提到的那样,据微软自己说是略好于KVM的。
1.4.4 Container
Container严格来说与前面提到的虚拟化软件不是一个大类,首先,它不是某个虚拟化软件,而是某类软件的统称,包括Docker和LXC等;其次,它不是硬件平台级的虚拟化技术,而是软件运行环境的虚拟化,是一种操作系统级的虚拟化技术,与前面提到的不是一个层次的。
Container技术利用了Linux kernel提供的cgroup、namespace等机制,将应用之间隔离起来,好像自己是操作系统上的唯一一个应用似的。而Linux kernel除了封装出这些应用单独的运行环境以外,还可以控制分配给各个应用的资源配额,比如CPU利用率、内存、网络带宽等。
与平台虚拟化技术相比,Container技术省去了启动和维护整个虚拟客户机的开销(硬件初始化、Kernel boot、init等),因而它非常轻量级,非常适用于PaaS服务模型。但另一方面,由于各个Contained instance其实还是共用一个OS、一个Kernel,所以安全性比不上平台虚拟化技术。总而言之,Container和KVM等平台虚拟化技术,目前还是各有所长,还处在相互取长补短的过程中。
1.5 本章小结
本章从云计算的基本概念入手,给读者讲解了SaaS、PaaS、IaaS这3种云服务类型,还讲到了作为云计算底层的虚拟化技术。对于虚拟化技术,着重对KVM的基础架构进行了介绍,同时对Xen、VMware、HyperV等虚拟化技术以及容器技术也进行了简介。本章目的在于让读者在开始学习KVM虚拟化技术之前,对虚拟化技术有一个整体的简明扼要的认识。
- 点赞
- 收藏
- 关注作者
评论(0)