本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Slurm会计 AWS ParallelCluster
从 3.3.0 版开始, AWS ParallelCluster 支持使用集群配置参数 SlurmSettings/数据库进行Slurm记账。
从 3.10.0 版开始, AWS ParallelCluster 支持使用带有集群配置参数/的外部 Slurmdbd 进行Slurm记账。SlurmSettingsExternalSlurmdbd如果多个集群共享同一个数据库,建议使用外部 Slurmdbd。
通过 Slurm 会计,您可以集成外部会计数据库来执行以下操作:
-
管理集群用户或用户组和其他实体。借助此功能,您可以使用 Slurm 的更高级功能,例如强制资源限制、公平共享和 QoS。
-
收集并保存作业数据,例如运行作业的用户、作业的持续时间及其使用的资源。您可以使用
sacct
实用工具查看保存的数据。
注意
AWS ParallelCluster 支持对Slurm支持的 MySQL 数据库服务器
Slurmdbd在 AWS ParallelCluster v3.10.0 及更高版本中使用外部使用Slurm记账
在配置Slurm记账之前,必须有一个现有的外部Slurmdbd数据库服务器,该服务器可以连接到现有的外部数据库服务器。
要对此进行配置,请定义以下内容:
-
ExternalSlurmdbd/Host 中外部Slurmdbd服务器的地址。服务器必须存在并且可以从头节点访问。
-
用于与外部Slurmdbd服务器通信的 munge 密钥。MungeKeySecretArn
要查看分步教程,请参阅使用外部Slurmdbd记账创建集群。
注意
您负责管理Slurm数据库会计实体。
AWS ParallelCluster 外部SlurmDB支持功能的架构使多个集群可以共享相同SlurmDB和相同的数据库。
警告
与外部 AWS ParallelCluster 之间的流量SlurmDB未加密。建议在可信网络SlurmDB中运行集群和外部集群。
Slurmdbd在 AWS ParallelCluster v3.3.0 及更高版本中使用头节点处理Slurm记账
在配置 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
如果您使用的是 3.3.0 之前的 AWS ParallelCluster 版本,请参阅此 HPC 博客文章
Slurm 会计注意事项
数据库和集群位于不同 VPC 上
要启用 Slurm 会计,需要将数据库服务器作为 slurmdbd
进程守护程序执行读取和写入操作的后端。在创建或更新集群以启用 Slurm 会计之前,头节点必须能够访问该数据库服务器。
如果您需要在集群使用的 VPC 之外的不同 VPC 上部署数据库服务器,请考虑以下事项:
配置 slurmdbd
和数据库服务器之间的 TLS 加密
如果服务器支持 TLS 加密,则使用 AWS ParallelCluster 提供的默认Slurm记账配置与数据库服务器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 监控文档。