Hyper-V相比VMware在虚拟化架构上不同所带来的安全性超越
微软的虚拟化产品Hyper-V以前被称作Viridian和WSV,我在这里聊聊老生常谈的话题,也就是它的虚拟化架构。首先,我们看看虚拟基础架构。为什么从基础架构开始呢?因为虚拟基础架构可以在计算、存储器和网络硬件以及在其上运行的软件之间提供了一个抽象层,简化了 IT 计算体系结构,可以控制成本,并提高响应速度。
" border="0" />
Hyper-V
由于采用Hyperisor内核架构,Hyper-V可以提供高效的分区间通信机制,并在此基础上创建高性能的虚拟I/O架构,并且充分利用Windows驱动模型,以便提供广泛的硬件支持,因为Hypervisor可以把单个服务器分割为多个CPU和内存的容器。
目前,大多数潜在的子操作系统都还没有意识到虚拟化。它们以为是直接在服务器硬件上运行,因此需要使用hypervisor提供的硬件模拟。
呼,既然说到了Hyper-V,那我们也不得不提到VMware,如图,
" border="0" />
VMware虚拟化层
VMware的ESX Server在每台物理机上加载一个“服务控制台”,来管理和操控Hypervisor的动作,解决了传统x86硬件管理中的ring转换问题,支持所有x86兼容OS,且系统无须更改设置。虽然这种通过软件模拟硬件服务的做法具有较大的灵活性,但代价是会导致较大幅度的性能损耗。
我们研究完基础架构,再一起来看看Hyper-V的体系结构吧:
" border="0" />
Hyper-V 体系结构
运行Hyper-V的服务器可以利用Windows对硬件设备的支持,是因为管理程序可将系统分成多个VM,并将Windows Server 2008的引导实例当作主分区,以使其可直接访问各种硬件设备如网络适配器等等。
Hyper-V管理程序要求主分区执行电源管理并响应硬件即插即用事件。这种架构将业界标准服务器、与它们连接的网络和存储器聚合到统一的资源池中。
要知道,虚拟栈可以实现模拟的I/O设备,然而模拟这些设备的代价很高,发送单个I/O请求,就有可能导致虚拟栈和子分区之间的多次切换,那么Hyper-V如何解决的呢?看看下图:
" border="0" />
Hyper-V和多处理器虚机
Hyper-V支持4 CPU的WinServer08虚机,和2 CPU的WinServer03虚机。只有当工作负载确实需要的时候,才应该使用多处理器虚机,因为拥有更多的处理器会带来一些额外的开销。
不过不用着急,Hyper-V提供了专门为虚机环境所设计的虚拟I/O设备。这些虚拟设备连接到VMBus,使用共享内存,可以有效地进行分区间通信。
继续~
Hyper-V中的虚拟I/O采用客户端/服务器架构,在根分区中包含VSP虚拟服务提供程序,在子分区中包含VSC虚拟服务客户端。如图所示:
" border="0" />
Hyper-V中的I/O架构
该架构极大地减少发送I/O请求所需的开销。如果Virtual Server用户把虚机迁移到Hyper-V中, 那么一定能体会到高I/O的工作负载的CPU开销大大降低。
既然说了那么多内部的架构,我们也看一眼Hyper-V Server 2008的安装界面吧。
" border="0" />
Hyper-V Server 2008安装
在安装上方面,和VMware ESX相比,Hyper-V Server 2008操作更加傻瓜化一点,界面上也更为熟悉一些。不难发现黑色窗体既不是POWERSHELL程序,也不完全是DOS模式,更类似CMD命令的工作模式,如果把蓝色窗口当成控制面板,那黑色窗口就是Hyper-V的工作区。
其实,Hyper-V自带的管理工具VMM可以在远程控制Hyper-V Server,也就是说安装好Hyper-V Server的服务器可以不再去管了。
都安完了,看一下Hyper-V 漂亮的管理界面吧?
" border="0" />
Hyper-V界面管理
看起来很舒服吧,在这里我们可以对 Hyper-V进行管理,虽然看起来是全新的操作界面,但是实际操作起来还是非常顺手的。 迫不及待在 Hyper-V 上又安装了Server Core 版,性能非常好,感觉很快很舒适。
Hyper-V 的 Guest OS支持32位及64位的操作系统,并且支持Linux系统。另外,提示大家一点:Hyper-V Beta版可以安装非英文版的其他语言版本操作系统哦,不过前提是在安装 Hyper-V 系统时,请保持默认的语言和键盘区域配置。
在网上看到了,笔记本被扩充了8GB内存,似乎什么都可以做得到。手痒痒,所以试验一下,使用Server 2008操作系统和虚拟化成功运行了12个Windows Server 2008操作系统。可以参考下图示例哦:
" border="0" />
成功运行了12个OS
嘿嘿,还是很厉害的,所以性能方面嗷嗷的~
据说,在同样的环境下使用VMware虚拟机最多只能同时运行8个操作系统,看来微软Hyper-V的内存分配是非常精确地。