本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Slurm 用会计 AWS ParallelCluster
从 3.3.0 版开始,支持 AWS ParallelCluster Slurm 使用集群配置参数 SlurmSettings/数据库进行核算。
从 3.10.0 版开始,支持 AWS ParallelCluster Slurm 使用带有集群配置参数/的外部 Slurmdbd 进行核算。SlurmSettingsExternalSlurmdbd如果多个集群共享同一个数据库,建议使用外部 Slurmdbd。
随着 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 和同一个数据库。
警告
和外部 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 配置slurmdbd
slurmdbd
配置文件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的其他服务器上,请考虑以下几点:
在slurmdbd
和数据库服务器之间配置TLS加密
使用默认值 Slurm 如果服务器支持TLS加密,则 AWS ParallelCluster 提供和slurmdbd
建立与数据库服务器的TLS加密连接的记账配置。 AWS 默认情况下,Amazon RDS 等数据库服务 Amazon Aurora 支持TLS加密。
通过在数据库服务器上设置 require_secure_transport
参数,可以在服务器端要求安全连接。这是在提供的 CloudFormation 模板中配置的。
根据安全性方面的最佳实践,我们建议您同时在 slurmdbd
客户端上启用服务器身份验证。为此,请在StorageParametersslurmdbd.conf
。将服务器 CA 证书上传到集群的头节点。接下来,将 SSL_CAslurmdbd.conf
为头节点上服务器 CA 证书的路径。StorageParameters
这样做会在 slurmdbd
侧启用服务器身份验证。进行这些更改后,重启 slurmdbd
服务以便在启用身份验证的情况下重新建立与数据库服务器的连接。
更新数据库凭证
要更新数据库/UserName或的值 PasswordSecretArn,必须先停止计算队列。假设存储在密钥中的 AWS Secrets Manager 密钥值已更改,ARN但未更改。在这种情况下,集群不会自动将数据库密码更新为新值。要针对新密钥值更新集群,请从头节点运行以下命令。
$
sudo /opt/parallelcluster/scripts/slurm/update_slurm_database_password.sh
警告
为避免会计数据丢失,我们建议仅在已停止计算实例集的情况下更改数据库密码。
数据库监控
我们建议您启用 AWS 数据库服务的监控功能。有关更多信息,请参阅亚马逊RDS监控或亚马逊 Aurora 监控文档。