在 Azure 的 HPC Pack 群集中管理计算节点的数量和可用性

重要

经典 VM 将于 2023 年 3 月 1 日停用。

如果使用 ASM 中的 IaaS 资源,请在 2023 年 3 月 1 日完成迁移。 我们建议你尽快进行切换,以利用 Azure 资源管理器中的许多增强功能。

有关详细信息,请参阅在 2023 年 3 月 1 日之前将 IaaS 资源迁移到 Azure 资源管理器

如果在 Azure VM 中创建了 HPC Pack 2012 R2 群集,则可能需要在群集中轻松添加、删除、启动(预配)或停止(取消预配)某些计算节点 VM 的方法。 若要执行这些任务,请运行安装在头节点 VM 上的 Azure PowerShell 脚本。 这些脚本可帮助你控制 HPC Pack 群集资源的数量和可用性,以便控制成本。

重要

本文仅适用于使用经典部署模型创建的 Azure 中的 HPC Pack 2012 R2 群集。 Microsoft 建议大多数新部署使用 Resource Manager 模型。 此外,本文中所述的 PowerShell 脚本在 HPC Pack 2016 中不可用。

先决条件

  • Azure VM 中的 HPC Pack 2012 R2 群集:在经典部署模型中创建 HPC Pack 2012 R2 群集。 例如,可以在 Azure 市场和 Azure PowerShell 脚本中使用 HPC Pack 2012 R2 VM 映像自动执行部署。 有关信息和先决条件,请参阅 使用 HPC Pack IaaS 部署脚本创建 HPC 群集

    部署后,在头节点上的 %CCP_HOME%bin 文件夹中找到节点管理脚本。 以管理员身份运行每个脚本。

  • Azure 发布设置文件或管理证书:需要在头节点上执行以下作之一:

    • 导入 Azure 发布设置文件。 为此,请在头节点上运行以下 Azure PowerShell cmdlet:

      Get-AzurePublishSettingsFile
      
      Import-AzurePublishSettingsFile –PublishSettingsFile <publish settings file>
      
    • 在头节点上配置 Azure 管理证书。 如果有.cer文件,请在 CurrentUser\My 证书存储中导入该文件,然后针对 Azure 环境运行以下 Azure PowerShell cmdlet(AzureCloud 或 AzureChinaCloud):

      Set-AzureSubscription -SubscriptionName <Sub Name> -SubscriptionId <Sub ID> -Certificate (Get-Item Cert:\CurrentUser\My\<Cert Thrumbprint>) -Environment <AzureCloud | AzureChinaCloud>
      

添加计算节点虚拟机

使用 Add-HpcIaaSNode.ps1 脚本添加计算节点。

语法

Add-HPCIaaSNode.ps1 [-ServiceName] <String> [-ImageName] <String>
 [-Quantity] <Int32> [-InstanceSize] <String> [-DomainUserName] <String> [[-DomainUserPassword] <String>]
 [[-NodeNameSeries] <String>] [<CommonParameters>]

参数

  • ServiceName:将新计算节点 VM 添加到的云服务的名称。

  • ImageName:可以通过 Azure 门户或 Azure PowerShell cmdlet Get-AzureVMImage 获取的 Azure VM 映像名称。 映像必须满足以下要求:

    1. 必须安装 Windows作系统。
    2. HPC Pack 必须安装在计算节点角色中。
    3. 该映像必须是用户类别中的专用映像,而不是公共 Azure VM 映像。
  • 数量:要添加的计算节点 VM 数。

  • InstanceSize:计算节点 VM 的大小。

  • DomainUserName:用于将新 VM 加入域的域名。

  • DomainUserPassword:域用户的密码。

  • NodeNameSeries (可选):计算节点的命名模式。 格式必须 <Root_Name><Start_Number>%。 例如,MyCN%10% 表示从 MyCN11 开始的一系列计算节点名称。 如果未指定,脚本将使用 HPC 群集中配置的节点命名系列。

示例:

以下示例根据 VM 映像 hpccnimage1,在云服务 hpcservice1 中添加 20 个大型计算节点 VM。

Add-HPCIaaSNode.ps1 –ServiceName hpcservice1 –ImageName hpccniamge1
–Quantity 20 –InstanceSize Large –DomainUserName <username>
-DomainUserPassword <password>

删除计算节点虚拟机

使用 Remove-HpcIaaSNode.ps1 脚本删除计算节点。

语法

Remove-HPCIaaSNode.ps1 -Name <String[]> [-DeleteVHD] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>]

Remove-HPCIaaSNode.ps1 -Node <Object> [-DeleteVHD] [-Force] [-Confirm] [<CommonParameters>]

参数

  • 名称:要删除的群集节点的名称。 支持通配符。 参数集名称为 Name。 不能同时指定 NameNode 参数。
  • 节点:要删除的节点的 HpcNode 对象,可通过 HPC PowerShell cmdlet Get-HpcNode 获取。 参数集名称为 Node。 不能同时指定 NameNode 参数。
  • DeleteVHD (可选):设置为删除已删除的 VM 的关联磁盘。
  • 强制 (可选):在删除 HPC 节点之前强制使 HPC 节点脱机的设置。
  • 确认 (可选):在执行命令之前提示确认。
  • WhatIf:设置以描述如果在不实际执行命令的情况下执行命令会发生什么情况。

示例:

以下示例强制将名称开头为 HPCNode-CN 的 节点脱机,并删除节点及其关联的磁盘。

Remove-HPCIaaSNode.ps1 –Name HPCNodeCN-* –DeleteVHD -Force

启动计算节点 VM

使用 Start-HpcIaaSNode.ps1 脚本启动计算节点。

语法

Start-HPCIaaSNode.ps1 -Name <String[]> [<CommonParameters>]

Start-HPCIaaSNode.ps1 -Node <Object> [<CommonParameters>]

参数

  • 名称:要启动的群集节点的名称。 支持通配符。 参数集名称为 Name。 不能同时指定 NameNode 参数。
  • Node - 要启动的节点的 HpcNode 对象,可通过 HPC PowerShell cmdlet Get-HpcNode 获取。 参数集名称为 Node。 不能同时指定 NameNode 参数。

示例:

以下示例启动名称开头 为 HPCNode-CN-的节点。

Start-HPCIaaSNode.ps1 –Name HPCNodeCN-*

停止计算节点虚拟机

使用 Stop-HpcIaaSNode.ps1 脚本停止计算节点。

语法

Stop-HPCIaaSNode.ps1 -Name <String[]> [-Force] [<CommonParameters>]

Stop-HPCIaaSNode.ps1 -Node <Object> [-Force] [<CommonParameters>]

参数

  • 名称 - 要停止的群集节点的名称。 支持通配符。 参数集名称为 Name。 不能同时指定 NameNode 参数。
  • 节点:要停止的节点的 HpcNode 对象,可以通过 HPC PowerShell cmdlet Get-HpcNode 获取。 参数集名称为 Node。 不能同时指定 NameNode 参数。
  • 强制(可选):设置为在停止 HPC 节点之前将其脱机。

示例:

以下示例将名称以HPCNode-CN-开头的脱机节点强制脱机,然后停止这些节点。

Stop-HPCIaaSNode.ps1 –Name HPCNodeCN-* -Force

后续步骤