Slurm会计 Amazon ParallelCluster - Amazon ParallelCluster
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Slurm会计 Amazon ParallelCluster

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

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

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

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

注意

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

在中使用Slurm会计 Amazon ParallelCluster

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

要使用配置Slurm记账 Amazon ParallelCluster,必须定义以下内容:

要查看分步教程,请参阅使用 Slurm 会计创建集群

注意

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

Amazon ParallelCluster 配置slurmdbd为确保群集在Slurm数据库服务器上拥有自己的数据库。同一台数据库服务器可以跨多个群集使用,但每个群集都有自己的独立数据库。 Amazon ParallelCluster 使用集群名称在slurmdbd配置文件StorageLoc参数中定义数据库的名称。请考虑以下情况:数据库服务器上存在的数据库包括的集群名称未映射到有效的集群名称。在这种情况下,您可以使用该集群名称创建一个新集群以映射到该数据库。Slurm 会对新集群重复使用该数据库。

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

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

在当前的 Amazon ParallelCluster Slurm记账功能架构中,每个集群都有自己的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 实例。对于这种替代方案,我们建议您在一个集群上启用 Amazon ParallelCluster Slurm记账,然后手动配置其他集群以连接到第一个集群上托管的集群。slurmdbd

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

Slurm 会计注意事项

数据库和集群位于不同 VPC 上

要启用 Slurm 会计,需要将数据库服务器作为 slurmdbd 进程守护程序执行读取和写入操作的后端。在创建或更新集群以启用 Slurm 会计之前,头节点必须能够访问该数据库服务器。

如果您需要在集群使用的 VPC 之外的不同 VPC 上部署数据库服务器,请考虑以下事项:

  • 要在集群端的 slurmdbd 和数据库服务器之间启用通信,必须在这两个 VPC 之间设置连接。有关更多信息,请参阅 Amazon Virtual Private Cloud 用户指南 中的 VPC 对等连接

  • 您必须在集群的 VPC 上创建要连接到头节点的安全组。在对等连接两个 VPC 后,数据库端和集群端安全组之间便可进行交叉链接。有关更多信息,请参阅 Amazon Virtual Private Cloud 用户指南 中的安全组规则

配置 slurmdbd 和数据库服务器之间的 TLS 加密

如果服务器支持 TLS 加密,则使用 Amazon ParallelCluster 提供的默认Slurm记账配置与数据库服务器slurmdbd建立 TLS 加密连接。 Amazon 默认情况下,诸如 Amazon RDS 之类的数据库服务 Amazon Aurora 支持 TLS 加密。

通过在数据库服务器上设置 require_secure_transport 参数,可以在服务器端要求安全连接。这是在提供的 CloudFormation 模板中配置的。

根据安全性方面的最佳实践,我们建议您同时在 slurmdbd 客户端上启用服务器身份验证。为此,请在StorageParameters中配置slurmdbd.conf。将服务器 CA 证书上传到集群的头节点。接下来,将 slurmdbd.confStorageParametersSSL_CA 选项设置为头节点上服务器 CA 证书的路径。这样做会在 slurmdbd 侧启用服务器身份验证。进行这些更改后,重启 slurmdbd 服务以便在启用身份验证的情况下重新建立与数据库服务器的连接。

更新数据库凭证

要更新数据库/UserName或的值 PasswordSecretArn,必须先停止计算队列。假设存储在密钥中的 Amazon Secrets Manager 密钥值已更改,且其 ARN 未更改。在这种情况下,集群不会自动将数据库密码更新为新值。要针对新密钥值更新集群,请从头节点运行以下命令。

$ sudo /opt/parallelcluster/scripts/slurm/update_slurm_database_password.sh
警告

为避免会计数据丢失,我们建议仅在已停止计算实例集的情况下更改数据库密码。

数据库监控

我们建议您启用 Amazon 数据库服务的监控功能。有关更多信息,请参阅 Amazon RDS 监控Amazon Aurora 监控文档。