在 Azure 中生成高可用 HPC Pack 群集

在本文中,我们将提供在 Azure 中构建高可用 HPC Pack 群集的步骤和注意事项。

群集高可用注意事项

典型的 HPC Pack 群集包含一个 SQL Server ,其中包含存储 HPC 作业的数据库;运行关键服务(例如计划程序服务 SDM 服务)的 头节点 服务器;连接到头节点上服务的一组 计算节点 运行用户的 HPC 工作负荷。 此外,我们还需要为客户端提供身份验证的 域控制器 。 所有这些组件都通过 网络相互连接。

在 Azure 云环境中,上述任何组件都可能会失败,例如,为 Windows 更新重启头节点,某些计算节点可能会重新启动,因为使用的是低优先级 VM。 因此,如何设置满足以下要求的高可用 HPC Pack 群集:

  1. 上述任何组件都失败,用户工作负荷仍可运行,而不会被取消或失败

  2. 在失败的计算节点上运行的任务应重新计划到其他计算节点

  3. 群集仍可提供服务,包括群集管理、作业管理

因此,让我们讨论每个组件故障情况及其高可用性解决方案。

处理数据库故障

可以选择在云上获取高可用 SQL 数据库:

处理头节点故障

在群集中设置至少 2 个头节点。 使用此配置,任何头节点故障都将导致活动 HPC 服务从此头节点移到另一个头节点。

处理 AD 失败

当 HPC 无法连接到域控制器时,管理员和用户将无法连接到 HPC 服务,因此无法管理和将作业提交到群集。 新作业将无法在已加入域的计算机节点上启动,因为 NodeManager 服务无法验证作业的凭据。 因此,需要考虑以下选项:

  1. 在 Azure 中使用 HPC Pack 群集部署高可用性域控制器

  2. 使用 Azure AD 域服务。 在群集部署期间,只需将所有群集节点加入此域,并从 Azure 获取高可用域服务。

  3. 使用 HPC Pack Azure AD 集成解决方案 ,无需将群集节点加入任何域。 因此,只要 HPC 服务已连接到 Azure AD 服务。

处理网络故障

Azure 数据中心中的网络本身具有高可用性,因此无需备份网络。

生成高可用 HPC Pack 群集

此处有一个 ARM 模板,选择可以使用以下选项部署高可用 HPC 群集:

  1. 创建 Azure SQL 数据库

  2. 连接到现有的 Active Directory 域

  3. 创建高可用 HPC Pack 群集

模板:具有适用于具有现有 Active Directory 域的 Windows 工作负荷的 Azure SQL 数据库的高可用性群集

此模板为现有 Active Directory 域林中的 Windows HPC 工作负荷部署高可用性的 HPC Pack 群集。 群集包括两个头节点、SQL Azure 数据库和可配置数量的 Windows 计算节点。 如果配置了 Express Route 且想要将群集加入本地 Active Directory 域,则可以选择不为头节点创建公共 IP 地址。

注意: 请确保在要在其中创建群集的子网上为 Azure SQL 数据库(Microsoft.Sql)启用了服务终结点。

HPC Pack 群集共享

目前在所有 HPC Pack ARM 模板中,我们在头节点之一上创建群集共享,该节点不可用,就好像该头节点已关闭一样,在其他头节点上运行的 HPC 服务将无法访问该共享。 基本上,它不会影响运行作业和管理节点。

借助 Azure 文件存储,这些文件共享可以移动到具有 SMB 权限的 Azure 文件共享,使其高度可用。 请参阅 此文档

共享名 用法 默认位置 关闭时的影响 使高可用方式
远程安装共享 群集安装后,我们将 HPC Pack 安装程序二进制文件放入此共享文件夹中,以便客户端计算机和计算计算机可以从此共享执行安装目录。 \\<HN3>\REMINST 当此共享关闭或无法访问时,它不会影响 HPC 群集的任何现有功能。 群集管理员还可以在其他两个头节点上创建相同的共享,并在其中复制设置的二进制文件,以便任何头节点关闭,共享仍然可用
HPC SOA 注册共享 此共享存储 SOA 服务注册文件 \\<HN3>\HpcServiceRegistration 依赖于此共享中的注册文件的 SOA 服务作业将无法运行 注册新的 SOA 服务配置文件时,请不要将注册文件放入共享中,而是使用“ 导入高可用配置文件...” 从群集管理器将 SOA 服务注册文件导入 HPC 群集可靠存储中,以便即使共享关闭,注册文件也会可用
HPC SOA 运行时共享 此共享存储 SOA 作业的常见数据 \\<HN3>\Runtime$ 具有常见数据的 SOA 作业将失败 SOA 客户端需要将通用数据放入 Azure 存储,以便即使运行时共享已关闭,公共数据仍可用
HPC SOA TraceRepository Soa 诊断跟踪存储库。 \\<HN3>\TraceRepository 如果启用 SOA 诊断跟踪,则跟踪将无法收集。 使用 Azure 文件共享。
HPC 诊断共享 此共享存储诊断测试结果 \\<HN3>\Diagnostics 当此共享关闭时,HPC 诊断作业将失败,因为它没有写入测试结果的位置。 当群集管理员想要运行 diag 测试时,可以切换到新的 diag 共享。 若要更改为新的 diag 共享,请运行 HPC powershell cmd
set-HpcClusterRegistry -PropertyName DiagnosticsShare -PropertyValue "\\<HN2>\diagnostics"
CcpSpoolDir 计算节点的输出后台处理程序共享。 \\<HN3>\CcpSpoolDir 如果用于任务输出,该任务将无法写入输出数据。 使用 Azure 文件共享。