diff --git a/tutorials/_hpc/spinup-hpc-cluster-withterraform.md b/tutorials/_hpc/spinup-hpc-cluster-withterraform.md index ad502edfd9..a6a60aa131 100644 --- a/tutorials/_hpc/spinup-hpc-cluster-withterraform.md +++ b/tutorials/_hpc/spinup-hpc-cluster-withterraform.md @@ -28,16 +28,22 @@ table, th, td { - 計算ノード用 **[インスタンス構成](/ocitutorials/hpc/#5-7-インスタンス構成)** 作成 - **クラスタ・ネットワーク** と計算ノード構築 - HPCクラスタ内のノード間SSHアクセスに使用するSSH鍵ペア作成・配布 -- 計算ノードの全ホスト名を記載したホストリストファイル(/home/opc/hostlist.txt)作成 +- 計算ノードの全ホスト名を記載したホストリストファイル( **/home/opc/hostlist.txt** )作成 - 構築したBastionノード・計算ノードのホスト名・IPアドレス出力 Bastionノードは、接続するサブネットをパブリックとプライベートから選択することが可能(※1)で、以下のBastionノードへのログイン方法に合わせて選択します。 - インターネット経由ログイン -> パブリックサブネット接続 -- 拠点間接続経由ログイン > プライベートサブネット接続 +- 拠点間接続経由ログイン -> プライベートサブネット接続 ※1)構築方法に **Terraform** CLIを採用する場合は、パブリックサブネット接続のみ選択可能です。 +またVCNと関連するネットワークリソースは、既に構築してあるものを活用することも可能で、この場合はこれらが以下の条件を満たしているている必要があります。 + +- プライベートサブネットが存在する +- パブリックサブネットが存在する(Bastionノードパブリック接続の場合) +- パブリックサブネット・プライベートサブネット間で **セキュリティ・リスト** によりアクセスが制限されていない(Bastionノードパブリック接続の場合) + ![システム構成図(パブリック)](architecture_diagram.png)

@@ -56,7 +62,6 @@ Bastionノード構築は、 **[cloud-init](/ocitutorials/hpc/#5-11-cloud-init)* - NVMe SSDローカルディスク領域ファイルシステム作成 - **firewalld** 停止 - ルートファイルシステム拡張 -- **クラスタ・ネットワーク** 接続用ネットワークインターフェース作成 - BastionノードのDNS名前解決をショートホスト名で行うための **resolv.conf** 修正 - Bastionノードホームディレクトリ領域のNFSマウント @@ -121,6 +126,8 @@ Bastionノード構築は、 **[cloud-init](/ocitutorials/hpc/#5-11-cloud-init)* (公開鍵ファイルのアップロード( **SSHキー・ファイルの選択** )と公開鍵のフィールドへの貼り付け( **SSHキーの貼付け** )が選択可能) - **Private bastion :** Bastionノードをプライベートサブネットに接続するかどうかを指定(デフォルト:パブリックサブネット接続) (パブリックサブネットに接続する場合はチェックオフ/プライベートサブネットに接続する場合はチェック) + - **Use existing VCN :** 既存のVCNを使用するかどうかを指定(デフォルト:VCNを新規作成) + (既存のVCNを使用する場合は、チェックすると表示されるVCN・パブリックサブネット・プライベートサブネットの各フィールドにOCIDを指定します。) ![画面ショット](stack_page02.png) 4.2 **Compute/GPU node options** フィールド @@ -136,7 +143,7 @@ Bastionノード構築は、 **[cloud-init](/ocitutorials/hpc/#5-11-cloud-init)* ![画面ショット](stack_page03.png) ※2) 例えば **x9-ol89** と指定した場合、計算ノードのホスト名は **inst-xxxxx-x9-ol89** となります。( **xxxxx** はランダムな文字列) - ※3)以下のOCIDを指定します。 + ※3)以下のOCIDを指定します。なおこのイメージは、Bastionノードにも使用されます。 | No.
(※6) | **Oracle Linux**
バージョン | OCID | | :---------: | :-----------------------: | :---------------------------------------------------------------------------: | @@ -265,6 +272,10 @@ Bastionノード構築は、 **[cloud-init](/ocitutorials/hpc/#5-11-cloud-init)* | compartment_ocid | HPCクラスタをデプロイする **コンパートメント** のOCID | **[ここ](https://docs.oracle.com/ja-jp/iaas/Content/GSG/Tasks/contactingsupport_topic-Finding_the_OCID_of_a_Compartment.htm)** を参照 | | ad | HPCクラスタをデプロイする **可用性ドメイン** 識別子 | (※7) | | ssh_key | Bastionノードログインに使用するSSH秘密鍵に対する公開鍵 | - | + |exist_vcn|既存のVCNを使用するかどうかの指定(true/false)|-| + |vcn_ocid|既存のVCNを使用する場合使用するVCNのOCID(※11)|(※12)| + |public_ocid|既存のVCNを使用する場合使用するパブリックサブネットのOCID(※11)|(※12)| + |private_ocid|既存のVCNを使用する場合使用するプライベートサブネットのOCID(※11)|(※12)| | comp_shape | 計算ノードに使用するシェイプ
・ **BM.Optimized3.36** | - | | comp_image | 計算ノードに使用するOSイメージのOCID | (※8) | | comp_boot_vol_size | 計算ノードの **ブートボリューム** のサイズ(GB) | - | @@ -280,7 +291,9 @@ Bastionノード構築は、 **[cloud-init](/ocitutorials/hpc/#5-11-cloud-init)* ※8)コメントとして埋め込まれているOSイメージOCIDから、コメント文の記載を参考に適切なOSイメージOCIDのコメントを外して使用します。詳細は、 **[OCI HPCテクニカルTips集](/ocitutorials/hpc/#3-oci-hpcテクニカルtips集)** の **[クラスタネットワーキングイメージの選び方](/ocitutorials/hpc/tech-knowhow/osimage-for-cluster/)** の **[1. クラスタネットワーキングイメージ一覧](/ocitutorials/hpc/tech-knowhow/osimage-for-cluster/#1-クラスタネットワーキングイメージ一覧)** を参照してください。 ※9)詳細は、 **[OCI HPCパフォーマンス関連情報](/ocitutorials/hpc/#2-oci-hpcパフォーマンス関連情報)** の **[パフォーマンスに関連するベア・メタル・インスタンスのBIOS設定方法](/ocitutorials/hpc/benchmark/bios-setting/)** を参照してください。 - ※10)例えば **x9-ol89** と指定した場合、計算ノードのホスト名は **inst-xxxxx-x9-ol89** となります。( **xxxxx** はランダムな文字列) + ※10)例えば **x9-ol89** と指定した場合、計算ノードのホスト名は **inst-xxxxx-x9-ol89** となります。( **xxxxx** はランダムな文字列) + ※11)既存のVCNを使用する場合のみコメントを外して指定します。 + ※12)OCIコンソール上で当該VCN・サブネットの詳細画面を表示して確認します。 *** # 1. HPCクラスタ構築 diff --git a/tutorials/_hpc/spinup-hpc-cluster-withterraform/architecture_diagram_private.png b/tutorials/_hpc/spinup-hpc-cluster-withterraform/architecture_diagram_private.png index 33e448fb03..263e616819 100644 Binary files a/tutorials/_hpc/spinup-hpc-cluster-withterraform/architecture_diagram_private.png and b/tutorials/_hpc/spinup-hpc-cluster-withterraform/architecture_diagram_private.png differ diff --git a/tutorials/_hpc/spinup-hpc-cluster-withterraform/stack_page02.png b/tutorials/_hpc/spinup-hpc-cluster-withterraform/stack_page02.png index c4af3c7fd8..91174cd199 100644 Binary files a/tutorials/_hpc/spinup-hpc-cluster-withterraform/stack_page02.png and b/tutorials/_hpc/spinup-hpc-cluster-withterraform/stack_page02.png differ diff --git a/tutorials/_hpc/tech-knowhow/install-openfoam.md b/tutorials/_hpc/tech-knowhow/install-openfoam.md index 5534c13f1a..fa473825cc 100644 --- a/tutorials/_hpc/tech-knowhow/install-openfoam.md +++ b/tutorials/_hpc/tech-knowhow/install-openfoam.md @@ -52,22 +52,31 @@ MPI言語規格に準拠するMPI実装 3. ノード間並列実行(大規模構成で可能) 4. ノード間並列実行でローカルディスクを活用(※1)(大規模構成で可能) -※1) **BM.Optimized3.36** が内蔵するNVMe SSDのローカルディスクに計算結果を書き込む方法で、特に並列数を大きくした場合、 **3.** のNFSによるファイル共有ストレージを使用する方法と比較して、スケーラビリティを改善出来る場合があります。 +※1) **BM.Optimized3.36** が内蔵するNVMe SSDのローカルディスクに計算結果を書き込む方法で、特に並列数を大きくした場合、 **3.** のNFSによるファイル共有ストレージを使用する方法と比較して、解析処理のスケーラビリティを改善出来る場合があります。 構築する環境は、以下を前提とします。 -- 計算ノードシェイプ : **BM.Optimized3.36** -- Bastionノードシェイプ : **VM.Optimized3.Flex** -- 計算ノードOS : **Oracle Linux** 8.9(※2)/ **Oracle Linux** 8.9ベースのHPC **[クラスタネットワーキングイメージ](/ocitutorials/hpc/#5-13-クラスタネットワーキングイメージ)** (※3) -- BastionノードOS : **Oracle Linux** 8.9 +[計算ノード] +- シェイプ : **BM.Optimized3.36** +- OS : **Oracle Linux** 8.9(※2)/ **Oracle Linux** 8.9ベースのHPC **[クラスタネットワーキングイメージ](/ocitutorials/hpc/#5-13-クラスタネットワーキングイメージ)** (※3) +- ファイル共有ストレージ : **ブロック・ボリューム** NFSサーバ / **ファイル・ストレージ** (※4)でBastionノードと全計算ノードの **/home** をNFSでファイル共有 +- ローカルディスクマウントポイント : **/mnt/localdisk** (※5) + +[Bastionノード] +- シェイプ : **VM.Optimized3.Flex** +- OS : **Oracle Linux** 8.9 +- ファイル共有ストレージ : **ブロック・ボリューム** NFSサーバ / **ファイル・ストレージ** (※4)でBastionノードと全計算ノードの **/home** をNFSでファイル共有 + +[ソフトウェア] - **OpenFOAM** : v2312 -- **OpenMPI** :5.0.3 +- **OpenMPI** : 5.0.3 - **ParaView** : 5.11.2 -- ファイル共有ストレージ : **ブロック・ボリューム** NFSサーバ / **ファイル・ストレージ** (※4)でBastionノード・全計算ノードの **/home** をNFSでファイル共有 ※2)小規模構成の場合 ※3)大規模構成の場合で、 **[OCI HPCテクニカルTips集](/ocitutorials/hpc/#3-oci-hpcテクニカルtips集)** の **[クラスタネットワーキングイメージの選び方](/ocitutorials/hpc/tech-knowhow/osimage-for-cluster/)** の **[1. クラスタネットワーキングイメージ一覧](/ocitutorials/hpc/tech-knowhow/osimage-for-cluster/#1-クラスタネットワーキングイメージ一覧)** のイメージ **No.1** です。 -※4)詳細は、 **[OCI HPCテクニカルTips集](/ocitutorials/hpc/#3-oci-hpcテクニカルtips集)** の **[コストパフォーマンスの良いファイル共有ストレージ構築方法](/ocitutorials/hpc/tech-knowhow/howto-configure-sharedstorage/)** を参照してください。 +※4)詳細は、 **[OCI HPCテクニカルTips集](/ocitutorials/hpc/#3-oci-hpcテクニカルtips集)** の **[コストパフォーマンスの良いファイル共有ストレージ構築方法](/ocitutorials/hpc/tech-knowhow/howto-configure-sharedstorage/)** を参照してください。 +※5)詳細は、 **[OCI HPCテクニカルTips集](/ocitutorials/hpc/#3-oci-hpcテクニカルtips集)** の **[ベアメタルインスタンスの内蔵NVMe SSD領域ファイルシステム作成方法](/ocitutorials/hpc/tech-knowhow/nvme-filesystem/)** を参照してください。 + なお、ポスト処理に使用するX11ベースの **ParaView** は、これが動作するBastionノードでGNOMEデスクトップとVNCサーバを起動し、VNCクライアントをインストールした自身の端末からVNC接続して操作します。 @@ -94,9 +103,9 @@ MPI言語規格に準拠するMPI実装 - 計算ノード **ブート・ボリューム** サイズ : 100GB以上(インストールするソフトウェアの容量確保のため) - Bastionノード **ブート・ボリューム** サイズ : 100GB以上(インストールするソフトウェアの容量確保のため) -- 計算ノードSMT : 無効(※5) +- 計算ノードSMT : 無効(※6) -※5)SMTを無効化する方法は、 **[OCI HPCパフォーマンス関連情報](/ocitutorials/hpc/#2-oci-hpcパフォーマンス関連情報)** の **[パフォーマンスに関連するベアメタルインスタンスのBIOS設定方法](/ocitutorials/hpc/benchmark/bios-setting/)** を参照してください。 +※6)SMTを無効化する方法は、 **[OCI HPCパフォーマンス関連情報](/ocitutorials/hpc/#2-oci-hpcパフォーマンス関連情報)** の **[パフォーマンスに関連するベアメタルインスタンスのBIOS設定方法](/ocitutorials/hpc/benchmark/bios-setting/)** を参照してください。 また、Bastionノードと全計算ノードの **/home** は、NFSで共有します。 @@ -405,7 +414,7 @@ MPI言語規格に準拠するMPI実装 4. 以下コマンドを実行し、 **OpenFOAM** に同梱されているチュートリアルのうち **pitzDaily** のディレクトリを作業ディレクトリにコピーします。 この手順は、ローカルディスクを活用する方法かそれ以外(ファイル共有ストレージを活用する方法)で異なる手順を実施します。 -なお、ローカルディスクを活用する方法の場合は、ローカルディスクが **/mnt/localdisk** にマウントされており、この直下にCFD解析フロー実行ユーザをオーナーとするディレクトリ **openfoam** が全ての計算ノードで作成されているものとします。 +ローカルディスクを活用する方法の場合は、CFD解析フロー実行ユーザをオーナーとするディレクトリ **/mnt/localdisk/openfoam** が全ての計算ノードで予め作成されているものとします。 [ファイル共有ストレージを活用する方法] @@ -578,7 +587,7 @@ MPI言語規格に準拠するMPI実装 $ ``` -3. 以下コマンドを実行し、ここまで作成したケースディレクトリ **pitzDaily** を他の計算ノードに配布します。 +3. 以下コマンドを実行し、ここまで作成したケースディレクトリ **pitzDaily** を他の計算ノードのローカルディスクに配布します。 ```sh $ for hname in `grep -v \`hostname\` ~/hostlist.txt`; do echo $hname; rsync -a ./ $hname:/mnt/localdisk/openfoam/pitzDaily/; done @@ -602,7 +611,7 @@ MPI言語規格に準拠するMPI実装 $ reconstructPar ``` -7. 以下コマンドを実行し、後のポスト処理に備えてケースディレクトリ **pitzDaily** をファイル共有ストレージにコピーします。 +7. 以下コマンドを実行し、後のポスト処理に備えてローカルディスクに存在するケースディレクトリ **pitzDaily** をファイル共有ストレージにコピーします。 ```sh $ cd .. && cp -pR ./pitzDaily $FOAM_RUN/ diff --git a/tutorials/_hpc/tech-knowhow/nvme-filesystem.md b/tutorials/_hpc/tech-knowhow/nvme-filesystem.md index 0dc70ce351..f2c3f43e25 100644 --- a/tutorials/_hpc/tech-knowhow/nvme-filesystem.md +++ b/tutorials/_hpc/tech-knowhow/nvme-filesystem.md @@ -8,50 +8,50 @@ header: #link: https://community.oracle.com/tech/welcome/discussion/4474261/ --- -高速スクラッチ領域として利用することを想定したNVMe SSDを内蔵するHPCクラスタ向けベアメタルシェイプ **[BM.Optimized3.36](https://docs.oracle.com/ja-jp/iaas/Content/Compute/References/computeshapes.htm#bm-hpc-optimized)** やGPUクラスタ向けベアメタルシェイプ **[BM.GPU4.8/BM.GPU.GM4.8](https://docs.oracle.com/ja-jp/iaas/Content/Compute/References/computeshapes.htm#bm-gpu)** は、NVMe SSDをOSのファイルシステムとして利用するための設定をユーザ自身が行う必要があります。 -本テクニカルTipsは、このファイルシステム作成方法を解説します。 - *** # 0. 概要 -内蔵NVMe SSDドライブにファイルシステムを作成する方法は、搭載するドライブ数が異なるBM.Optimized3.36とBM.GPU4.8/BM.GPU.GM4.8でその手順が異なり、それぞれの手順を以降で解説します。 +内蔵NVMe SSDドライブにファイルシステムを作成する方法は、搭載するドライブ数が異なる **[BM.Optimized3.36](https://docs.oracle.com/ja-jp/iaas/Content/Compute/References/computeshapes.htm#bm-hpc-optimized)** と **[BM.GPU4.8/BM.GPU.GM4.8](https://docs.oracle.com/ja-jp/iaas/Content/Compute/References/computeshapes.htm#bm-gpu)** でその手順が異なり、それぞれの手順を以降で解説します。 + +本テクニカルTipsが前提とするOSは、 **Oracle Linux** です。 なお 、ここで解説するファイルシステム作成手順は、 **[OCI HPCチュートリアル集](/ocitutorials/hpc/#1-oci-hpcチュートリアル集)** で紹介する構築手順に含まれるため、これらチュートリアルの手順に従ってHPCクラスタやGPUクラスタを構築する場合は、改めて実施する必要はありません。 *** # 1. BM.Optimized3.36用ファイルシステム作成手順 -BM.Optimized3.36は、3.84 TBのNVMe SSDディスクを1ドライブ内蔵するため、以下の手順を該当するノードのrootで実行し、ファイルシステムを作成します。 +**BM.Optimized3.36** は、3.84 TBのNVMe SSDディスクを1ドライブ内蔵するため、以下の手順を該当するノードのopcユーザで実行し、ファイルシステムを作成します。 ```sh -> parted -s /dev/nvme0n1 mklabel gpt -> parted -s /dev/nvme0n1 -- mkpart primary xfs 1 -1 -> mkfs.xfs -L localscratch /dev/nvme0n1p1 -> mkdir -p /mnt/localdisk -> echo "LABEL=localscratch /mnt/localdisk/ xfs defaults,noatime 0 0" >> /etc/fstab -> mount /mnt/localdisk -> df -h /mnt/localdisk +$ sudo parted -s /dev/nvme0n1 mklabel gpt +$ sudo parted -s /dev/nvme0n1 -- mkpart primary xfs 1 -1 +$ sudo mkfs.xfs -L localscratch /dev/nvme0n1p1 +$ sudo mkdir -p /mnt/localdisk +$ echo "LABEL=localscratch /mnt/localdisk/ xfs defaults,noatime 0 0" | sudo tee -a /etc/fstab +$ sudo mount /mnt/localdisk +$ df -h /mnt/localdisk Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p1 3.5T 33M 3.5T 1% /mnt/localdisk +$ ``` -この手順は、NVMe SSDディスク全領域を1パーティションで区画し、ラベル名"localscratch"でXFSファイルシステムにフォーマットし、OS再起動時に自動的にマウントされる設定で/mnt/localdiskにマウントします。 +この手順は、NVMe SSDディスク全領域を1パーティションで区画し、ラベル名 **localscratch** でXFSファイルシステムにフォーマットし、OS再起動時に自動的にマウントされる設定で **/mnt/localdisk** にマウントします。 *** # 2. BM.GPU4.8/BM.GPU.GM4.8用ファイルシステム作成手順 -BM.GPU4.8/BM.GPU.GM4.8は、6.4 TBのNVMe SSDディスクを4ドライブ内蔵するため、以下の手順を該当するノードのrootで実行し、ファイルシステムを作成します。 +**BM.GPU4.8/BM.GPU.GM4.8** は、6.4 TBのNVMe SSDディスクを4ドライブ内蔵するため、以下の手順を該当するノードのopcユーザで実行し、ファイルシステムを作成します。 ```sh -> vgcreate nvme /dev/nvme0n1 /dev/nvme1n1 /dev/nvme2n1 /dev/nvme3n1 -> lvcreate -l 100%FREE nvme -> mkfs.xfs -L localscratch /dev/nvme/lvol0 -> mkdir -p /mnt/localdisk -> echo "LABEL=localscratch /mnt/localdisk/ xfs defaults,noatime 0 0" >> /etc/fstab -> mount /mnt/localdisk -> df -h /mnt/localdisk +$ sudo vgcreate nvme /dev/nvme0n1 /dev/nvme1n1 /dev/nvme2n1 /dev/nvme3n1 +$ sudo lvcreate -l 100%FREE nvme +$ sudo mkfs.xfs -L localscratch /dev/nvme/lvol0 +$ sudo mkdir -p /mnt/localdisk +$ echo "LABEL=localscratch /mnt/localdisk/ xfs defaults,noatime 0 0" | sudo tee -a /etc/fstab +$ sudo mount /mnt/localdisk +$ df -h /mnt/localdisk Filesystem Size Used Avail Use% Mounted on /dev/mapper/nvme-lvol0 25T 34M 25T 1% /mnt/localdisk ``` -この手順は、4ドライブのNVMe SSDディスクをまとめて1個の論理ボリュームを作成し、ラベル名"localscratch"でXFSファイルシステムにフォーマットし、OS再起動時に自動的にマウントされる設定で/mnt/localdiskにマウントします。 \ No newline at end of file +この手順は、4ドライブのNVMe SSDディスクをまとめて1個の論理ボリュームとして作成し、ラベル名 **localscratch** でXFSファイルシステムにフォーマットし、OS再起動時に自動的にマウントされる設定で **/mnt/localdisk** にマウントします。 \ No newline at end of file