Slurm會計與 AWS ParallelCluster - AWS ParallelCluster

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

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 支持支持的 MySQL 數據庫服務器的SlurmSlurm計算。

Slurmdbd在 AWS ParallelCluster v3.10.0 及更高版本中使用外部Slurm會計工作

在設定Slurm帳戶之前,您必須擁有連線至現有外部Slurmdbd資料庫伺服器的現有外部資料庫伺服器。

若要設定此項目,請定義下列項目:

  • ExternalSlurmdbd/Host 中外部Slurmdbd伺服器的位。伺服器必須存在且可從頭節點存取。

  • MungeKeySecretArn中與外部Slurmdbd伺服器通訊的 munge 金鑰。

若要逐步執行自學課程,請參閱使用外部Slurmdbd帳戶建立叢集

注意

您負責管理Slurm資料庫會計實體。

AWS ParallelCluster 外部SlurmDB支援功能的架構可讓多個叢集共用相同SlurmDB和相同的資料庫。

A flowchart depicting the Database Stack, Slurmdbd stack, PC Cluster Stack 1, and PC Cluster Stack 2. Containing components such as Slurmdbd instance, RDS Aurora MySQL Database, and Login nodes.

警告

與外部 AWS ParallelCluster 之間的流SlurmDB量未加密。建議您在受信任的網路SlurmDB中執行叢集和外部。

Slurmdbd在 AWS ParallelCluster v3.3.0 及更高版本中使用頭節點處Slurm理會計

在設定Slurm帳戶之前,您必須擁有使用mysql通訊協定的現有外部資料庫伺服器和資料庫。

若要使用配置Slurm會計 AWS ParallelCluster,您必須定義下列項目:

  • 資料庫/Uri 中外部資料伺服器的 URI。伺服器必須存在且可從頭節點存取。

  • 存取資料庫/PasswordSecretArn和 Database/中定義的外部料庫的認證UserName。 AWS ParallelCluster 使用此資訊來設定Slurm層次的帳戶,以及標頭節點上的slurmdbd服務。 slurmdbd是管理叢集與資料庫伺服器之間通訊的守護程式。

若要逐步執行自學課程,請參閱使用Slurm會計建立叢集

注意

AWS ParallelCluster 在資料庫中將預設叢集使用者設定為資料庫管理員,以執行Slurm會計資料庫的基本啟動程序。Slurm AWS ParallelCluster 不會將任何其他使用者新增至會計資料庫。客戶負責管理資Slurm料庫中的會計實體。

AWS ParallelCluster 設定slurmdbd以確保叢集在Slurm資料庫伺服器上擁有自己的資料庫。同一個資料庫伺服器可以跨多個叢集使用,但每個叢集都有自己獨立的資料庫。 AWS ParallelCluster 使用叢集名稱來定義slurmdbd組態檔StorageLoc參數中資料庫的名稱。請考慮下列情況。資料庫伺服器上存在的資料庫包含不對應至使用中叢集名稱的叢集名稱。在此情況下,您可以使用該叢集名稱建立新叢集,以對應至該資料庫。 Slurm重複使用新叢集的資料庫。

警告
  • 我們不建議將多個叢集設定為一次使用相同的資料庫。這樣做可能會導致效能問題,甚至是資料庫死結的情況。

  • 如果叢集的頭節點已啟用Slurm帳戶功能,建議您使用具有強大 CPU、更多記憶體和更高網路頻寬的執行個體類型。 Slurm會計可以增加集群的頭節點應變。

在目前的 AWS 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執行個體。對於此替代方法,我們建議您在一個叢集上啟用 AWS ParallelCluster Slurm帳戶,並手動配置其他叢集以連接至第一slurmdbd個叢集上託管的叢集。

如果您使用的是 3.3.0 之前的版 AWS ParallelCluster 本,請參閱此 HPC 部落格文章中所述的替代方法來實作Slurm會計。

Slurm會計考量

不同 VPC 上的資料庫和叢集

若要啟用Slurm帳戶,需要資料庫伺服器做為slurmdbd精靈執行之讀取和寫入作業的後端。在建立或更新叢集以啟用Slurm帳戶之前,頭節點必須能夠連線到資料庫伺服器。

如果您需要在叢集使用的 VPC 以外的 VPC 上部署資料庫伺服器,請考慮下列事項:

  • 若要啟用叢集端與資料庫伺服器之間的通訊,您必須設定兩個 VPC 之間的連線。slurmdbd如需詳細資訊,請參閱 Amazon Virtual Private Cloud 使用者指南中的 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 憑證上傳至叢集的頭節點。接下來,將StorageParameters中的 SSL_CA 選項設定slurmdbd.conf為標頭節點上伺服器 CA 憑證的路徑。這樣做可以在slurmdbd側面啟用服務器身份驗證。進行這些變更之後,請重新啟動slurmdbd服務,以在啟用識別驗證的情況下重新建立與資料庫伺服器的連線。

更新資料庫認證

若要更新 Database/UserName或的值 PasswordSecretArn,您必須先停止運算叢集。假設存儲在密鑰中的 AWS Secrets Manager 秘密值已更改,並且其 ARN 不會更改。在此情況下,叢集不會自動將資料庫密碼更新為新值。若要更新新密碼值的叢集,請從 head 節點執行下列命令。

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

為避免遺失帳戶資料,建議您僅在運算叢集停止時變更資料庫密碼。

資料庫監控

建議您啟用 AWS 資料庫服務的監視功能。如需詳細資訊,請參閱 Amazon RDS 監控Amazon Aurora 監控文件。