Slurm与... 会计 AWS ParallelCluster - AWS ParallelCluster

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Slurm与... 会计 AWS ParallelCluster

从版本 3.3.0 开始,AWS ParallelCluster支持使用集群配置参数 SlurmSettings/数据库进行Slurm记账。

使用Slurm会计,您可以集成外部会计数据库来执行以下操作:

  • 管理集群用户或用户组和其他实体。借助此功能,您可以使用更高级Slurm的功能,例如强制执行资源限制、公平共享和 QoS。

  • 收集和保存作业数据,例如运行作业的用户、作业的持续时间及其使用的资源。您可以使用该sacct实用程序查看保存的数据。

注意

AWS ParallelCluster支持对Slurm支持的 MySQL 数据库服务器进行Slurm记账。

在Slurm会计领域工作 AWS ParallelCluster

在配置Slurm记账之前,必须拥有使用mysql协议的现有外部数据库服务器和数据库。

要配置Slurm记账AWS ParallelCluster方式,必须定义以下内容:

要逐步完成教程,请参阅使用Slurm记账创建集群

注意

AWS ParallelCluster通过在数据库中将默认集群用户设置为数据库管理员来执行Slurm会计数据库的基本引导。Slurm AWS ParallelCluster不会将任何其他用户添加到会计数据库。客户负责管理Slurm数据库中的会计实体。

AWS ParallelCluster进行配置slurmdbd以确保群集在数据库服务器上有自己的Slurm数据库。同一个数据库服务器可以在多个集群中使用,但每个群集都有自己的独立数据库。 AWS ParallelCluster使用群集名称在slurmdbd配置文件StorageLoc参数中定义数据库的名称。考虑以下情况。数据库服务器上的数据库包含未映射到活动群集名称的群集名称。在这种情况下,您可以使用该集群名称创建一个新集群以映射到该数据库。 Slurm为新集群重用数据库。

警告
  • 我们不建议设置多个集群以同时使用同一个数据库。这样做可能会导致性能问题甚至数据库死锁情况。

  • 如果在群集的头节点上启用了记Slurm账功能,我们建议使用具有强大 CPU、更多内存和更高网络带宽的实例类型。 Slurm记账会增加集群头节点的压力。

在AWS ParallelClusterSlurm记账功能的当前架构中,每个集群都有自己的slurmdbd守护程序实例,如下图示例配置所示。


     A configuration with two clusters that are connected to a MySQL server. Each cluster has their own slurmdbd daemon instance.
      Moreover, each cluster is connected to its own database through the server. Another configuration with a single cluster that has its own
       slurmdbd daemon instance. This configuration is connected to a MySQL server and is also connected to its own database through the
      server.

如果您要向集群环境添加自定义Slurm多集群或联合功能,则所有集群都必须引用同一个slurmdbd实例。对于这种替代方案,我们建议您在一个集群上启用AWS ParallelClusterSlurm记账,然后手动将其他集群配置为连接到第一个集群上托管的集群。slurmdbd

如果您使用AWS ParallelCluster的是 3.3.0 之前的版本,请参阅此 HPC 博客文章中描述的实现Slurm会计的替代方法。

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客户端上启用服务器身份验证,这是最佳实践。要执行此操作,请在StorageParameters中配置slurmdbd.conf。将服务器 CA 证书上传到群集的头节点。接下来,将 ssl_CA 选项的 in 设置slurmdbd.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 监控文档。