使用外部Slurmdbd记账创建集群 - AWS ParallelCluster

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

使用外部Slurmdbd记账创建集群

学习如何使用外部记账配置和创建集群。Slurmdbd有关更多信息,请参阅使用进行Slurm会计 AWS ParallelCluster

使用 AWS ParallelCluster 命令行界面 (CLI) 或 API 时,您只需为创建或更新 AWS ParallelCluster 映像和集群时创建的 AWS 资源付费。有关更多信息,请参阅使用的AWS 服务 AWS ParallelCluster

AWS ParallelCluster 用户界面基于无服务器架构构建,在大多数情况下,您可以在 AWS Free Tier类别中使用它。有关更多信息,请参阅 AWS ParallelCluster UI 成本

在本教程中,您将使用 AWS CloudFormation 快速创建模板来创建必要的组件,以便在与集群相同的 VPC 上部署 Slurmdbd 实例。该模板为集群和数据库之间的连接创建了基本的网络和安全配置。

注意

从开始version 3.10.0, AWS ParallelCluster 支持带有集群配置参数的外部 Slurmdbd。SlurmSettings / ExternelSlurmdbd

注意

快速创建模板用作一个示例。此模板并未涵盖所有可能的用例。您有责任创建具有适合您的生产工作负载的配置和容量的外部 Slurmdbd。

先决条件:

第 1 步:创建 Slurmdbd 堆栈

在本教程中,使用CloudFormation 快速创建模板 (us-east-1) 创建 Slurmdbd 堆栈。该模板需要以下输入:

联网
  • vpcID:用于启动 Slurmdbd 实例的 VPC ID。

  • SubnetId:用于启动 Slurmdbd 实例的子网 ID。

  • PrivatePrefix:VPC 的 CIDR 前缀。

  • PrivateIp:要分配给 Slurmdbd 实例的辅助私有 IP。

数据库连接
  • dbmsClientsG:要附加到 Slurmdbd 实例的安全组。此安全组应允许在数据库服务器和 Slurmdbd 实例之间建立连接。

  • DBMS DatabaseName:数据库的名称。

  • dbmsuserName:数据库的用户名。

  • DBMS PasswordSecretArn:包含数据库密码的密钥。

  • dbmsuri:数据库服务器的 URI。

实例设置
  • InstanceType:用于 slurmdbd 实例的实例类型。

  • KeyName:用于 slurmdbd 实例的 Amazon EC2 密钥对。

Slurmdbd 设置
  • AMIID:Slurmdbd 实例的 AMI。AMI 应该是 ParallelCluster AMI。 ParallelCluster AMI 的版本决定了 Slurmdbd 的版本。

  • MungeKeySecretArn: 包含 munge 密钥的密钥,用于对 Slurmdbd 和集群之间的通信进行身份验证。

  • SlurmdbdPort: slurmdbd 使用的端口号。

  • EnableSlurmdbdSystemService:启用 slurmdbd 作为系统服务,让它在实例启动时运行。

警告

如果数据库是由不同版本的创建的SlurmDB,则不要Slurmdbd将其用作系统服务。

如果数据库包含大量条目,则Slurm Database Daemon (SlurmDBD)可能需要几十分钟才能更新数据库,并且在此时间间隔内没有响应。

升级之前SlurmDB,请对数据库进行备份。有关更多信息,请参阅 Slurm 文档

步骤 2:创建Slurmdbd启用外部功能的集群

提供的 AWS CloudFormation 模板会生成一个包含一些已定义输出的 AWS CloudFormation 堆栈。

从中 AWS Management Console,查看 AWS CloudFormation 堆栈中的输出选项卡,以查看创建的实体。要启用Slurm记账,必须在 AWS ParallelCluster 配置文件中使用其中一些输出:

此外,在 AWS CloudFormation 堆栈视图的 “参数” 选项卡中:

使用输出值更新您的集群配置文件数据库参数。使用 pcluster AWS CLI 创建集群。

$ pcluster create-cluster -n cluster-3.x-c path/to/cluster-config.yaml

创建集群后,您可以开始使用 Slurm 会计命令,例如 sacctmgrsacct

警告

与外部ParallelCluster之间的流量SlurmDB未加密。建议在可信网络SlurmDB中运行集群和外部集群。