Hyper-V 太帅了
Hyper-V 是 Server 2008 上的一项新功能。说白了就是虚拟机。但是它有一些与众不同的地方,值得称赞一下。
首先,它支持 Intel-VT 及 AMD-V,即虚拟化技术。带有该技术的 CPU 都是 64 位的,如 Intel Core 2 Duo 就有 Intel-VT。此技术为 CPU 架构增加了一个 ring -1,专门用于跑虚拟机管理器程序(Virtual Machine Manager,VMM)。于是,宿主操作系统、虚拟机操作系统都可以跑在 ring 0,这样就不需要修改虚拟机操作系统的机器代码,就可以跑虚拟机了。以前是技术原因造成 Pentium 架构下虚拟机不仅需要将虚拟机操作系统跑在 ring 1,而且在运行的时候都要修改操作系统的某些机器代码,而虚拟化技术终于打破了这一限制。使用了虚拟化技术之后,虚拟机的速度比原先快了。这是其一。
其二,Hyper-V 对微软新款操作系统的支持比较好。比如 Windows Server 2008,在 Hyper-V 上安装完成之后,就不需要再装虚拟机集成工具了,因为已经有了。集成工具的作用主要就是加快显示速度、鼠标集成之类。又如对于 Windows 7,甚至还在安装的阶段就已经有集成工具了。Windows Server 2008/Windows 7在 Hyper-V 上还支持 enlightenment。此功能用于通知虚拟机里的 Windows 它是在 Hyper-V 上跑,于是它会优化掉一些比较费 CPU 的操作,代之通过 Hypercall 接口采用 Hyper-V 的更为快速的操作。
其三,Hyper-V 的 VHD 利用率非常有效。当使用自动扩展的 VHD 时,虚拟机上的 Windows Server 2008/Windows 7 的 NTFS 文件系统,在使用过程中,一旦有文件被删除,此空间可以立即被 Hyper-V 标记为可用。当 Windows 为新文件分配空间时,Hyper-V 可将此可用空间利用起来。于是 VHD 在运行的时候就算有文件删除,再有文件新建,也不会很快变胖。Hyper-V 的另一项高级功能就是对于 NTFS 文件系统,在虚拟机关机后(并且删除所有快照后),进行 VHD 紧缩时,不需要进行空闲空间清零。而且根本不需要生成另一个 VHD。像 Virtual PC、Virtual Server 做这样的事的时候必须生成另一个 VHD,从而占用额外的磁盘空间,使用者还要为此而担心。
其四,快照支持。这是在测试过程中非常实用的一项功能,再也不用为备份机器状态而伤脑筋了。恢复起来也非常快,因为实际上快照就是生成了一个内存快照和一个差异磁盘(AVHD)。恢复到以前的快照其实就是删除这两个文件并更新一下状态标记而已。唯一慢的就是删除快照本身,因为需要将 AVHD 合并到原先的 VHD 上面去。
综上,Hyper-V 是一个挺不错的虚拟机。虽然目前主要用于跑 Windows 比较合适。微软也在编写 Linux 上的集成工具,不知何时可用。
后记:Hyper-V 也有不爽的地方:Integration Tools 最低要求 Windows XP,而不支持 Windows 2000 或更早的版本。不支持 memory page trimming,于是就不能有效地动态分配物理内存。
Hyper-V 是 Server 2008 上的一项新功能。说白了就是虚拟机。但是它有一些与众不同的地方,值得称赞一下。
首先,它支持 Intel-VT 及 AMD-V,即虚拟化技术。带有该技术的 CPU 都是 64 位的,如 Intel Core 2 Duo 就有 Intel-VT。此技术为 CPU 架构增加了一个 ring -1,专门用于跑虚拟机管理器程序(Virtual Machine Manager,VMM)。于是,宿主操作系统、虚拟机操作系统都可以跑在 ring 0,这样就不需要修改虚拟机操作系统的机器代码,就可以跑虚拟机了。以前是技术原因造成 Pentium 架构下虚拟机不仅需要将虚拟机操作系统跑在 ring 1,而且在运行的时候都要修改操作系统的某些机器代码,而虚拟化技术终于打破了这一限制。使用了虚拟化技术之后,虚拟机的速度比原先快了。这是其一。
其二,Hyper-V 对微软新款操作系统的支持比较好。比如 Windows Server 2008,在 Hyper-V 上安装完成之后,就不需要再装虚拟机集成工具了,因为已经有了。集成工具的作用主要就是加快显示速度、鼠标集成之类。又如对于 Windows 7,甚至还在安装的阶段就已经有集成工具了。Windows Server 2008/Windows 7在 Hyper-V 上还支持 enlightenment。此功能用于通知虚拟机里的 Windows 它是在 Hyper-V 上跑,于是它会优化掉一些比较费 CPU 的操作,代之通过 Hypercall 接口采用 Hyper-V 的更为快速的操作。
其三,Hyper-V 的 VHD 利用率非常有效。当使用自动扩展的 VHD 时,虚拟机上的 Windows Server 2008/Windows 7 的 NTFS 文件系统,在使用过程中,一旦有文件被删除,此空间可以立即被 Hyper-V 标记为可用。当 Windows 为新文件分配空间时,Hyper-V 可将此可用空间利用起来。于是 VHD 在运行的时候就算有文件删除,再有文件新建,也不会很快变胖。Hyper-V 的另一项高级功能就是对于 NTFS 文件系统,在虚拟机关机后(并且删除所有快照后),进行 VHD 紧缩时,不需要进行空闲空间清零。而且根本不需要生成另一个 VHD。像 Virtual PC、Virtual Server 做这样的事的时候必须生成另一个 VHD,从而占用额外的磁盘空间,使用者还要为此而担心。
其四,快照支持。这是在测试过程中非常实用的一项功能,再也不用为备份机器状态而伤脑筋了。恢复起来也非常快,因为实际上快照就是生成了一个内存快照和一个差异磁盘(AVHD)。恢复到以前的快照其实就是删除这两个文件并更新一下状态标记而已。唯一慢的就是删除快照本身,因为需要将 AVHD 合并到原先的 VHD 上面去。
综上,Hyper-V 是一个挺不错的虚拟机。虽然目前主要用于跑 Windows 比较合适。微软也在编写 Linux 上的集成工具,不知何时可用。
后记:Hyper-V 也有不爽的地方:Integration Tools 最低要求 Windows XP,而不支持 Windows 2000 或更早的版本。不支持 memory page trimming,于是就不能有效地动态分配物理内存。