步骤 1:准备部署

部署 HPC 群集的第一步是做出重要决策,例如确定头节点数,并为群集选择网络拓扑。 以下任务将帮助你为群集部署做好准备。

重要

所有 HPC Pack 2016 和 2019 Update 2 及更早的群集(包括仅限 Windows 的群集)都必须引用 管理 HPC Pack 的 Linux 身份验证密钥,以在部署群集后立即 CVE-2025-21198解决严重漏洞。

1.1:查看系统要求

如果尚未这样做,请查看 Microsoft HPC Pack 2019系统要求。 请注意,HPC Pack 对不同的节点角色和部署选项有不同的要求。 在完成部署决策后,可能需要再次查看系统要求。

1.2:确定是否要配置头节点以实现高可用性

如果需要在头节点计算机上的服务发生计划内或计划外中断期间继续运行 HPC 作业,则可以计划配置头节点以实现高可用性。 为此,需要在至少两台头节点计算机上安装 HPC Pack。

1.3:决定是否要使用远程数据库部署群集

HPC Pack 2019 需要并支持Microsoft SQL Server 2014 或更高版本。 HPC Pack 使用五个不同的 SQL Server 数据库来存储群集管理、作业计划、报告、诊断和监视数据。 可以在一个或多个远程服务器上安装这五个 HPC 数据库的一个或多个,而不是将它们安装在群集的头节点上。 默认情况下,HPC Pack 在头节点上安装 SQL Server Express 2019,如果选择单头节点,请在头节点上创建 HPC 数据库。 如果选择部署三个头节点,在一个或多个远程服务器上安装 HPC 数据库的优势在于它在头节点上节省资源,这有助于确保它可以有效地管理群集。

重要

建议在头节点上使用 SQL Server 2019 Express,以用于概念证明或开发群集,以及用于较小的生产群集。 如果群集的节点数超过 256 个,则应考虑在一个或多个远程服务器上安装 HPC 数据库,你计划配置头节点以实现高可用性,或者作业吞吐量和报告要求可能超过 SQL Server 2019 Express 的功能。

若要在远程服务器上安装 HPC 数据库,该服务器必须运行 SQL Server 2008 R2 或更高版本的标准版或企业版,并配置为使用 HPC Pack。 在使用远程数据库安装 HPC Pack 之前,请让数据库管理员在安装程序文件夹中运行 SetupHpcDatabase.ps1 脚本,或者手动执行或修改脚本中的任务。 该脚本会自动为将安装 HPC Pack 的帐户和 HPC 服务的计算机帐户创建必要的数据库和 SQL 实例登录名和数据库用户。 有关详细信息,请参阅 使用远程数据库部署 Windows HPC 群集的分步指南

1.4:确定要添加到群集的节点类型以及多少个节点

可以将以下类型的节点添加到本地群集:

  • 计算节点 - 计算节点用于运行作业。 这种类型的节点不能成为不同类型的节点(即更改角色),而无需重新部署。
  • Broker 节点 - Windows Communication Foundation (WCF) 中转站节点用于将 WCF 调用从 Service-Oriented 体系结构(SOA)客户端路由到群集中节点上运行的 SOA 服务。 这种类型的节点可以更改角色以成为计算节点,而无需重新部署。
  • 工作站节点和非托管服务器节点 - 工作站节点和非托管服务器节点是组织中也可以运行作业的计算机,但它们不是专用群集资源。 它们可以计划在特定时间运行作业,也可以按需提供。 这种类型的节点无法更改角色。
  • Microsoft Azure 节点 - 如果有Microsoft Azure 订阅,可以按需添加 Azure 节点,以在需要时增加群集容量。 与计算节点、工作站节点和非托管服务器节点一样,Azure 节点可以运行作业。 添加 Azure 节点时,还会在 Azure 部署中配置固定或可变数量的代理节点,以方便本地头节点与 Azure 节点之间的通信。
  • Microsoft Azure IaaS 节点 - 如果有Microsoft Azure 订阅,可以按需添加 Microsoft Azure IaaS 节点,以在需要时增加群集容量。

有关 Windows HPC 群集中的节点角色的详细信息,请参阅 了解 Microsoft HPC Pack中的节点角色。

安装 HPC Pack 时,根据要创建的节点类型,会安装不同的功能。 这些功能确定节点将在群集中执行的角色。 在某些情况下,节点可以更改角色,因为它具有执行其他角色所需的功能。 更改角色的能力是决定要添加到群集的节点类型时需要考虑的一个重要方面。

必须做出的另一个重要决定是要添加的节点数。 如果要添加代理节点,则还需要确定要为群集上可用的每个代理节点添加多少个计算节点。 中转站节点与计算节点的比率可能会影响群集性能。

如果计划添加 Azure 节点,应考虑最适合在 Azure 中部署的节点数以及将在这些节点上运行的作业的代理节点数。 与本地头节点通信需要代理节点,并且对于某些群集大小和工作负荷而言可能是瓶颈。

最后,如果要在故障转移群集中配置头节点或中转站节点,则需要为配置的每个故障转移群集节点额外配置一台计算机,这可能会减少可添加到群集的计算节点数。

1.5:为群集选择 Active Directory 域

从 HPC Pack 2016 开始,HPC Pack 可以安装在未加入域的计算机上,但此功能仅适用于 Azure 中的 HPC 群集。 对于本地 HPC 群集,应在 Active Directory 域中创建群集。

本地 HPC 群集中的节点将是 Active Directory 域的成员。 部署本地群集之前,请选择将用于 HPC 群集的 Active Directory 域。

根据组织中的 Active Directory 环境,为将成为 HPC 群集成员的计算机配置单独的组织单位(OU)可能会有所帮助。 如果需要,可以使用单独的 OU 将不同的策略和设置应用于群集节点,而不是组织中的其他计算机。

如果没有可以加入群集的 Active Directory 域,或者不想加入现有域,则可以创建新的 Active Directory 域。 有关安装 Active Directory 域服务角色的详细信息,请参阅在企业部署 Active Directory 域服务(AD DS)。

其他注意事项

  • 如果计划安装具有 Microsoft Service Fabric 的高可用群集,则无法在域控制器中安装 HPC Pack 2019 头节点。 这是因为Microsoft无法在域控制器中部署 Service Fabric 群集。

  • 如果计划将工作站节点或非托管服务器节点添加到 HPC 群集,则可以将这些计算机加入到与头节点加入到的域建立信任关系的任何 Active Directory 域。

1.6:选择用于添加节点的域帐户

若要在头节点上安装 HPC Pack,必须使用作为头节点计算机上的管理员组成员的域用户帐户登录。 此外,在安装 HPC Pack 后 HPC 头节点的配置过程中,必须为将用于添加本地节点的域用户帐户和这些节点的系统配置提供凭据。 在开始群集部署之前,必须选择现有帐户或创建新帐户。

选择用户帐户的注意事项

  • 选择的用户帐户必须是具有足够权限的域帐户,才能为节点创建 Active Directory 计算机帐户,并将节点加入域。
  • 如果组织的策略限制你使用可以向域添加新计算机的域帐户,则需要要求域管理员在部署节点之前在 Active Directory 域服务中为你预创建计算机对象。 有关详细信息,请参阅 在 Active Directory中使用预先创建的计算机对象部署节点。
  • 如果部署的一部分需要访问企业网络上的资源,则用户帐户必须具有访问这些资源所需的权限,例如,网络服务器上可用的安装文件。
  • 如果要使用 HPC 群集管理器远程重启节点,该帐户必须是头节点上本地管理员组的成员。 仅当没有可用于远程重启节点的脚本电源控制工具时,才需要此要求。

1.7:为群集选择网络拓扑

HPC Pack 支持五个群集拓扑。 这些拓扑的区别是群集中的节点如何相互连接,以及如何连接到企业网络。 五种支持的群集拓扑包括:

  • 拓扑 1:在专用网络上隔离的计算节点
  • 拓扑 2:企业和专用网络上的所有节点
  • 拓扑 3:在专用网络和应用程序网络上隔离的计算节点
  • 拓扑 4:企业、专用和应用程序网络上的所有节点
  • 拓扑 5:企业网络上的所有节点

有关每个网络拓扑和每个 HPC 群集网络的详细信息,请参阅本指南后面的 附录 1:HPC 群集网络

选择网络拓扑时,必须考虑现有网络基础结构以及要添加到群集的节点类型:

  • 确定所选拓扑中的哪个网络将充当企业网络、专用网络和应用程序网络。
  • 在自动配置中,不要将连接到头节点上的企业网络的网络适配器(即该适配器的 IP 地址不以:169.254 开头)。 该适配器必须具有有效的 IP 地址,动态或手动分配(静态)。
  • 如果选择包含专用网络的拓扑,并且计划从裸机将节点添加到群集,请执行以下操作:
    • 确保专用网络上没有预启动执行环境(PXE)服务器。
    • 如果要为专用网络使用现有的 DHCP 服务器,请确保将其配置为将头节点识别为网络中 PXE 服务器。
  • 如果要在头节点上为专用网络或应用程序网络启用 DHCP 服务器,并且还有其他连接到这些网络的 DHCP 服务器,则必须禁用这些 DHCP 服务器。
  • 如果现有域名系统(DNS)服务器连接到群集中节点所在的同一网络,则无需执行任何操作,但节点将自动从该 DNS 服务器注销。
  • 请与系统管理员联系,确定是否通过组策略在域上强制实施 Internet 协议安全性(IPsec)。 如果通过组策略在域上强制实施 IPsec,则可能会在部署过程中遇到问题。 解决方法是将头节点设置为 IPsec 边界服务器,以便群集中的其他节点可以在 PXE 启动期间与头节点通信。
  • 如果要将工作站节点或非托管服务器节点添加到群集,则建议使用拓扑 5(企业网络上的所有节点),但支持其他拓扑。 如果要在其他拓扑上添加工作站节点,请参阅 将工作站节点添加到 Windows HPC 群集上的内容。
  • 如果要将代理节点添加到群集,它们必须连接到启动 SOA 会话的客户端连接到网络(通常是企业网络),以及运行 SOA 服务节点的网络(如果与客户端连接的网络不同)。
  • 如果要将 Azure 节点添加到群集,可以在 HPC Pack 支持的任何群集网络拓扑中配置 HPC 群集。 头节点和用于管理群集且需要连接到 Azure 的任何客户端计算机都必须能够通过 Internet 连接到 Azure 服务。

1.8:准备用于保护 HPC 节点之间的通信的证书

Microsoft HPC Pack 2016(及更高版本)群集使用 X.509 证书来保护 HPC 节点之间的通信。 可以在所有 HPC 节点中使用同一个证书,也可以使用两个不同的证书:

  • 头节点的证书 - 此证书安装在头节点(或头节点)上,以保护 Service Fabric 群集(如果用于 HA),以及 HPC 节点之间的通信。 如果证书是自签名的,则如果计划部署具有 “突发到 Azure IaaS VM” 功能的 Azure IaaS 计算节点,则还应将其导入到 Azure Key Vault 证书。
  • 其他节点的证书 - 此证书安装在头节点(或头节点)以外的 HPC 节点上,以保护 HPC 节点之间的通信。 如果选择在所有 HPC 节点上使用同一个证书,则此证书与头节点证书相同。

证书必须满足以下要求:

  • 具有 能够进行密钥交换的私钥;
  • 密钥用法包括 数字签名密钥加密密钥协议证书签名;
  • 增强型密钥用法包括 客户端身份验证服务器身份验证;
  • 如果使用两个不同的证书,则必须具有相同使用者名称

如果证书还用于保护 Service Fabric 群集 ,则必须满足以下 的其他要求:

  1. 证书的提供程序必须 Microsoft 增强的 RSA 和 AES 加密提供程序;
  2. RSA 密钥长度必须 2048 位

如果还没有满足这些要求的证书,则可以从证书颁发机构请求证书,或者也可以使用自签名证书。 我们在 HPC Pack 安装介质的“安装”文件夹中提供 PowerShell 脚本工具 CreateHpcCertificate.ps1 证书,以生成自签名证书。

.\CreateHpcCertificate.ps1 -CommonName "HPCPackNodeCommunication" -Path "d:\hpccomm.pfx" -Password (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force)

如果使用证书颁发机构(CA)签名证书或现有的自签名证书,可以运行以下命令并检查 KeySpec、使用者、密钥用法、增强型密钥用法、公钥长度、提供程序的值。

CertUtil.exe -p "<password>" -v -dump <path-of-pfxFile>
  • 如果 使用者、密钥用法、增强型密钥用法公钥长度 的值不匹配,则必须重新生成证书。

  • 如果 KeySpec(应为“1 -- AT_KEYEXCHANGE”)或 提供程序 的值不匹配, 无需重新生成证书,运行以下命令以导入 修改 KeySpec 和提供程序值的证书,然后运行 certlm.msc 将证书(包括私钥)导出到满足要求的新 PFX 文件。

    CertUtil.exe -f -p "<password>" -csp "Microsoft Enhanced RSA and AES Cryptographic Provider" -importpfx "<path-of-pfxFile>" AT_KEYEXCHANGE
    

如果决定在步骤 1.2 中使用单个头节点,并且想要使用自签名证书,也可以在安装头节点期间在安装向导中生成自签名证书。

如果决定对其他节点使用自签名证书,可以在 步骤 3.4的 HPC 群集管理器中生成自签名证书,稍后在本指南中。

1.9:准备脚本化电源控制工具的集成(可选)

群集管理控制台(HPC 群集管理器)包括远程启动、关闭和重新启动节点的操作。 这些操作链接到使用操作系统命令执行这些电源控制操作的脚本文件(CcpPower.cmd)。 可以将该脚本文件中的默认操作系统命令替换为你自己的电源控制脚本,例如群集解决方案供应商提供的智能平台管理接口(IPMI)脚本。

为准备此集成,必须获取所有必需的脚本、.dll 文件以及 Power Control 工具的其他组件。 获取所有必要的组件后,请独立测试它们,并确保它们按预期方式在将部署为群集中的节点的计算机上工作。

有关修改CcpPower.cmd以集成自己的脚本化电源控制工具的信息,请参阅本指南后面的 附录 5:脚本化 Power Control Tools

下一步