本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 支持的 MySQL 数据库服务器
与 Slurm 使用外部进行会计 Slurmdbd 在 AWS ParallelCluster v3.10.0 及更高版本中
在配置之前 Slurm 会计,你必须有现有的外部账号 Slurmdbd 数据库服务器,它连接到现有的外部数据库服务器。
要对此进行配置,请定义以下内容:
-
外部的地址 Slurmdbd 服务器位于 ExternalSlurmdbd/Host 中。服务器必须存在并且可以从头节点访问。
-
用于与外部通信的 munge 密钥 Slurmdbd 服务器在MungeKeySecretArn。
要查看分步教程,请参阅使用外部集群创建集群 Slurmdbd 会计。
注意
你有责任管理 Slurm 数据库记账实体。
AWS ParallelCluster 外部的架构 SlurmDB 支持功能允许多个集群共享相同的集群 SlurmDB 和同一个数据库。
警告
和外部 AWS ParallelCluster 之间的流量 SlurmDB 未加密。建议运行集群和外部集群 SlurmDB 在可信的网络中。
与 Slurm 使用头节点进行记账 Slurmdbd 在 AWS ParallelCluster v3.3.0 及更高版本中
在配置之前 Slurm 记账,您必须拥有现有的外部数据库服务器和使用mysql协议的数据库。
要配置 Slurm 使用记账 AWS ParallelCluster,您必须定义以下内容:
-
访问数据库/ PasswordSecretArn和数据库/中定义的外部数据库的凭据UserName。 AWS ParallelCluster 使用此信息在上配置记账 Slurm 关卡和头节点上的
slurmdbd服务。slurmdbd是管理群集和数据库服务器之间通信的守护程序。
要查看分步教程,请参阅使用创建集群 Slurm 会计。
注意
AWS ParallelCluster 执行基本的引导程序 Slurm 通过在中将默认集群用户设置为数据库管理员来记账数据库 Slurm 数据库。 AWS ParallelCluster 不会向会计数据库添加任何其他用户。客户负责管理中的会计实体 Slurm 数据库。
AWS ParallelCluster 配置slurmdbdslurmdbd配置文件StorageLoc
警告
-
我们不建议设置多个集群同时使用同一个数据库。这样做可能会导致性能问题,甚至导致数据库死锁情况。
-
如果 Slurm 在集群的头节点上启用了记账,我们建议使用具有强大 CPU、更多内存和更高网络带宽的实例类型。Slurm 记账可能会给集群的头节点增加压力。
在当前的架构中 AWS ParallelCluster Slurm 记账功能,每个集群都有自己的slurmdbd守护程序实例,如下图示例配置所示。
如果你要添加自定义 Slurm 您的集群环境具有多集群或联邦功能,所有集群都必须引用同一个slurmdbd实例。对于此替代方案,我们建议您启用 AWS ParallelCluster Slurm 对一个群集进行核算,然后手动配置其他群集以连接到第一个群集上托管的群集。slurmdbd
如果您使用 AWS ParallelCluster 的是 3.3.0 之前的版本,请参阅替代方法来实现 Slurm 这篇 HPC 博客文章
Slurm 会计注意事项
数据库和集群在不同的地方 VPCs
要启用 Slurm 记账,需要数据库服务器作为slurmdbd守护程序执行的读取和写入操作的后端。在创建或更新集群以启用集群之前 Slurm 记账,头节点必须能够访问数据库服务器。
如果您需要在集群使用的 VPC 之外的不同 VPC 上部署数据库服务器,请考虑以下事项:
配置 slurmdbd 和数据库服务器之间的 TLS 加密
使用默认值 Slurm 如果服务器支持 TLS 加密,则 AWS ParallelCluster 提供与数据库服务器slurmdbd建立 TLS 加密连接的记账配置。 AWS 默认情况下,Amazon RDS 等数据库服务 Amazon Aurora 支持 TLS 加密。
通过在数据库服务器上设置 require_secure_transport 参数,可以在服务器端要求安全连接。这是在提供的 CloudFormation 模板中配置的。
根据安全性方面的最佳实践,我们建议您同时在 slurmdbd 客户端上启用服务器身份验证。为此,请在StorageParametersslurmdbd.conf。将服务器 CA 证书上传到集群的头节点。接下来,将 slurmdbd.conf 中 StorageParameters 的 SSL_CAslurmdbd 侧启用服务器身份验证。进行这些更改后,重启 slurmdbd 服务以便在启用身份验证的情况下重新建立与数据库服务器的连接。
更新数据库凭证
要更新数据库/UserName或的值 PasswordSecretArn,必须先停止计算队列。假设存储在密钥中的 AWS Secrets Manager 密钥值已更改,且其 ARN 未更改。在这种情况下,集群不会自动将数据库密码更新为新值。要针对新密钥值更新集群,请从头节点运行以下命令。
$sudo /opt/parallelcluster/scripts/slurm/update_slurm_database_password.sh
警告
为避免会计数据丢失,我们建议仅在已停止计算实例集的情况下更改数据库密码。
数据库监控
我们建议您启用 AWS 数据库服务的监控功能。有关更多信息,请参阅 Amazon RDS 监控或 Amazon Aurora 监控文档。