Windows 7支持VHD的技术实现方式
在Virtual PC 和 Virtual Server 中,VHD就以一种文件形式的虚拟机磁盘出现了。早在2005年微软就公开了VHD格式文件的全部细节,可以从微软的TechNet网站下载到。这说明微软不仅想把VHD应用在虚拟机领域,更希望VHD能够成为一种新的磁盘格式和载体在业界得到更多的支持。通过详细阅读微软的技术文档可以了解到,我们可以把VHD理解为一块硬盘,一块虚拟出来的硬盘。简单的说,要把VHD文件当作硬盘一样读写,必须有相应的驱动程序。在Virtual PC和Virtual Server中,微软就是通过在虚拟机中加入VHD的驱动程序,使得虚拟机可以从VHD启动并进行后续的操作。
微软把VHD的驱动程序内置进了Windows 7 操作系统和Windows 7的引导程序中。因此我们可在使用Windows 7的时候,直接访问VHD文件中的内容,也可以通过Windows 7的引导程序,启动位于VHD磁盘上的另一个操作系统。理解VHD驱动的工作细节,需要比较多的Windows底层知识,下图是一个比较简单和抽象的结构,可以发现,VHD的驱动是跟磁盘驱动和文件系统紧密结合的。
图1 VHD虚拟硬盘的结构
VHD读写性能相对于物理磁盘,VHD读写I/O性能的指标如下。
图2 VHD性能指标
我们可以发现,相对于物理硬盘,VHD的读写开销非常小,只有在进行连续区块写入操作时,才跟物理硬盘有较明显的性能差异。
VHD启动方式的注意事项和局限性:
• UDFS文件系统暂时不被支持
• 启动用的VHD文件,不能保存在压缩或者加密的NTFS磁盘之上
• 根据一些朋友的反馈,动态的VHD文件无法启动,需要在建立vhd是设置成立即分配才可以从vhd启动
• 如果你的物理硬盘是RAID格式,则必须要在VHD中的操作系统镜像中注入RAID的驱动程序,可以使用peimg命令。
• 最多可以同时映射的VHD文件数量是512个
• VHD磁盘的父分区,不支持Volume Snapshot
• 映射的VHD磁盘,不能被配置为动态磁盘,也就是不能在VHD上建软RAID
【编辑推荐】