すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:Slurm で推奨されるユーザーおよびアカウント構成

最終更新日:May 08, 2025

Slurm は、タスクの送信を管理し、課金統計を収集するために使用できるアカウントとユーザーを提供します。このトピックでは、Slurm クラスタでアカウントとユーザーを作成、変更、および削除する方法と、リソース消費量を追跡し、指定されたアカウントのリソース消費量統計を収集する方法について説明します。このトピックは、企業や研究機関が計算リソース管理を最適化し、リソース使用率を向上させるのに役立ちます。

Slurm のユーザーとアカウントの概要

  • ユーザー

    Slurm のユーザーとは、Slurm を使用するか、Slurm にログオンする人のことを指します。ユーザーは、リソースを使用および管理するために個別のアカウントを使用します。ユーザーが Slurm クラスタでジョブを送信すると、Slurm はユーザーの ID を識別し、ジョブがスケジュールされている計算ノードでジョブを実行します。デフォルトでは、Slurm はジョブのログファイルをユーザーのホームディレクトリに保存します。特権アクセス許可の要件を満たすために、Slurm は、特権アクセス許可を持つ次のタイプのユーザーを提供します。オペレーター、管理者、およびコーディネーター。

    • 一般ユーザーと比較して、オペレータータイプのユーザーは、Slurm 構成の PrivateData パラメーターで指定された一部の情報にアクセスできます。さらに、オペレータータイプのユーザーは、リソース予約設定を作成、変更、および削除できます。

    • 管理者タイプのユーザーは、ルートユーザーまたは SlurmUser ユーザーと同じ権限を持っています。管理者ユーザーは、Slurm クラスタの任意のパラメーターまたは構成を変更できます。

    • コーディネータータイプのユーザーは、アカウントマネージャーとして機能します。アカウントマネージャーは、アカウントマネージャーによって管理されているアカウントにユーザーとサブアカウントを追加できます。

  • アカウント

    • アカウントは、Slurm システムにおけるユーザーのデジタル ID またはレコードです。たとえば、Web サイトに登録する場合、個人情報とログオン資格情報で構成されるアカウントを作成する必要があります。この場合、あなたはアカウントを所有するユーザーです。アカウントは、リソースの管理と料金の計算に使用されます。ほとんどの場合、アカウントは、Slurm クラスタの予算、クォータ、および料金に関連付けられています。管理者は、アカウントを使用してリソースの使用量と割り当てを調整します。

    • アカウントは、Slurm の課金単位です。複数のアカウント間に階層関係が存在する場合があります。アカウントを使用して、組織またはプロジェクトを表すことができます。これにより、組織またはプロジェクトのリソース消費量を追跡および管理できます。

  • ユーザーとアカウントの違いと関係

    ユーザーは実在の人物です。アカウントは、Slurm が実在の人物に提供するツールです。ユーザーは、銀行口座を使用して銀行にお金を預けたり、銀行からお金を引き出したりするのと同じように、アカウントを使用して Slurm と対話します。ユーザーは、普通預金口座やクレジット口座など、複数の銀行口座を所有できます。ただし、アカウントが共同アカウントである場合を除き、アカウントは 1 人のユーザーにのみ属します。たとえば、ユーザーをラボの研究者、アカウントをラボのリソースクォータと見なすことができます。研究者は、リソースクォータに基づいて計算タスクを送信します。

  • Slurm でユーザーとアカウントを管理する

    • Slurm のユーザーとアカウントの関係は関連付けと呼ばれ、ユーザー名、クラスタ名、パーティション名、およびアカウント名の 4 つの要素で構成される 4 タプルです。

    • Slurm では、Slurm データベースに保存されている各ユーザーに少なくとも 1 つのデフォルトアカウントが構成されている必要があります。

      Slurm の起動時に、Slurm 構成で AccountingStorageEnforce=associations を指定して、Slurm が Slurm データベースにある 4 タプル(ユーザー名、アカウント名、クラスタ名、およびパーティション名)で送信されたジョブのみを実行するようにすることができます。AccountingStorageEnforce パラメーターには、limitsnojobsnostepsqossafewckeys などの他のオプションを指定できます。AccountingStorageEnforce パラメーターには、単一のオプションまたはオプションの任意の組み合わせを指定できます。複数のオプションを指定する場合は、オプションをコンマ(,)で区切ります。詳細については、「公式ドキュメント」をご参照ください。

    • Slurm は、Slurm データベースのアカウント情報を管理および保守するために使用できる sacctmgr という名前のツールを提供します。

      sacctmgr を使用すると、管理者は新しいユーザーとアカウントを作成し、特定の関連付け、ユーザー、またはアカウントにリソース QoS(サービス品質)制限とジョブ送信ルールを指定できます。ユーザーに指定されたリソース QoS 制限またはジョブ送信ルールは、ユーザーに関連付けられたアカウントに指定された一般的なルールよりも優先されることに注意してください。

ユーザーとアカウントを構成する

組織のアカウントを構成する

Slurm を使用すると、管理者はプロジェクトまたは組織の管理を容易にするために、異なるプロジェクトまたは組織に異なるアカウントを作成できます。管理者は、アカウントごとに個別のリソースクォータと予算を構成できます。ユーザーを 1 つまたは複数のアカウントに関連付けることができます。これにより、ユーザーはさまざまなプロジェクトまたは組織によって提供されるリソースを柔軟に使用できます。このアーキテクチャは、柔軟で効率的なリソース管理を実現し、さまざまなユーザー要件を満たします。

高性能計算(HPC)システムの管理者が組織を管理する場合、組織の階層に基づいて階層アカウントシステムを構築することが適切です。このようにして、管理者は階層アカウントシステムの各レイヤーにユーザーを追加できます。管理者は、異なるユーザーに異なるジョブ送信ルールを指定したり、アカウントシステムのすべてのユーザーに統一されたジョブ送信ルールを指定したりできます。管理者は、組織のさまざまな部門が使用するために、Slurm クラスタ内のマシンに基づいて異なるパーティションを作成できます。管理者は、ユーザーに特定のパーティションへのアクセスを許可し、異なるパーティションに異なる優先順位レベルを指定できます。このようにして、優先順位レベルの高いジョブは、優先順位レベルの低いジョブに割り当てられたリソースをプリエンプトできます。sacctmgr を使用してこのようなアカウントシステムを構築するには、次の手順を実行します。

sacctmgr add account department parent=root \
  Description="none" Organization="none"
  • [department] を実際の部門名に置き換えます。

  • [parent=root] 設定は、部門がルートアカウントの子アカウントであることを指定します。ルートアカウントは、Slurm によって作成されるデフォルトアカウントです。

  • [Description] フィールドは部門の説明を指定します。[Organization] フィールドは、部門が属する組織を指定します。

アカウントを作成すると、システムは自動的にユーザーを含まない関連付けを作成します。sacctmgr list association コマンドを実行して、関連付けをクエリできます。

アカウントのユーザーを作成する

  • アカウントを作成した後、ユーザーを作成し、そのユーザーをアカウントに関連付けることができます。sacctmgr add user usera Account=department コマンドを実行して、ユーザーを作成し、そのユーザーをアカウントに関連付けます。

    • [usera] を実際のユーザー名に置き換えます。

    • ユーザーを作成すると、システムは自動的に user=usera,account=department という情報を含む関連付けを作成します。

  • ユーザーのリソースクォータとジョブ送信ルールを構成する場合、sacctmgr modify user name=usera account=department set GrpTRES=cpu=1000m コマンドを実行できます。

    • [name=usera] 設定は、ユーザーの名前を指定します。

    • [account=department] 設定は、ユーザーが部門アカウントに関連付けられていることを指定します。このパラメーターを指定しないと、リソースクォータとジョブ送信ルールは、ユーザーに関連付けられているすべてのアカウントに適用されます。

    • GrpTRES パラメーターは、[set] の後に指定されます。

説明

ユーザーのリソースクォータとジョブ送信ルールを構成する場合、sacctmgr modify account name=department set GrpTRES=cpu=1000m コマンドを実行できます。name=department 設定は、リソース制限が部門アカウントに適用されることを指定します。