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