详解 Windows 8 虚拟化技术 Hyper-V
【陈彦博】
       1. 无论是一名软件开发人员、IT 管理员还是只是一位发烧友,许多人都需要运行多个操作系统,传统解决方案是在多台不同的计算机上运行。考虑并不是每个人都可以拥有一整套实验室来容纳所有这些计算机,因此可通过虚拟化来节省空间和时间。
       通过 Hyper-V,可以在同一台计算机上同时运行多个 32 位或 64 位 操作系统。操作系统不直接使用计算机硬件,而是在一个虚拟机 (VM) 内运行。Hyper-V 使开发人员能够轻松地维护多个测试环境,并提供一种简单的机制在这些环境间快速切换,而不会产生额外的硬件成本。例如,包含旧版本 Internet Explorer 以支持 Web 开发人员的预配置虚拟机。IT 管理员可以从 Windows Server 和 Windows 客户端中的 Hyper-V 获得虚拟机奇偶校验和通用管理体验方面的额外好处。而且,许多人都使用虚拟化来尝试新事物,而不愿意冒险对正在使用的 PC 进行更改。
       Hyper-V 介绍
       Hyper-V 需要具有二级地址转换 (SLAT) 的 64 位系统。SLAT 是 Intel 和 AMD 生产的最新一代 64 位处理器中提供的功能。Hyper-V 还需要 64 位版本的 Windows 8 以及至少 4GB 内存。Hyper-V 支持在虚拟机中同时创建 32 位和 64 位操作系统。
       Hyper-V 的动态内存允许动态分配和取消分配虚拟机所需的内存(用户可以指定最小值和最大值)并在虚拟机之间共享未使用的内存。Hyper-V 可以在具有 4GB RAM 的计算机运行 3 或 4 个虚拟机,但如果有 5 个或更多虚拟机,则需要更多 RAM。另一方面,Hyper-V 还可以使用 32 个处理器和 512GB RAM 创建大型虚拟机。
       关于虚拟机的用户体验,Windows 8 提供了两个机制来访问虚拟机:虚拟机控制台和远程桌面连接。
       虚拟机控制台(也称为 VMConnect)是虚拟机的控制台视图。它提供虚拟机的单个监视器视图,分辨率最高为 1600x1200,颜色为 32 位。通过该控制台,您可以查看虚拟机的启动过程。
       为了获得更丰富的体验,可以使用远程桌面连接 (RDC) 连接到虚拟机。使用 RDC,虚拟机可以利用物理 PC 上的功能。例如,虚拟机可以在多个监视器上显示其图形。类似地,如果 PC 启用了多点触控的界面,则虚拟机就可以使用该界面并提供触控体验。虚拟机还可以通过利用物理系统的扬声器和麦克风来提供完整多媒体功能。根操作系统(管理虚拟机的主 Windows 操作系统)还可以与虚拟机共享其剪贴板和文件夹。最后,使用 RDC,还可以将任何 USB 设备直接连接到虚拟机。
       关于存储,可以向虚拟机中可用的 IDE 或 SCSI 控制器添加多个硬盘。可以使用直接传递给虚拟机的虚拟硬盘(.VHD 或 .VHDX 文件)或实际磁盘。VHD 还可以位于远程文件服务器上,可以轻松地维护一组常用的预定义 VHD 并在团队中共享。
       Hyper-V 的"实时存储移动"(Live Storage Move) 功能可帮助虚拟机基本上摆脱对基础存储设备的依赖。这样一来,您就可以在不停止虚拟机的情况下,将虚拟机的存储从一个本地驱动器移动到另一个本地驱动器,或者移动到 USB 记忆棒或远程文件共享。此功能对快速部署非常有帮助:当需要快速创建虚拟机时,可以从某个文件共享上维护的虚拟机库中启动一个虚拟机,然后将该虚拟机的存储移动到本地驱动器。
        Hyper-V 的另一个出色功能是能够在虚拟机运行时拍摄虚拟机快照。快照可保存有关虚拟机的所有内容,使您能够返回到虚拟机使用过程中以前的某个时间点;当您尝试调试某些棘手问题时,快照是一个非常有用的工具。同时,Hyper-V 虚拟机还具有 Windows 的所有易管理性优势。Windows Update 可以修补 Hyper-V 组件,因此您不需要设置其他维护过程。此外,安装 Hyper-V 后,Windows 仍具有所有相同的固在功能。
       尽管如此,使用虚拟化也存在一定的限制。依赖特定硬件的功能或应用程序在虚拟机中将无法正常工作。例如,依赖 TPM(受信任的平台模块)的 Windows BitLocker 和 Measured Boot 在虚拟机中可能无法正常运行,需要GPU处理的游戏或应用程序也可能无法正常工作。此外,依赖小于1毫秒计时器的应用程序(实时高精度应用程序,如实时音乐混合应用程序等)在虚拟机中运行时可能出现问题。根操作系统也运行在Hyper-V虚拟化层之上,但特殊之处在于它可以直接访问所有硬件。这就是具有特殊硬件要求的应用程序能够在根操作系统中正常工作,而对延迟比较敏感的高精度应用程序在根操作系统中运行时仍可能出现问题的原因。
       提醒一下,虚拟机中使用的任何操作系统均需要获得相关许可。
       通过无线 NIC 支持虚拟机通信
       Hyper-V 创建外部网络交换机非常简单,只需从下拉列表中选择物理网络适配器 (NIC) 然后单击"确定"即可。这在 Windows Server Hyper-V 中一切正常,但为了在 Windows 8中获得类似的结果,则需要使用无线 NIC 工作。
       Hyper-V中的虚拟交换机是"第2层交换机",这意味着它使用唯一标识每个(物理和虚拟)网络适配器卡的MAC地址进行交换(确定特定以太网数据包采用的路线)。源和目标计算机的MAC地址在每个以太网数据包中发送,第2层交换机使用该信息确定它应将传入数据包发送到何处。外部虚拟交换机通过物理NIC连接到外部环境。来自虚拟机并发往外部环境中的某台计算机的以太网数据包通过此物理NIC发送出去。这意味着,该物NIC必须能够传送连接到此虚拟交换机的所有虚拟机发来的流量,因此这意味着通过该物理NIC传送的数据包将包含多个MAC地址(每个虚拟机的虚拟NIC分别有一个)。这在有线物理NIC上受支持(通过将NIC置混杂模式),但在无线NIC上不受支持,因为WiFiNIC建立的无线通道及其接入点只允许具有WiFiNIC的MAC地址的以太网数据包,而不允许任何其他内容。换句话说,如果继续使用当前虚拟交换机体系结构,Hyper-V 将无法对外部交换机使用 WiFi NIC。
       解决方案
       为了避开这一限制,Hyper-V 使用了 Microsoft 网桥解决方案,该解决方案实现了 ARP 代理(对于 IPv4)和 NDP 代理(对于 IPv6),针对传出数据包使用 WiFi 适配器的 MAC 地址取代虚拟 NIC 的 MAC 地址。网桥会维护虚拟 NIC 的 IP 地址及其 MAC 地址之间的内部映射,以确保外部的数据包发送到适当的虚拟 NIC。
       Hyper-V 在创建虚拟交换机的过程中集成网桥,因此在您使用 WiFi 适配器创建外部虚拟交换机时,Hyper-V 将:
       1.创建连接到 WiFi 适配器的单个适配器网桥
       2.创建外部虚拟交换机
       3.强迫外部虚拟交换机使用网桥,而不是直接使用 WiFi 适配器
       在该模型中,以太网交换仍在虚拟交换机中进行,而 MAC 转换在网桥中进行。对于创建外部网络的用户而言,无论是选择有线 NIC 还是无线 NIC,工作流程都是相同的。
       总之,通过将 Windows Server 中的 Hyper-V 引入 Windows 客户端,Windows 8 能够提供可靠的虚拟化技术,从而满足大多数数据中心的可伸缩性、安全性、可靠性和性能要求。使用 Hyper-V,用户现在可以跨多台计算机构建更高效、更经济的使用和测试环境。