如果你曾经使用过Hyper-V,你可能知道,那是由主机上几个文件和一些配置组成的虚拟机(VM)。这些文件封装安装在虚拟机上的操作系统,以及在该操作系统上安装的应用程序。
但这些文件在主机上怎么看?让我们解剖Hyper-V虚拟机的结构。首先看Hyper-V服务器上的主机设置。这无论是在本地(在Windows Server 2008/2012下,作为一个完整安装的Hyper-V角色)或是通过远程Hyper-V Manager都可以做到。下图显示的是一台运行Windows Server 2012+Hyper-V的ThinkServer RD630主机上的Hyper-V设置:
关键的路径设置是虚拟硬盘路径(默认位置是C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks)和虚拟机路径(默认位置是C:\ProgramData\Microsoft\Windows\Hyper-V),这是设置画面中的前两个选项。这些选项是全局选项,这意味着此设置对主机上新创建的每一台虚拟机都会生效。同样重要的是要注意,当你创建一个虚拟机,你可以选择指定虚拟磁盘(在上图中的第一个选项),但不是虚拟机设置。
虚拟硬盘文件夹包括VHD和VHDX虚拟磁盘文件。VHDX是 Windows Server 2012中引入的磁盘格式,支持一个虚拟机高达64 TB的磁盘。VHD格式支持所有版本的Hyper-V,支持最高2 TB。
Hyper-V设置的第二个路径是一个非常复杂的路径,有额外的虚拟机配置元素。ThinkServer RD630上的此默认路径如下图所示:
重要的是要注意这个路径包含.XML文件,每个虚拟机的ID文件夹,其中有虚拟机的.BIN和.VSV文件:
* .XML文件包含虚拟机的配置。
* .BIN文件是VM快照的内存 (和磁盘的差异,如果存在的话,将是一个.AVHD文件) 。
* .VSV文件是虚拟机的保存状态。
这些不同的位置的文件组成主机上对应位置的虚拟机。如果你需要移动一台虚拟机,重要的是不要只是复制.VHD /.VHDX文件,而是要粘贴或移动如上述所有的这些组件。这可以通过Hyper-V Manager界面的迁移工具,或利用一个备份工具,复制引擎,或System Center虚拟机管理器。
当你部署Hyper-V主机,最好更改默认设置。我在这个例子中的主机只能连接到本地存储,但如果有一个共享的存储资源或群集配置,C :\驱动器不是正确的地方。
你是否曾经需要操作Hyper-V文件?在这过程之中你学到了哪些秘诀?请在下面分享你的意见。