如何使用 VMM 中的服务模板创建来宾群集

 

发布日期: 2016年3月

适用于: System Center 2012 R2 Virtual Machine Manager

本主题介绍如何使用 Virtual Machine Manager (VMM) 内 System Center 2012 R2 中的服务模板创建来宾群集。 可以将来宾群集配置为运行各种应用程序,但来宾群集通常运行的一个应用程序是 SQL Server。

可以从其他配置文件和模板构建服务模板。 无论以何种方式为来宾群集创建服务模板,模板始终包含说明,该说明告知 VMM 将多个虚拟机一起部署为一个“层”(在此情况下,此层即为来宾群集)。 服务模板还包含一些说明,以告诉 VMM 如何运行合适的脚本从而在部署虚拟机时利用虚拟机创建群集。

System_CAPS_ICON_important.jpg 重要事项

以下过程适用于从 VMM 开始的 System Center 2012 R2。 有关在 VMM 或 System Center 2012 SP1 内的 System Center 2012 中创建配置文件和模板的信息,请参阅在 VMM 中创建配置文件和模板中的主题列表。

先决条件

为了准备创建来宾群集,请查看以下系统先决条件:

  • 主机群集:来宾群集中的虚拟机只能部署到运行 Windows Server 2012 R2 的主机群集。 如果通过服务模板部署包括一个或多个来宾群集的服务,并且不存在运行来宾群集可部署到的 Windows Server 2012 R2 的主机群集,则来宾群集部署将失败。 有关主机群集的信息,请参阅在 VMM 中创建和修改 Hyper-V 主机群集

  • 脚本:创建来宾群集所需的脚本包括:

    • 在第一台虚拟机上运行以便该虚拟机能够形成群集的脚本。

    • 在后面的虚拟机上运行以便这些虚拟机能够加入群集的脚本。

    • 可能会为群集正确安装应用程序的脚本。 例如,要运行 SQL Server 2012,你可能需要一个在来宾群集的第一个节点上正确安装 SQL Server 2012 的脚本,以及在后面的节点上安装该程序的另一个脚本。 (你无法使用经过系统准备的 SQL Server 映像进行安装,因为这在群集上下文中不起作用。)

    System_CAPS_ICON_note.jpg 说明

    在 VMM 中,脚本设置在“应用程序”配置中指定 — 在应用程序配置文件中,或者在 VM 模板或服务层模板的应用程序选项卡上。

  • 关于硬件设置的信息:你将需要知道来宾群集中节点(虚拟机)上所需的基本硬件设置,如内存量。

  • 来宾群集中所有节点要使用的一个或多个虚拟硬盘:大多数群集具有群集中所有节点所使用的一个或多个共享磁盘,虽然这不是必需的。 要为来宾群集配置共享磁盘,请使用以下准则:

    • 对于 VMM 中的 System Center 2012 R2,需至少首先安装“更新汇总 2”,然后再创建将使用共享虚拟硬盘 (VHDX 文件)的来宾群集。

    • 检查 VMM 库中的虚拟硬盘 (VHDX 文件),并确保将由群集节点共享的 VHDX 文件位于库中。

    • 使用新的 VHDX 文件。 不要重复使用以前群集中的 VHDX 文件。

    • 在基于 SCSI 的共享存储中确定一个位置 (路径),在部署时会将来宾群集的所有 VHDX 文件放置在该位置。

      可以使用存储分类来控制共享 VHDX 文件的放置,但是在存储分类中必须至少具有这样一个位置,该位置具有足够容量包含来宾群集的所有共享 VHDX 文件。VMM 不会将共享 VHDX 文件部署到多个位置中。

      即使你使用相同的服务模板部署一系列来宾群集,也可以在部署时使用不同的共享 VHDX 文件位置。 为此,必须将来宾群集部署到主机组(而非云) 中。 然后,可以在部署时为该特定来宾群集指定用于放置共享 VHDX 文件的单个位置(路径)。 这将覆盖你在虚拟机模板中指定的位置。

    有关用于来宾群集的虚拟硬盘的背景信息,请参阅 Virtual Hard Disk Sharing Overview(虚拟硬盘共享概述)

    System_CAPS_ICON_important.jpg 重要事项

    如果要通过使用 VMM 中的 System Center 2012 R2 管理来宾群集,并且要为来宾群集使用共享虚拟硬盘,请确保至少为 System Center 2012 R2 安装“更新汇总 2”。 此外,为了在 VMM 中最佳地管理来宾群集,建议在 VMM 中创建服务形式的来宾群集,而不是通过使用 Hyper-V 创建来宾群集。

  • 来宾群集的每个节点的操作系统虚拟硬盘:你将需要一个虚拟硬盘文件,该文件包含想要来宾群集中的虚拟机使用的操作系统(使用 Sysprep 来准备)。 (这不同于将部署到共享存储的虚拟硬盘文件。) 创建每个节点时,VMM 会将此虚拟硬盘文件的副本用于节点的系统磁盘。

在准备好这些先决条件之后,你可以创建服务模板,并将所有配置元素连接在一起。

本主题包含下列过程:

  1. 指定创建来宾群集时运行的脚本的设置

  2. 创建虚拟机模板并将其包含在来宾群集的服务层中

指定创建来宾群集时运行的脚本的设置

在 VMM 中的应用程序设置中,可以包括脚本,这些脚本将在与来宾群集的创建相关的特定时间运行,如“创建:第一个 VM”或“创建:第一个之后的 VM”。 下面的过程提供用于指定此类设置的步骤。

指定创建来宾群集时运行的脚本的设置

  1. 确认应用程序组件(特别是你的脚本)已复制到 VMM 库共享。 复制脚本时,请将其放在库共享内的文件夹中,并为文件夹提供 .cr 扩展名,在 VMM 中,该扩展名表示“自定义资源”。

  2. 打开“库”工作区。

  3. 在“主页”选项卡上的“创建”组中,单击“创建”,然后单击“应用程序配置文件”。

    此时将打开“新建应用程序配置文件”对话框。

  4. 在“常规”选项卡上的“名称”框中,键入名称和可选说明。 例如,键入名称 GuestSQL

  5. 在“常规”选项卡上的“兼容性”列表中,保留默认的选择“常规”。

    你必须将“常规”选项用于配置文件,以在该配置文件中指定先形成群集然后将节点加入群集的脚本。

  6. 单击“应用程序配置”选项卡,再单击“OS 兼容性”,然后选择服务器操作系统的一个或多个版本。 对于来宾群集,不要选择早于 Windows Server 2012 的操作系统。

  7. 仍在“应用程序配置”选项卡上,添加用于创建群集的第一个节点以及将其他节点添加至该群集所需的脚本。 要添加脚本,请单击“添加”,然后选择“脚本”。 脚本数不受限制,你可以指定将运行脚本的顺序。 提供每个脚本的以下类型的信息:

    • 针对将在群集创建时群集的第一个节点(非其他节点)上运行的脚本,对于“脚本命令类型”,选择“创建:第一个 VM”。

    • 针对将在群集创建时群集的第一个节点之后的节点(非第一个节点)上运行的脚本,对于“脚本命令类型”,选择“创建:第一个之后的 VM”。

    • 对于每个脚本,请指定运行脚本将使用的可执行文件名称和参数。

      System_CAPS_ICON_note.jpg 说明

      脚本可以包含为部署配置服务时要输入的设置。 要设置此类型设置的格式,请在“参数”字段中键入以下格式的参数:@<设置标签>@(例如,键入 @ClusterName@)。

      例如,考虑通过可执行文件名称 Cmd.exe 以及 /q/c 参数运行的脚本。 假设脚本名称为 FormCluster.cmd,并且它要求在部署群集时提供群集名称。 对于此脚本,可以指定以下信息:

      可执行程序:Cmd.exe

      参数:**/q /c FormCluster.cmd @ClusterName@**

    • 对于每个脚本,请提供脚本位置。 在“脚本资源包”下,单击“浏览”,然后选择要将脚本复制到其中的具有 .cr 扩展的文件夹。 单击"确定"。

    • 对于每个脚本,请提供“运行方式帐户”。

    • 根据需要配置其他设置,如脚本超时之前应该运行的时长、用于指定出错时怎么办的失败和重启策略,以及其他设置。 为了配置这些设置,请在“脚本”下面选择脚本,并查看或更改部署顺序、超时或其他设置。 根据需要单击“高级”,并查看或配置高级设置,如失败和重启策略。

    你也可以添加将以较旧方法删除来宾群集的脚本。 对于此类脚本,选择“脚本命令类型”“删除:最后一个之前的 VM”或“删除:最后一个 VM”。

  8. 要将其他脚本添加到应用程序配置文件中,请在“应用程序配置”选项卡上,单击“添加”,选择“脚本”,并指定合适的设置。

    你可以添加脚本以使用上一个步骤中未提到的“脚本命令类型”。 例如,通过使用“预安装”的“脚本命令类型”,脚本将在第一台虚拟机上运行,并且也将在服务层中创建的后续虚拟机上运行。

  9. 进行所有选择之后,单击“确定”。

  10. 要验证是否已创建了配置文件,请在“库”窗格中展开“配置文件”,然后单击“应用程序配置文件”。

    此应用程序配置文件将出现在“配置文件”窗格中。

创建虚拟机模板并将其包含在来宾群集的服务层中

创建虚拟机模板并将其包含在来宾群集的服务层中后,在大多数情况下,将在虚拟机模板中包括共享 VHDX 文件的设置。 此 VHDX 文件必须部署到共享存储中,该共享存储具有可用于群集的每个节点的 SCSI 通道。 此配置为来宾群集的每个节点提供同一 VHDX 文件(磁盘)的访问权限。

此外,虚拟机模板所置于的服务层必须具有用于将层横向扩展到虚拟机的多个实例的设置。 层中的每个实例都是来宾群集中的一个节点。

创建虚拟机模板并将其包含在来宾群集的服务层中

  1. 确保在 VMM 库共享上具有一个虚拟硬盘,该硬盘包含想要来宾群集中的虚拟机使用的操作系统(使用 Sysprep 来准备)。 此虚拟硬盘不能为空。 (这不同于将部署到共享存储的虚拟硬盘文件。)

  2. 打开“库”工作区。

  3. 在“主页”选项卡上的“创建”组中,单击“创建 VM 模板”。

    创建 VM 模板向导随即打开。

  4. 在“选择源”页上,单击“使用现有 VM 模板或库中存储的虚拟硬盘”,然后单击“浏览”。

  5. 在“选择 VM 模板源”对话框中,单击此过程第 1 步中描述的虚拟硬盘,再单击“确定”,然后单击“下一步”。

  6. 在**“VM 模板标识”**页上,为虚拟机模板提供一个名称。 选择代(“第 1 代”或“第 2 代”)之前,检查拥有的更新汇总的级别。 从 System Center 2012 R2 的更新汇总 6 开始,可以选择“第 2 代”。 但是,如果没有更新汇总 6,请务必选择“第 1 代”,因为必须将 VM 模板添加到服务模板。 有关详细信息,请参阅 了解 VMM 中的第 1 代和第 2 代虚拟机

    然后单击**“下一步”**。

  7. 在“配置硬件”页上,配置硬件设置。 如果想要使用硬件配置文件,请确保它包含后面的列表中的设置,然后在“硬件配置文件”列表中,单击想要的硬件配置文件。

    当配置硬件设置时,请考虑下列各项:

    • 如果打算将虚拟机部署到私有云,那么你必须在“容量”下面选择私有云支持的云容量配置文件。

    • 要将来宾群集配置为使用共享的虚拟硬盘(VHDX 格式),请在“总线配置”下面,单击“SCSI 适配器 0”,然后在页面顶部附近的“新建”旁边,单击“磁盘”。 新磁盘在 SCSI 适配器下面显示为列表。 选择该磁盘,然后选择“在服务层中共享磁盘”。 确保清除了“包含虚拟机的操作系统”复选框。 单击**“浏览”,选择想要让 VMM 部署到共享存储区的 VHDX 文件,然后单击“确定”**。 对群集中的每个附加节点重复此过程 — 每次添加相同的磁盘,但确保 SCSI 通道对于该磁盘的每个实例都具有唯一性。

      System_CAPS_ICON_important.jpg 重要事项

      对于计划纳入来宾群集的每个节点,请配置相同磁盘的一个实例,并为该实例提供一个唯一的 SCSI 通道。

      你可以重复添加将由群集使用的磁盘。 但是,请务必查看本主题前面的“先决条件”,以了解有关选择共享存储位置的详细信息。 如果确实要添加更多共享磁盘,请确保配置每个附加磁盘,使其 SCSI 通道数与计划纳入来宾群集的节点数相同。

    • 如果将网络适配器配置为使用静态 IP 地址,则还必须将媒体访问控制 (MAC) 地址设置为静态。

    • 在“网络适配器”下面,选择网络适配器,在详细信息窗格底部,选择“启用来宾指定的 IP 地址”。 这会使来宾群集中的节点(虚拟机)能够为群集本身以及配置为在群集中运行的应用程序指定 IP 地址。

    • 在“高级”下面,单击“可用性”,然后选择“使此虚拟机高度可用”。 选择此项后,会将虚拟机创建为主机群集上的群集实例,以便在一个主机故障时,虚拟机能够故障转移到群集中的其他主机。

    • 最佳做法是在“高级”下面,单击“可用性”,然后单击“管理可用性集”按钮。 要创建新可用性集,请单击“创建”按钮,提供集名称,然后单击“确定”。 在“管理可用性集”对话框中,单击“确定”。

      指定的可用性集名称将由来宾群集中的所有节点(虚拟机)使用,这意味着 VMM 将尝试在单独的主机上保留虚拟机,以便在一个主机出现故障时,另一个主机上的虚拟机可以根据需要提供服务。 (如果你在其他上下文中使用了故障转移群集,则你可能知道此设置是 AntiAffinityClassNames。)

    配置了硬件设置后,单击“下一步”。

  8. 在“配置操作系统”页上,打开“来宾 OS 配置文件”列表,并且选择来宾操作系统配置文件或选择“[创建新的 Windows 操作系统自定义设置]”。 你从列表中选择的项目确定向导页上显示的设置。 你的选择还确定是否显示其他向导页。

    配置操作系统设置时,请考虑下列各项:

    • 在“标识信息”下面,你可以为“计算机名”提供模式以生成计算机名。 例如,如果输入 server####,则创建的计算机名为 server0001、server0002 等。 通过使用模式,可以确保在将附加虚拟机添加至服务时,所生成的计算机名具有相关性并且易于识别。 如果使用此方法指定计算机名,则不能将其与名称提示参数(@<名称>@)一并使用。 你可以使用一种方法或另一种方法,但不能二者都用。

    • 在“网络”下面,通过使用 FQDN 或在域名前后使用 at 符号 (@),例如 @Domain@,你可以指定 Active Directory 域服务的设置。 通过以这种方式使用 at 符号 (@),可以在服务过程中部署虚拟机时输入所需信息。 部署服务所在的域与 VMM 管理服务器的域之间不需要信任关系。

    配置来宾操作系统设置之后,单击“下一步”。

  9. 在“配置应用程序”页上,单击“下一步”。 稍后,你会将这些设置添加到配置中,如此过程中所述。

  10. 在“配置 SQL Server”页上,单击“下一步”。

  11. 在“摘要”页上确认设置,然后单击“创建”。 确认已创建虚拟机模板。

  12. 在“库”工作区中“主页”选项卡上的“创建”组中,单击“创建服务模板”。

    “新建服务模板”对话框将打开。

  13. 指定模板的名称、版本和模式。 这些模式可帮助你开始创建服务模板,但你可以在退出此对话框后更改层数。 完成选择之后,单击“确定”。

    在画布上将显示你选择的模式。 如果选择具有层的模式,则层存在,但没有为它们附加 VM 模板。

  14. 在“VM 模板”窗格(画布旁边)中,单击刚创建的虚拟机模板,并将其拖到层上。 如果画布上还没有层,请将虚拟机模板拖到画布上的任何地方。

    (层)框中的标签将发生更改以反映虚拟机模板的名称。 如果虚拟机模板包含网络设置,则连接器可能会出现在框的下部。 此连接器显示 VM 网络连接。

    将虚拟机模板拖到画布上是生成服务模板的基本过程。 你可以根据需要更改层数。 通过将附加虚拟机模板拖到画布上,你可以添加层;通过删除画布上的虚拟机模板,你可以删除层。

  15. 在画布上,右键单击刚才将虚拟机模板拖至的层,单击“属性”,然后单击“应用程序配置”。 在页面顶部附近的“应用程序配置文件”旁边,单击下拉列表,然后单击在本主题前面过程中创建的应用程序配置文件。 然后单击“确定”。

    由于执行了此步骤,因此在部署服务时,将运行在应用程序配置文件中指定的脚本。

  16. 在“主页”选项卡上的“服务模板”组中,单击“保存并验证”以保存服务模板。

    如果存在任何验证错误,则造成验证错误的服务模板元素上会出现警告图标,并且“服务模板设计器”窗口内的属性窗格中会出现一条描述问题的消息。

  17. 右键单击表示来宾群集层的框,然后单击“属性”。 在“常规”选项卡上,选择“此计算机层可以按比例缩小”,然后为“默认实例计数”和“最大实例计数”指定大于 1 的值。 指定的值控制来宾群集中的节点数。 例如,**“默认实例计数”**指定在创建群集时 VMM 将创建的节点数。

    System_CAPS_ICON_important.jpg 重要事项

    确保“最大实例计数”小于或等于以前(在“总线配置”下面)为磁盘配置的 SCSI 通道数。 确保“默认实例计数”小于或等于“最大实例计数”。

  18. 在仍显示来宾群集层的属性的情况下(如在上一个步骤中),为“升级域的数目”指定一个值,此值与你在上一个步骤中指定的“最大实例计数”相同。

    例如,如果你指定 3 的“默认实例计数”和 3 的“最大实例计数”,则来宾群集将具有三个节点。 更新服务时,如果为“升级域的数目”指定了 1 的不正确的值 ,则 VMM 将在一个阶段中执行更新,这意味着它将同时更新所有这三个虚拟机。 这将导致群集在更新过程中丢失仲裁并停止运行。 但是,如果为“升级域的数目”指定了 3 的合适的值,则 VMM 将在三个阶段中执行更新,这意味着它一次将更新一个虚拟机。 这将使来宾群集中的两个虚拟机在任何指定的时间运行,并且群集将在更新过程中继续运行。

    有关升级域的详细信息,请参阅在 VMM 中更新服务

  19. 在“主页”选项卡上的“服务模板”组中,单击“保存并验证”以保存服务模板。

有关部署服务的信息,请参阅在 VMM 中部署服务

请参阅

在 VMM 中创建配置文件和模板
准备在 VMM 中创建服务
在 VMM 中部署服务
虚拟硬盘共享概述
为虚拟机配置可用性选项概述
如何为主机群集上的虚拟机配置在 VMM 中的优先级
使用来宾群集以实现高可用性
测试实验室指南:System Center 2012 SP1 - Virtual Machine Manager