Slurm 用会计 AWS ParallelCluster - AWS ParallelCluster

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Slurm 用会计 AWS ParallelCluster

从 3.3.0 版开始,支持 AWS ParallelCluster Slurm 使用集群配置参数 SlurmSettings/数据库进行核算。

从 3.10.0 版开始,支持 AWS ParallelCluster Slurm 使用带有集群配置参数/的外部 Slurmdbd 进行核算。SlurmSettingsExternalSlurmdbd如果多个集群共享同一个数据库,建议使用外部 Slurmdbd。

With Slurm 会计,您可以集成外部会计数据库来执行以下操作:

  • 管理集群用户或用户组和其他实体。有了这个功能,你可以使用 Slurm的更高级的功能,例如资源限制强制执行、公平共享和。QOSs

  • 收集并保存作业数据,例如运行作业的用户、作业的持续时间及其使用的资源。您可以使用 sacct 实用工具查看保存的数据。

注意

AWS ParallelCluster 支持 Slurm 会计 Slurm 支持我的SQL数据库服务器

与 Slurm 使用外部进行会计 Slurmdbd 在 AWS ParallelCluster v3.10.0 及更高版本中

在配置之前 Slurm 会计,你必须有现有的外部账号 Slurmdbd 数据库服务器,它连接到现有的外部数据库服务器。

要对此进行配置,请定义以下内容:

  • 外部的地址 Slurmdbd 服务器位于 ExternalSlurmdbd/Host 中。服务器必须存在并且可以从头节点访问。

  • 用于与外部通信的 munge 密钥 Slurmdbd 服务器在MungeKeySecretArn

要查看分步教程,请参阅使用外部Slurmdbd记账创建集群

注意

你有责任管理 Slurm 数据库记账实体。

AWS ParallelCluster 外部的架构 SlurmDB 支持功能允许多个集群共享相同的集群 SlurmDB 和同一个数据库。

A flowchart depicting the Database Stack, Slurmdbd stack, PC Cluster Stack 1, and PC Cluster Stack 2. Containing components such as Slurmdbd instance, RDS Aurora MySQL Database, and Login nodes.

警告

和外部 AWS ParallelCluster 之间的流量 SlurmDB 未加密。建议运行集群和外部集群 SlurmDB 在可信的网络中。

与 Slurm 使用头节点进行记账 Slurmdbd 在 AWS ParallelCluster v3.3.0 及更高版本中

在配置之前 Slurm 记账,您必须拥有现有的外部数据库服务器和使用mysql协议的数据库。

要配置 Slurm 使用记账 AWS ParallelCluster,您必须定义以下内容:

要查看分步教程,请参阅使用创建集群 Slurm 会计

注意

AWS ParallelCluster 执行基本的引导程序 Slurm 通过在中将默认集群用户设置为数据库管理员来记账数据库 Slurm 数据库。 AWS ParallelCluster 不会向会计数据库添加任何其他用户。客户负责管理中的会计实体 Slurm 数据库。

AWS ParallelCluster 配置slurmdbd以确保集群有自己的集群 Slurm 数据库服务器上的数据库。同一台数据库服务器可以跨多个群集使用,但每个群集都有自己的独立数据库。 AWS ParallelCluster 使用集群名称在slurmdbd配置文件StorageLoc参数中定义数据库的名称。请考虑以下情况:数据库服务器上存在的数据库包括的集群名称未映射到有效的集群名称。在这种情况下,您可以使用该集群名称创建一个新集群以映射到该数据库。Slurm 为新集群重复使用数据库。

警告
  • 我们不建议设置多个集群同时使用同一个数据库。这样做可能会导致性能问题,甚至导致数据库死锁情况。

  • 如果 Slurm 在集群的头节点上启用了记账,我们建议使用具有强大CPU、内存更大、网络带宽更高的实例类型。Slurm 记账可能会给集群的头节点增加压力。

在当前的架构中 AWS ParallelCluster Slurm 记账功能,每个集群都有自己的slurmdbd守护程序实例,如下图示例配置所示。

A configuration with two clusters that are connected to a MySQL server. Each cluster has their own slurmdbd daemon instance. Moreover, each cluster is connected to its own database through the server. Another configuration with a single cluster that has its own slurmdbd daemon instance. This configuration is connected to a MySQL server and is also connected to its own database through the server.

如果你要添加自定义 Slurm 您的集群环境具有多集群或联邦功能,所有集群都必须引用同一个slurmdbd实例。对于此替代方案,我们建议您启用 AWS ParallelCluster Slurm 对一个群集进行核算,然后手动配置其他群集以连接到第一个群集上托管的群集。slurmdbd

如果您使用 AWS ParallelCluster 的是 3.3.0 之前的版本,请参阅替代方法来实现 Slurm 本HPC博客文章中描述的会计。

Slurm 会计注意事项

数据库和集群在不同的地方 VPCs

要启用 Slurm 记账,需要数据库服务器作为slurmdbd守护程序执行的读取和写入操作的后端。在创建或更新集群以启用集群之前 Slurm 记账,头节点必须能够访问数据库服务器。

如果需要将数据库服务器部署在群集使用的服务器以外VPC的其他服务器上,请考虑以下几点:

  • 要启用群集端和数据库服务器之间的通信,必须设置两者之间的连接VPCs。slurmdbd有关更多信息,请参阅《Amazon Virtu VPCal P rivate Cloud 用户指南》中的对等互联。

  • 您必须创建要连接到群集上头节点的安全组。VPC两者建立VPCs对等关系后,即可在数据库端和集群端安全组之间进行交叉链接。有关更多信息,请参阅 Amazon Virtual Private Cloud 用户指南 中的安全组规则

slurmdbd和数据库服务器之间配置TLS加密

使用默认值 Slurm 如果服务器支持TLS加密,则 AWS ParallelCluster 提供和slurmdbd建立与数据库服务器的TLS加密连接的记账配置。 AWS 默认情况下,Amazon RDS 等数据库服务 Amazon Aurora 支持TLS加密。

通过在数据库服务器上设置 require_secure_transport 参数,可以在服务器端要求安全连接。这是在提供的 CloudFormation 模板中配置的。

根据安全性方面的最佳实践,我们建议您同时在 slurmdbd 客户端上启用服务器身份验证。为此,请在StorageParameters中配置slurmdbd.conf。将服务器 CA 证书上传到集群的头节点。接下来,将 SSL_CA 选项设置slurmdbd.conf为头节点上服务器 CA 证书的路径。StorageParameters这样做会在 slurmdbd 侧启用服务器身份验证。进行这些更改后,重启 slurmdbd 服务以便在启用身份验证的情况下重新建立与数据库服务器的连接。

更新数据库凭证

要更新数据库/UserName或的值 PasswordSecretArn,必须先停止计算队列。假设存储在密钥中的 AWS Secrets Manager 密钥值已更改,ARN但未更改。在这种情况下,集群不会自动将数据库密码更新为新值。要针对新密钥值更新集群,请从头节点运行以下命令。

$ sudo /opt/parallelcluster/scripts/slurm/update_slurm_database_password.sh
警告

为避免会计数据丢失,我们建议仅在已停止计算实例集的情况下更改数据库密码。

数据库监控

我们建议您启用 AWS 数据库服务的监控功能。有关更多信息,请参阅亚马逊RDS监控或亚马逊 Aurora 监控文档。