在 VMM 中创建和管理高可用虚拟机

应用到: Virtual Machine Manager 2008, Virtual Machine Manager 2008 R2, Virtual Machine Manager 2008 R2 SP1

高可用虚拟机,也称为 HAVM,可轻松迁移到故障转移群集中的其他虚拟主机,使其在当前主机需要维护时提供连续服务。如果当前主机发生故障,则 HAVM 会自动通过一个称为故障转移 的过程迁移到群集中的其他主机。

System Center Virtual Machine Manager (VMM) 2008 支持在 Windows Server 2008 故障转移群集上部署的 HAVM。System Center Virtual Machine Manager 2008 R2 支持在 Windows Server 2008 故障转移群集或 Windows Server 2008 R2 故障转移群集上部署的 HAVM。本主题介绍如何在 VMM 中创建、配置、迁移和删除 HAVM。有关配置和管理部署 HAVM 的主机群集的信息,请参阅在 VMM 中将主机群集配置为支持高可用虚拟机

备注

本主题的侧重点是高可用 Hyper-V 虚拟机。有关在 VMM 管理的 VMware ESX Server 主机上部署的高可用虚拟机的信息,请参阅在 VMM 中管理 VMware Infrastructure

配置高可用虚拟机

如果将虚拟机配置为高可用虚拟机,VMM 则会将虚拟机放置在主机群集中最适合的主机上。要将虚拟机配置成高可用,在新建虚拟机向导的**“配置硬件”页上的高级设置中,显示“可用性”设置,选择“使此虚拟机高度可用”**。

您还可以在放置过程中使虚拟机高度可用。如果您不将虚拟机配置为高度可用,则放置过程中所有适合的主机(包括群集的主机)均可用。如果您为此虚拟机选择一个群集的主机,会出现问题提示:是否希望使此虚拟机高度可用。如果单击**“是”**,此虚拟机在群集主机上完成部署并成为高可用虚拟机。

Virtual Machine Manager 将高可用虚拟机只放在群集的主机上,将非高可用虚拟机只放置在独立主机上。尽管可以在群集的主机上创建非 HAVM,但 VMM 不允许这样做。如果在 VMM 外部创建此类虚拟机,它们将与独立主机上虚拟机一样作为非 HAVM 导入和处理。

备注

有关创建虚拟机的常规信息,请参阅创建新虚拟机 (https://go.microsoft.com/fwlink/?LinkID=162793)。

配置磁盘

您必须在 VMM 外部配置、添加或删除用于 HAVM 的群集磁盘。在您对磁盘进行外部更改后,请在 VMM 中刷新主机群集以更新磁盘配置。

VMM 2008 R2 支持 Windows Server 2008 R2 的群集共享卷 (CSV) 功能。CSV 使多个高可用虚拟机可共享同一 LUN,但它们仍可以独立地迁移,而不会影响到正在共享同一 LUN 的其他 HAVM。由于 HAVM 可以访问独立节点中的磁盘,因此,CSV 还加快了群集内的虚拟机的迁移速度,原因是无需先卸载然后再装载此磁盘。

与 VMM 2008 R2 不同的是,VMM 2008 不支持 CSV。VMM 2008 在每个 LUN 下仅支持一个高可用虚拟机。这是为了确保 HAVM 能够在不影响其他 HAVM 可用性的情况下迁移至其他主机所必需的。

如果客户正迁移至 VMM 2008 R2,并想在一个 CSV LUN 中合并其现有的虚拟机,则可以使用新的快速存储迁移功能,将正在运行的虚拟机的存储迁移到其他主机或同一主机上的其他位置,而且可将停机时间缩到最短和确保不会丢失状态。在 VMM 管理员控制台的“虚拟机”视图中,使用“迁移存储”操作。有关详细信息,请参阅如何迁移虚拟机文件的存储。在托管的 VMware 基础结构内,VMM 将使用 VMware Storage VMotion(如果它可用的话)。

VMM 在有无驱动器号的条件下均支持群集磁盘。对于 8 节点或 16 节点的群集,分配给 HAVM 使用的磁盘的驱动器号(A-Z 的范围)很容易用完。VMM 通过支持使用卷 GUID 路径(格式:\\?\GUID\<VMname>)而非驱动器号的磁盘来解决这一问题。有关在 Hyper-V 主机上创建这些卷的详细信息,请参阅 Configuring Storage Using Volume GUIDs in Hyper-V(在 Hyper-V 中使用卷 GUID 配置存储)(https://go.microsoft.com/fwlink/?LinkId=182591)。

共享非 CSV 的 LUN 的任何 HAVM 均带着“不支持的群集配置”状态导入到 VMM 中。要解决这一问题,使用障转移群集管理器来重新配置虚拟机,使其拥有自己的 LUN。然后在 VMM 管理员控制台中,通过**“忽略”选项使用“修复”**操作来刷新 VMM 中虚拟机的状态。

在 VMM 2008 R2 中,当通过使用 SAN 传输将虚拟机从独立主机迁移到群集内时,VMM 会检查群集中的所有节点以确保每个节点都可以看到 LUN,并会为 LUN 自动创建群集磁盘资源。虽然 VMM 自动配置群集磁盘资源,但不会对其进行验证。您必须使用故障转移群集管理中的验证配置向导来验证新创建的群集磁盘资源。要将虚拟机移出群集而迁移到独立主机上,虚拟机必须位于不使用 CSV 的专用 LUN 上。

解决高可用虚拟机的“不受支持的群集配置”状态的问题

要查看不受支持的群集配置状态下的 HAVM,显示**“虚拟机属性”对话框的“硬件配置”选项卡。然后,在“高级”设置中,单击“可用性”。如果虚拟机处于不受支持的群集配置状态下,在“详细信息”**区域中显示导致虚拟机处于该状态下的错误。

下列情况会导致不受支持的群集配置状态:

  • 虚拟机位于包含多个虚拟机的非 CSV LUN 上。

    如果您已经在 Hyper-V 中配置高可用虚拟机共享同一 LUN,并且该 LUN 不在群集文件系统 (CSV) 卷上,则您必须在“故障转移群集管理”和 Hyper-V 中更新虚拟机配置,使每个虚拟机均位于自己的不共享的 LUN 上。

  • 此虚拟机正在使用非群集的存储。

    如果 HAVM 存储在系统驱动器 C:或未群集的任何一个磁盘上,则该虚拟机处于“不支持的群集配置”状态下。要解决这一问题,请确保所有文件和属于虚拟机的传递磁盘位于群集磁盘上。

  • 虚拟机上的一个或多个虚拟网络适配器没有连接到公共虚拟网络。

    如果主机群集中所有主机上的虚拟网络没有相同设置,连接到此虚拟网络的高可用虚拟机在它迁移或故障转移到其他群集节点时可能会丢失连接。具有相同设置的虚拟网络被称为公共虚拟网络。要找到主机群集的公共虚拟网络,请在 VMM 管理员控制台中,查看主机群集属性中的**“网络”选项卡。要配置主机上的虚拟网络,请使用主机属性中“网络”**选项卡。有关配置虚拟网络的详细信息,请参阅如何在主机上添加或修改虚拟网络 (https://go.microsoft.com/fwlink/?LinkID=163453)。

    对于被 VMM 认为公共且可用于主机群集上高可用虚拟机的虚拟网络,主机群集内的各个虚拟网络必须符合以下要求:

    • 群集内各主机上的虚拟网络名称必须相同。在 VMM 2008 中,只有在网络名称中的所有字母的大小写都匹配的情况下,虚拟网络才会被识别为公共虚拟网络。VMV 2008 R2 中并无此限制。当 VMM 2008 R2 标识公共虚拟网络时,它不会将网络名称中字母的大小写考虑在内。

    • 将虚拟网络连接到群集内的各主机上的主机网络适配器必须具有相同位置。

    • 群集内各主机上的虚拟网络必须具有相同的标记。

    更新所有节点上虚拟网络配置后,请刷新群集,确保虚拟网络检测为公共。然后,选择主机群集属性中的**“网络”**选项卡来验证是否已成功添加网络。

  • 在 VMM 2008 中,Windows Server 2008 故障转移群集中的 Hyper-V 虚拟机资源组除了包含虚拟机资源、虚拟机配置资源和物理磁盘资源之外,还包含其他资源。

    这些其他资源通常是第三方资源,它们提供各种功能,例如复制多网站群集内的存储。对于 VMM 管理的 Hyper-V 虚拟机,Windows Server 2008 故障转移群集中的虚拟机资源组只能包含虚拟机资源、虚拟机配置资源和物理磁盘资源。

    要解决此问题,请安装 System Center Virtual Machine Manager 2008 Update (KB961983) (https://go.microsoft.com/fwlink/?LinkId=182647)。有关更新的说明,请参阅知识库文章 961983:Description of the hotfix rollup package for System Center Virtual Machine Manager 2008:April 14th, 2009(System Center Virtual Machine Manager 2008 的修补程序汇总包说明:2009 年 4 月 14 日)(https://go.microsoft.com/fwlink/?LinkId=182648)。

  • 在 VMM 2008 中,ISO 映像连接到高可用虚拟机。此问题已在 VMM 2008 R2 中解决。

    通常 ISO 映像为 c:\windows\system32\vmguest.iso。要解决这一问题,请使用 Hyper-V 管理器删除 ISO 映像。然后在 VMM 中使用**“修复”操作来刷新该虚拟机。右键单击虚拟机,单击“修复”,然后单击“忽略”**。

  • VMware HAVM 连接到不存在于此主机群集的所有节点上的端口组。

    在 VMM 管理的主机群集上,必须配置在群集内的所有 ESX Server 主机上的每个端口组。如果虚拟机被配置了所有主机不能公用的端口组,则该虚拟机就处于不受支持的群集配置状态。

管理高可用虚拟机的存储

虚拟机的所有文件和传递磁盘必须位于群集磁盘上。有关设置 Hyper-V 故障转移群集存储的信息,请参阅将存储添加到故障转移群集 (https://go.microsoft.com/fwlink/?LinkId=128068)。

在 VMM 2008 R2 中,在使用 SAN 传输将 HAVM 从独立主机迁移到主机群集时,VMM 会检查群集中的所有节点以确保每个节点都可以看到 LUN,并会为 LUN 自动创建群集磁盘资源。虽然 VMM 自动配置群集磁盘资源,但不会对其进行验证。您必须使用故障转移群集管理中的验证配置向导来验证新创建的群集磁盘资源。

如果客户正迁移 VMM 2008 R2,并想在一个群集共享卷 (CSV) LUN 中合并其现有的虚拟机,则可以使用新的快速存储迁移功能,将正在运行的虚拟机的存储迁移到其他主机或同一主机上的其他位置,而且可将停机时间缩到最短和确保不会丢失状态。在 VMM 管理员控制台的“虚拟机”视图中,使用“迁移存储”操作。有关详细信息,请参阅如何迁移虚拟机文件的存储。在托管的 VMware 基础结构内,VMM 将使用 VMware Storage VMotion(如果它可用的话)。

在 VMM 2008 R2 中,可以使用 SAN 迁移将带有通过 SAN 连接的传递磁盘的虚拟机迁移到独立主机或存储在库中,前提是目标主机或库服务器可以访问 SAN 传递磁盘。但是,如果传递磁盘是本地磁盘,或者目标主机或库服务器无法访问传递磁盘,则必须将传递磁盘转换为虚拟硬盘(.vhd 文件)。在 VMM 2008 中,在将 HAVM 移动到库服务器或独立主机之前,必须转换所有传递磁盘。要将传递磁盘转换为虚拟硬盘,请更新虚拟机属性的“硬件配置”选项卡上的磁盘配置。

对于适用于 VMM 2008 R2 管理的 Hyper-V 主机群集的存储选项,有关它们的其他信息,请参阅在 VMM 中将主机群集配置为支持高可用虚拟机。有关 VMM 特定 SAN 配置要求的信息,请参阅配置 VMM 的 SAN 环境。有关 Windows Server 2008 中故障转移群集存储要求的常规信息,请参阅将存储添加到故障转移群集(网址为:https://go.microsoft.com/fwlink/?LinkId=128068)。

迁移高可用虚拟机

本节讨论了 VMM 如何处理放置和执行高可用虚拟机的迁移。

实时迁移与快速迁移

VMM 2008 R2 可支持两种迁移:实时迁移在 Windows Server 2008 R2 中创建的主机群集内的虚拟机,以及快速迁移在 Windows Server 2008 或 Windows Server 2008 R2 中创建的主机群集内的虚拟机。对于 Hyper-V 实时迁移,您可以在 Hyper-V 群集主机之间移动正在运行的虚拟机,并且不会对服务造成任何破坏或让人察觉丢失服务。对于 Hyper-V 快速迁移,在 Hyper-V 群集主机之间迁移正在运行的虚拟机时,服务会短暂丢失,但不会丢失状态。VMM 2008 支持快速迁移 Windows Server 2008 故障转移群集中的虚拟机。

备注

如果想快速迁移 Windows Server 2008 R2 主机群集中的虚拟机,则即使可以执行实时迁移,也请在 Windows PowerShell - Virtual Machine Manager 命令行界面中使用带 –UseCluster 参数的 Move-VM cmdlet。

VMM 2008 支持快速迁移 Windows Server 2008 故障转移群集中的虚拟机。

如果使用 VMM 2008 或 VMM 2008 R2 来管理实施了 VMware VMotion 的 VMware Infrastructure 3 (VI3) 环境,则支持在同一数据中心内的各 ESX Server 主机群集之间实时迁移虚拟机。

为避免迁移失败,在目标为 Windows Server 2008 R2 故障转移群集的虚拟机放置过程中,VMM 2008 R2 会先执行主机兼容性检查,然后再迁移虚拟机,以确保目标主机具有与源主机兼容的硬件(例如 CPU 型号)。VMM 使用 Windows Server 2008 R2 中的 Hyper-V 兼容性检查 API 来执行兼容性检查。通过使用 VMware 中的 API,VMM 2008 R2 还会在将 VMware 虚拟机迁移到 VMware 主机群集时执行主机兼容性检查。

HAVM 放置和“过载”状态

放置高可用虚拟机时,基于为 VMM 中主机群集配置的群集保留,VMM 中的放置过程计算向主机群集中添加新虚拟机是否会导致群集过载。群集保留指定了在群集仍可支持当前部署在群集主机上所有虚拟机的情况下必须能够承受的节点故障数。如果主机群集无法承受指定的节点故障数且仍维持所有虚拟机运行,群集则处于过载状态,主机不可用于放置。管理员可以对此进行覆盖,并在手动放置过程中将 HAVM 放置在过载群集中的主机上。群集保留是 VMM 的独特功能。

例如,如果将 8 节点群集的节点故障保留值指定为 2,则会按以下方式应用该规则:

  • 如果群集的所有 8 个节点都运行正常,则当群集中的任意 6 个节点 (8-2) 的组合无法容纳现有虚拟机时,主机群集将被标记为“过载”。

  • 如果群集中只有 5 个节点运行正常,则当群集中的任意 3 个节点 (5-2) 的组合无法容纳现有虚拟机时,群集将被标记为“过载”。

VMM 的群集刷新程序在下列事件后将更新主机群集的过载状态。

  • 更改群集保留

  • 主机群集中有节点故障或节点被删除

  • 主机群集中增加了节点

  • 在主机群集的节点中发现了新虚拟机

可在主机群集属性的**“常规”**选项卡上设置群集保留。有关过程,请参阅如何查看和修改主机群集的属性 (https://go.microsoft.com/fwlink/?LinkID=162986)。

规划的和未规划的停机时间

高可用虚拟机迁移的状况决定虚拟机上服务可用性的效果。VMM 可通过快速迁移或实时迁移 HAVM 来管理规划的停机时间。对于未规划的停机时间,由群集服务进行管理。

  • 规划的停机时间 — 在迁移 HAVM 以执行规划的维护任务时(例如在 Windows Server 2008 R2 故障转移群集中的主机上执行修补工作),将执行实时迁移。对于 Hyper-V 实时迁移,您可以在 Hyper-V 群集主机之间移动正在运行的 VM,并且不会对服务造成任何破坏或让人察觉丢失服务。由于虚拟机未发生停机,因此,此移动对于连接到虚拟机的用户完全透明。

    迁移 Windows Server 2008 主机群集中的虚拟机时,VMM 执行快速迁移,在此期间服务会短暂中断,同时其上存储此虚拟机的 LUN 将对主机群集的其他节点解除屏蔽。快速迁移期间,虚拟机的状态(例如,记事本未保存的内容)不会丢失。

  • 未规划的停机时间 — 虚拟机因意外事件而无法转移到其他群集节点时,例如:因硬件故障或操作系统故障造成主机故障,该效果相当于关闭虚拟机。关闭虚拟机时,虚拟机的状态会丢失,群集服务将启动群集中新节点的虚拟机。

在 VMM 2008 R2 中将群集主机置于维护模式

在 VMM 2008 R2 中,可以将主机置于维护模式,具体来说,可以将虚拟机实时迁移到其他主机,或者将该主机上的所有虚拟机均置于保存状态,然后执行规划的维护任务。

在群集主机上启动维护模式后,可以指定以下选项之一:

  • 如果 Windows Server 2008 R2 主机群集中的所有虚拟机均高度可用,则使用实时迁移将所有虚拟机迁移到同一群集中的其他主机上。如果主机上的任何虚拟机迁移失败,则维护模式不会在该主机上启动,且 VMM 不会移回已迁移的虚拟机。

  • 在包含非高可用虚拟机的 Windows Server 2008 主机群集或 Windows Server 2008 R2 群集上,将主机上的所有虚拟机均置于保存状态。

在主机上启动维护模式后,VMM 执行以下操作:

  • 阻止在主机上执行所有类型的虚拟机创建操作。

  • 在虚拟机放置期间从主机分级中排除主机,并阻止将虚拟机部署和迁移到主机。

  • 在 VMM 管理员控制台的**“主机”视图的“处于维护模式”**中显示主机状态。

停止主机上的维护模式时,VMM 允许主机上的虚拟机创建操作继续进行,在放置期间在主机分级中包括主机,以及在 VMM 管理员控制台的“主机”视图中显示主机状态“正常”。但是,VMM 并不执行以下操作:

  • 自动执行实时迁移,以便将从 Windows Server 2008 R2 主机群集中的主机移来的 HAVM 重新移回原始主机中。

  • 在维护模式启动时,在主机上重新启动已置于保存状态的虚拟机。

要启动或停止维护模式,请在“主机”视图中右键单击主机,然后单击合适的命令。

将 HAVM 迁移出主机群集

在 VMM 2008 R2 中,可以使用 SAN 传输将 HAVM 从主机群集中移出到独立主机,前提是 HAVM 没有与其他虚拟机共享 LUN。VMM 2008 不支持使用 SAN 传输来移出主机群集,即使虚拟机位于任何其他虚拟机均没有共享的 CSV LUN 上。

在 VMM 2008 R2 中,可以使用 SAN 迁移来迁移或存储带有传递磁盘的虚拟机,前提是传递磁盘是通过 SAN 连接的,并且可以由目标主机或库服务器访问。如果传递磁盘是本地磁盘,或者如果目标主机或库服务器无法访问通过 SAN 连接的磁盘,则必须将传递磁盘转换为虚拟硬盘文件,并且必须通过 LAN 传输这些文件。在 VMM 2008 中,在将 HAVM 移动到库服务器或独立主机之前,必须转换所有传递磁盘。

从 VMM 中删除虚拟机

从 VMM 中删除高可用虚拟机时,VMM 会删除配置文件并清除连接到虚拟机的群集资源。

另请参阅

概念

在 VMM 中将主机群集配置为支持高可用虚拟机
在 VMM 中管理 VMware Infrastructure

其他资源

高可用性规划
在 VMM 中创建虚拟机