将 Hyper-V 嵌入 VMware Workstation 8 和 ESXi 5

随着 Veeam 发展并开始关注两个虚拟化平台,我认为现在是时候研究如何在我的实验室环境中引入 Microsoft Hyper-V 了。我想知道它是否可以在某种 VMware 虚拟机内虚拟运行。Veeam 在通过使用便携式实验室(如 Vmware Workstation 下嵌入的笔记本上运行的)推出解决方案方面非常成功。我们经常会遇到运行在一台笔记本上的嵌入 ESX 服务器、vCenter、DC 和 Veeam 应用程序,我想知道 Hyper-V 能否加入其中。

“本文作为操作指南提供在 VMware Workstation 8 或 ESXi 5 上运行 Hyper-V 虚拟机的逐步过程。”

长久以来,我一直都认为这不可行,直到几个月前,我听说 ESXi 5 问世后可以这样做。我还听说运行在 Intel Nehalem 或 Intel Core i7 上的 ESXi 5 将允许嵌入管理程序也包含运行的嵌入 64 位虚拟机。所以首先,我要确保新笔记本到货时,系统内有该 Intel 架构或同等 AMD 架构。我还打造了一个具有相同架构的实验室计划用于各种事件。
有人通过 Twitter 发给我一些博客链接帮助我开始探索:

http://www.vcritical.com/2011/07/vmware-vsphere-can-virtualize-itself/#comment-12442
http://www.virtuallyghetto.com/2011/07/how-to-enable-support-for-nested-64bit.html

到我有机会尝试时,ESXi 推出了 GA。我在上面的博客中找到的内容是不错的指引,但是当我按照他们的说明操作时,得到的就和其他一些人报告的一样,只是空白的黑色屏幕。无论我给出多少其他信息,就是不起作用。我没有气馁,决定尝试不同的方法。我安装了 VMware Workstation 8 代替 ESXi 5,并且成功实现嵌入 Hyper-VM。这时候我知道我的硬件兼容嵌入 Hyper-V 了。上面发布的博客指出成功的关键是 CPU/BIOS 内一个称为 Intel EPT 的功能。现在,我了解到如果有 Nehalem/Core i7,就需要有 Intel EPT;发布的博客建议通过 BIOS 将其启用。但是,我在系统 BIOS 中找不到该选项。

测试时,我决定使用 Windows 2008 R2 Standard 并启用 Hyper-V 作为角色,而不是安装独立 Hyper-V 产品。这样做只是为了简化,但是独立 Hyper-V 产品也是不错的选择。

在 VMware Workstation 8 上嵌入 Hyper-VM

下面是创建运行在 VMware Workstation 8 上的 Microsoft Hyper-V VM 的步骤,稍后我会介绍如何在 ESXi 5 中这样做:

  1. 用版本 8 硬件创建新 VM
  2. 根据要在 Hyper-V 下嵌入的 VM 数量,为其分配 4 GB RAM 和 2 x vCPU 以及约 80-100 GB 磁盘空间。
  3. 这些说明让您感觉您应该选择一个 VMware ESX 选项作为来宾操作系统…别!不要这样做!选择 Windows 2008 R2 x64。
  4. 完成后,确保您将另一个 NIC 添加到用作 Hyper-V 虚拟网络的 VM。
  5. 在 VM > CPU 设置下,确保您有通过 Intel VT-x/EPT 功能的选项。
  6. 确保您将 VM 设置为从 Windows 2008 R2 x64 介质 ISO 启动。
  7. 启动之前,您应编辑配置文件 .vmx,加入参数: hypervisor.cpuid.v0 = “FALSE”
  8. 现在启动并安装 Windows 2008 R2 x64。
  9. 完成后,打开服务器管理器,单击“添加角色”。
  10. 选择并安装 Hyper-V 选项。此时,您将知道系统是否正确工作并通过 Intel EPT 功能,因为如果不正确,您将无法通过此点。
  11. 您还必须选择用于虚拟网络的网络适配器。
  12. 现在安装 Hyper-V,需要重新启动。
  13. 完成后,打开服务器管理器,向下导航至 Hyper-V 并连接本地服务器。
  14. 现在创建并安装虚拟机。完成后,您应能够缓慢但正常使用它。

嵌入运行在 ESXi 5 上的 Hyper-VM

在 ESXi 5 上的工作略微麻烦一些,但其中一些步骤相同。

  1. 首先,您需要在 ESXi 5 的技术支持模式下的 /etc/vmware/config 文件中加入一项。我通过 vSphere Client 中的安全配置文件启用 SSH。然后在 ESXi 系统中使用 putty SSH。
  2. 在这里执行以下命令,允许嵌入管理程序:

    # echo ‘vhv.allow = “TRUE” ‘ >> /etc/vmware/config

  3. 注意命令行中对单引号和双引号的使用
  4. 现在使用版本 8 硬件创建虚拟机,4GB(或您可以提供的量)、2 x vCPU、2 个或更多 vNIC 以及 100GB 虚拟磁盘。启动 VM 并安装 Hyper-V 前,我们需要在虚拟机配置文件 .vmx 中加入两行

    您可以通过 vSphere Client 在虚拟机 > 配置参数设置中进行此操作,而我更喜欢从命令行进行。

    要使用命令添加,回到 SSH >,更改为安装 Hyper-V VM 的目录

    # echo ‘vhv.allow = “TRUE” ‘ >> /etc/vmware/config

    在我的示例中,配置文件为 Hyper-V.vmx。键入下面的命令:

    # echo ‘monitor.virtual_exec = “hardware” ‘ >> Hyper-V.vmx

    # echo ‘hypervisor.cpuid.v0 = “FALSE” ‘ >> Hyper-V.vmx

  5. 现在回到 VM 设置 > 选项 > CPU/MMU 虚拟化,确保选项通过 Intel EPT 功能。
  6. 现在,在选项区域 > CPUID 掩码中单击高级
  7. 添加以下 CPU 掩码级 ECX:—- —- —- —- —- —- –H- —-
  8. 现在安装 Hyper-V 或 Windows 2008 R2 并启用 Hyper-V 角色。
  9. 好了。

提示/技巧

下面是 Ricky 关于避免过程中一些难点的提示:

Exit mobile version