随着 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 中这样做:
- 用版本 8 硬件创建新 VM
- 根据要在 Hyper-V 下嵌入的 VM 数量,为其分配 4 GB RAM 和 2 x vCPU 以及约 80-100 GB 磁盘空间。
- 这些说明让您感觉您应该选择一个 VMware ESX 选项作为来宾操作系统…别!不要这样做!选择 Windows 2008 R2 x64。
- 完成后,确保您将另一个 NIC 添加到用作 Hyper-V 虚拟网络的 VM。
- 在 VM > CPU 设置下,确保您有通过 Intel VT-x/EPT 功能的选项。
- 确保您将 VM 设置为从 Windows 2008 R2 x64 介质 ISO 启动。
- 启动之前,您应编辑配置文件 .vmx,加入参数: hypervisor.cpuid.v0 = “FALSE”
- 现在启动并安装 Windows 2008 R2 x64。
- 完成后,打开服务器管理器,单击“添加角色”。
- 选择并安装 Hyper-V 选项。此时,您将知道系统是否正确工作并通过 Intel EPT 功能,因为如果不正确,您将无法通过此点。
- 您还必须选择用于虚拟网络的网络适配器。
- 现在安装 Hyper-V,需要重新启动。
- 完成后,打开服务器管理器,向下导航至 Hyper-V 并连接本地服务器。
- 现在创建并安装虚拟机。完成后,您应能够缓慢但正常使用它。
嵌入运行在 ESXi 5 上的 Hyper-VM
在 ESXi 5 上的工作略微麻烦一些,但其中一些步骤相同。
- 首先,您需要在 ESXi 5 的技术支持模式下的 /etc/vmware/config 文件中加入一项。我通过 vSphere Client 中的安全配置文件启用 SSH。然后在 ESXi 系统中使用 putty SSH。
- 在这里执行以下命令,允许嵌入管理程序:
# echo ‘vhv.allow = “TRUE” ‘ >> /etc/vmware/config
- 注意命令行中对单引号和双引号的使用
- 现在使用版本 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
- 现在回到 VM 设置 > 选项 > CPU/MMU 虚拟化,确保选项通过 Intel EPT 功能。
- 现在,在选项区域 > CPUID 掩码中单击高级
- 添加以下 CPU 掩码级 ECX:—- —- —- —- —- —- –H- —-
- 现在安装 Hyper-V 或 Windows 2008 R2 并启用 Hyper-V 角色。
- 好了。
提示/技巧
下面是 Ricky 关于避免过程中一些难点的提示:
- 在我的系统上,安装 Microsoft Hyper-V 过程中操作系统要求重新启动。安装 Hyper-V 之后重启时,蓝屏出现…不要慌张,因为实际使用 Hyper-V 时不会蓝屏
- 对于服务器和笔记本,我都不知道系统是否具有 Intel EPT,应该看 VMware 是否顺利通过 Intel EPT 以及 Hyper-V 是否发现。我的做法是先尝试 VMware Workstation,一切正常。我读了很多关于此主题的资料,但直觉告诉我,如果寻找 Nehalem 或 Core i7 以及支持 Intel VT 的主板是可行的。我发现您需要我没有(我也不认为)的 Intel VT –x2,这是误导…如果我能缩小信息范围,我会更新此帖子。
- 谨记,嵌入管理程序意味着运行速度非常非常慢…但是在 SSD 磁盘上的数据存储中安装嵌入管理程序能节约很多时间。
- 上面链接的 2 篇博文介绍了使用版本 4/7 硬件或版本 8 硬件创建 VM 的 2 个方法。我先试了版本 8 硬件,不成功。结果只是空白黑屏。我实际组合了两个方法,发现这挺适合我的。
- 嵌入 Hyper-V 机器所在的端口组应设置为混杂模式:接受
- 其中一篇博文提到,在配置文件中手动(而不是使用 GUI)操作相关条目更稳定。我也发现是这样,所以我用 putty 在 shell 会话中更改配置文件。
- 您对在 ESXi 5 或 VMware Workstation 8 上安装 Hyper-V 虚拟机有什么心得吗?请在下面分享您的意见!