本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Slurm与... 会计 AWS ParallelCluster
从版本 3.3.0 开始,AWS ParallelCluster支持使用集群配置参数 SlurmSettings/数据库进行Slurm记账。
使用Slurm会计,您可以集成外部会计数据库来执行以下操作:
-
管理集群用户或用户组和其他实体。借助此功能,您可以使用更高级Slurm的功能,例如强制执行资源限制、公平共享和 QoS。
-
收集和保存作业数据,例如运行作业的用户、作业的持续时间及其使用的资源。您可以使用该
sacct
实用程序查看保存的数据。
注意
AWS ParallelCluster支持对Slurm支持的 MySQL 数据库服务器
在Slurm会计领域工作 AWS ParallelCluster
在配置Slurm记账之前,必须拥有使用mysql
协议的现有外部数据库服务器和数据库。
要配置Slurm记账AWS ParallelCluster方式,必须定义以下内容:
-
数据库/Uri 中外部数据库服务器的 URI。服务器必须存在并且可以从头节点访问。
-
访问在数据库/PasswordSecretArn和数据库/中定义的外部数据库的证书UserName。 AWS ParallelCluster使用此信息在Slurm级别上配置记账并在头节点上配置
slurmdbd
服务。slurmdbd
是管理群集和数据库服务器之间通信的守护程序。
要逐步完成教程,请参阅使用Slurm记账创建集群。
注意
AWS ParallelCluster通过在数据库中将默认集群用户设置为数据库管理员来执行Slurm会计数据库的基本引导。Slurm AWS ParallelCluster不会将任何其他用户添加到会计数据库。客户负责管理Slurm数据库中的会计实体。
AWS ParallelCluster进行配置slurmdbd
slurmdbd
配置文件StorageLoc
警告
-
我们不建议设置多个集群以同时使用同一个数据库。这样做可能会导致性能问题甚至数据库死锁情况。
-
如果在群集的头节点上启用了记Slurm账功能,我们建议使用具有强大 CPU、更多内存和更高网络带宽的实例类型。 Slurm记账会增加集群头节点的压力。
在AWS ParallelClusterSlurm记账功能的当前架构中,每个集群都有自己的slurmdbd
守护程序实例,如下图示例配置所示。
如果您要向集群环境添加自定义Slurm多集群或联合功能,则所有集群都必须引用同一个slurmdbd
实例。对于这种替代方案,我们建议您在一个集群上启用AWS ParallelClusterSlurm记账,然后手动将其他集群配置为连接到第一个集群上托管的集群。slurmdbd
如果您使用AWS ParallelCluster的是 3.3.0 之前的版本,请参阅此 HPC 博客文章
Slurm会计注意事项
不同 VPC 上的数据库和集群
要启用Slurm记账,需要数据库服务器作为slurmdbd
守护程序执行的读取和写入操作的后端。在创建或更新群集以启用Slurm记账之前,头节点必须能够访问数据库服务器。
如果您需要在集群使用的 VPC 以外的 VPC 上部署数据库服务器,请考虑以下几点:
-
要启用集群端与数据库服务器之间的通信,必须在这两个 VPC 之间建立连接。
slurmdbd
有关更多信息,请参阅 Ammzon V mon Vloud 用户指南中的 VPC 对等互连。 -
您必须创建要连接到集群 VPC 上头节点的安全组。两个 VPC 建立对等关系后,即可在数据库端和集群端安全组之间进行交叉链接。有关更多信息,请参阅 Amazon Virtual Private Cloud 用户指南中的安全组规则。
在slurmdbd
和数据库服务器之间配置 TLS 加密
如果服务器支持 TLS 加密,则使用AWS ParallelCluster提供的默认Slurm记账配置,与数据库服务器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 监控或Am azon Aurora 监控文档。