クイック スタート - Marketplace を使用して Slurm 用の Azure CycleCloud ワークスペースをデプロイする
Azure CycleCloud Workspace for Slurm は無料の Marketplace アプリケーションであり、HPC ワークロードと AI ワークロードのコンピューティングリソースとストレージ リソースを管理するためのシンプルで安全でスケーラブルな方法を提供します。 このクイック スタートでは、Marketplace アプリケーションを使用して Slurm 用 CycleCloud ワークスペースをインストールします。
前提 条件
このクイック スタートでは、次のものが必要です。
- アクティブなサブスクリプションを持つ Azure アカウント
- サブスクリプション レベルの
共同作成者 ロールとユーザー アクセス管理者 ロールの
デプロイ方法
- Azure portalにサインインします。
- 左上の
+ Create a Resource
オプションをクリックします ボックスに「Slurm 入力し、Slurm用の Azure CycleCloud ワークスペース 選択します。 - [
Azure CycleCloud Workspace for Slurm ] ページで、[の作成]選択します。
のスクリーンショット
基本
- [Slurm アカウントの新しい Azure CycleCloud ワークスペース
] ページで、次の詳細を入力または選択します。 - サブスクリプション: まだ選択されていない場合は、使用するサブスクリプションを選択します。
- リージョン: Slurm 環境用の CycleCloud ワークスペースをデプロイする Azure リージョンを選択します。
- リソース グループ: Slurm アカウント用の Azure CycleCloud ワークスペースのリソース グループを選択するか、新しいリソース グループを作成します。
- CycleCloud VM サイズ: 新しい VM サイズを選択するか、既定値のままにします
- 管理者ユーザー: CycleCloud 管理者アカウントの名前とパスワードを入力します。
- 管理者 SSH 公開キー: 管理者アカウントの公開 SSH キーを直接選択するか、Azure の SSH キー リソースに格納されている場合に選択します。
ファイル システム
ユーザーのホーム ディレクトリ - 新規作成
ユーザーのホーム ディレクトリを配置する場所を指定します。 スケジューラ VM を接続されたデータディスクを持つ NFS サーバーとして使用する新しい 組み込み NFS を作成します。
Azure NetApp Files で新しい
ユーザーのホーム ディレクトリ - 既存のディレクトリを使用する
既存の NFS マウント ポイントがある場合は、[既存の を使用] オプションを選択し、マウントする設定を指定します。
追加のファイル システム マウント - 新規作成
プロジェクト データ用に追加のファイル システムをマウントする必要がある場合は、新しいファイル システムを作成するか、既存のファイル システムを指定します。 新しい Azure NetApp Files ボリュームまたは Azure Managed Lustre ファイルシステムを作成できます。
を作成するための追加のファイル システム マウントのスクリーンショット
を作成するための追加のファイル システム マウントのスクリーンショット
追加のファイル システム マウント - 既存のものを使用する
既存の外部 NFS マウント ポイントまたは Azure Managed Lustre ファイルシステムがある場合は、マウント オプションを指定できます。
に対する追加のファイル システム マウントのスクリーンショット
ネットワーキング
新しい仮想ネットワークとサブネットを作成する場合、または既存の仮想ネットワークとサブネットを使用する場合は、ここで指定します。
新しい仮想ネットワークを作成する
を作成するためのネットワーク オプションのスクリーンショット
- 対象となるコンピューティング ノードの数と一致する CIDR を選択し、ベース IP アドレスを指定します。
- 企業の IT によって提供される直接接続がない場合は、Bastion を作成することをお勧めします。
- インターネットへの送信接続を提供するには、NAT ゲートウェイの作成が必要です。 これは2025年に必須となり、一部の企業によって既に思考ポリシーが適用されています。
- Bastion や VPN ゲートウェイなどのサービスを提供できるピアリング先のハブが既にある場合は、既存の仮想ネットワークにピアリングします。 ピアリングされた VNET と互換性のあるベース IP アドレスを選択するように注意してください。 ピアリングされた VNET にゲートウェイがある場合は、[ゲートウェイ転送を許可する] を確認します。
既存の仮想ネットワークを使用する
既存の仮想ネットワークを使用する前に、「Plan your CycleCloud Workspace for Slurm Deployment の前提条件を確認してください
Slurm の設定
Scheduler ノードとログイン ノードに使用する VM のサイズとイメージを指定します。 イメージは、関連付けられた URI を使用して Azure Marketplace で提供される HPC イメージです。
イメージ名 | URI |
---|---|
Alma Linux 8.7 | almalinux:almalinux-hpc:8_7-hpc-gen2:latest |
Ubuntu 20.04 | microsoft-dsvm:ubuntu-hpc:2004:latest |
Ubuntu 22.04 | microsoft-dsvm:ubuntu-hpc:2204:latest |
カスタム イメージ | イメージ URN またはイメージ ID を指定する必要があります |
Custom Image
選択した場合は、既存のマーケットプレース イメージのイメージ URN、または Azure コンピューティング ギャラリー内のイメージのイメージ ID を指定する必要があります。
スケジューラ、ログイン ノード、コンピューティング ノードで同じイメージを使用する場合は、Use image on all nodes
を確認することもできます。
起動時にプロビジョニングするログイン ノードの数と最大数を設定します。 最後に、正常性チェックを有効にすると、HPC と GPU パーティションのノード正常性チェックが実行され、起動時に異常なノードが自動的に削除されます。
[Slurm 設定] の
Slurm ジョブ アカウンティングを有効にする場合は、チェック ボックスをオンにして接続オプションを表示します。 以前にデプロイした Azure Database for MySQL フレキシブル サーバー リソースが必要であることに注意してください。 独自の仮想ネットワークを提供するか、デプロイの一部として新しい仮想ネットワークを作成するときに VNET ピアリングを使用する場合は、FQDN またはプライベート IP を指定して接続できます。 さらに、新しい仮想ネットワークを作成する場合は、プライベート エンドポイント経由の接続を使用できます。
パーティション設定
Slurm 用の Azure CycleCloud ワークスペースには、次の 3 つの定義された Slurm パーティションが付属しています。
- HTC : MPI 以外のジョブを取り入れ、
- HPC: 主に INFiniBand サポートで VM の種類を使用する密結合 MPI ジョブの場合、
- GPU : MPI および非 MPI GPU ジョブの場合
イメージと、各パーティションに対して CycleCloud によって動的にプロビジョニングされるノードの最大数を設定できます。 HPC および GPU ジョブにスポット インスタンスを使用することは通常はベスト プラクティスではないため、HTC パーティションのみがスポット インスタンスの使用を許可します。 ただし、これらの設定は、CycleCloud UI でのデプロイ後にオーバーライドできます。
[パーティション設定] オプションの
タグ
必要なリソースに関連するタグを設定します。
Node Array
タグは、CycleCloud によって動的にプロビジョニングされる Virtual Machines に適用されます。
のスクリーンショット
確認と作成
オプションを確認します。 この手順では、いくつかの検証も処理されます。
レビュー の
渡されたら、[ の作成] ボタンをクリックしてデプロイを初期化します
デプロイの状態と手順に従います。
デプロイを確認する
デプロイ時に指定されたユーザー名と SSH キーを使用して Bastion を使用して ccw-cyclecloud-vm
に接続します。
接続したら、cloud-init ログを確認して、すべてが正しいことを確認します。
$tail -f -n 25 /var/log/cloud-init-output.log
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Starting cluster ccws....
----------------------------
ccws : allocation -> started
----------------------------
Resource group:
Cluster nodes:
scheduler: Off -- --
Total nodes: 1
CC start_cluster successful
/
exiting after install
Cloud-init v. 23.4-7.el8_10.alma.1 running 'modules:final' at Wed, 12 Jun 2024 10:15:53 +0000. Up 11.84 seconds.
Cloud-init v. 23.4-7.el8_10.alma.1 finished at Wed, 12 Jun 2024 10:28:15 +0000. Datasource DataSourceAzure [seed=/dev/sr0]. Up 754.29 seconds
次に、クライアント マシンと CycleCloud VM の間の接続を確立します。 これは、会社の IT、VPN、Bastion トンネリング、会社で許可されている場合は接続されたパブリック IP から取得できます。 https://<cycleccloud_ip>を参照して Web インターフェイスに接続し、デプロイ中に指定されたユーザー名とパスワードで認証します。 Scheduler ノードと Login ノードの両方が実行されていることを確認します。
ログイン ノードに接続する
Bastion を使用する場合は、util/ssh_thru_bastion.sh または