# 日本地域（DDN）でのHPS利用

#### 初期設定

**File Storage - High Performance (HPS)** のご利用を開始するには、FPT サポートチームまでお問い合わせください。\
必要な情報を提供後、アカウントがサービスで有効化され、クォータが割り当てられます。

**必要な情報**

<table data-header-hidden><thead><tr><th width="60.111083984375"></th><th width="158.77783203125"></th><th width="126"></th><th width="94.3333740234375"></th><th></th></tr></thead><tbody><tr><td><strong>#</strong> </td><td><strong>項目</strong> </td><td><strong>単位</strong> </td><td><strong>必須</strong> </td><td><strong>説明</strong> </td></tr><tr><td>1 </td><td>テナント / 地域 </td><td>— </td><td>はい </td><td>ファイル ストレージ – 高性能サービスを有効にするテナントと地域。 </td></tr><tr><td>2 </td><td>ストレージクォータ </td><td>GB </td><td>はい </td><td>使用する予定のストレージ容量。 </td></tr><tr><td>3 </td><td>サブネット </td><td>サブネット CIDR </td><td>はい </td><td>アクセスが必要なサブネットのリストをご提供ください。FPTサポートチームが設定を行います。 </td></tr><tr><td>4 </td><td>パフォーマンス </td><td>IOPS </td><td>いいえ </td><td>希望する IOPS パフォーマンス。（指定がない場合はデフォルトの制限が適用されます）。 </td></tr><tr><td>5 </td><td>帯域幅 </td><td>Gbps </td><td>いいえ </td><td>希望帯域幅。（指定がない場合、デフォルト制限が適用されます）。 </td></tr></tbody></table>

#### Metal Cloud（ベアメタルGPUサーバー）との併用

{% hint style="warning" %}
**注記**&#x20;

* 各サブネットには、ファイルストレージシステムに接続するための独自のエンドポイントがあります。&#x20;
* マウント操作を実行する前に、提供されたエンドポイントと設定の詳細を必ず確認し、設定エラーを回避してください。&#x20;
  {% endhint %}

**FPTイメージを使用する場合**

**FPT** が提供するイメージを使用している場合、**DDN クライアント**はプリインストールされています。以下の手順に従ってファイルストレージをマウントしてください。

{% stepper %}
{% step %}
**マウントポイントの作成**

```
# Create Mount Point
 
mkdir /mnt/hps
```

{% endstep %}

{% step %}
**ファイルシステムを手動でマウント**

```
# Create Mount Point
 
mount -t lustre 100.69.252.1@o2ib,100.69.252.2@o2ib:100.69.252.3@o2ib,100.69.252.4@o2ib:100.69.252.5@o2ib,100.69.252.6@o2ib:100.69.252.7@o2ib,100.69.252.8@o2ib:/scratch /mnt/hps
```

{% endstep %}

{% step %}
**自動マウント設定**&#x20;

再起動後に Lustre ファイルシステムを自動マウントするには、/etc/fstab に以下のエントリを追加します

```
## LustreFS ##
100.69.252.1@o2ib,100.69.252.2@o2ib:100.69.252.3@o2ib,100.69.252.4@o2ib:100.69.252.5@o2ib,100.69.252.6@o2ib:100.69.252.7@o2ib,100.69.252.8@o2ib:/scratch /mnt/hps lustre flock,defaults 0 0
```

**説明**

1. `100.69.252.1@o2ib,100.69.252.2@o2ib:...:100.69.252.8@`[`o2ib:/scratch`](http://o2ib/scratch)
   * **100.69.252.1–100.69.252.8**: Lustre サーバーの固定エンドポイントアドレス
   * **/scratch**: Lustre サーバー上のファイルシステムパス
2. /mnt/hps: クライアント上のマウントポイント（ステップ 1 で作成）

{% hint style="warning" %}
**注:** マウント設定に問題がないことを確認するには、次のコマンドを実行してください。
{% endhint %}

```
mount -a
```

{% endstep %}

{% step %}
**確認**

```
# Confirm Client can mount lustre
df -h -t lustre
 
 
Filesystem                                                                       Size  Used Avail Use% Mounted on
100.69.252.1@o2ib,100.69.252.2@o2ib:100.69.252.3@o2ib,100.69.252.4@o2ib:100.69.252.5@o2ib,100.69.252.6@o2ib:100.69.252.7@o2ib,100.69.252.8@o2ib:/scratch   11T  8.0K   11T   1% /mnt/hps
```

{% endstep %}
{% endstepper %}

#### カスタムイメージの使用（Ubuntu）

**Ubuntu を実行するカスタムイメージ**を使用している場合、以下の手順に従って**必要なパッケージを手動でビルド**する必要があります。

{% stepper %}
{% step %}
**Lustreクライアントのビルド**

この手順は、現在のカーネルバージョンと互換性のある事前ビルド済みパッケージが利用できない場合に、ソースコードから Lustre クライアントパッケージをビルドするためのものです。

* システムに現在のカーネルと互換性のある **Lustre クライアントパッケージが既に存在する場合、この手順をスキップして、手順 B2（.deb パッケージのインストール）**&#x306B;直接進むことができます。
* 同じカーネルバージョン用に**以前にパッケージをビルドした**ことがある場合は、**それを再利用**してこの手順をスキップできます。

<pre><code><strong># Build Packages (skip if already built for same kernel)
</strong> 
wget https://s3-sgn10.fptcloud.com/file-storage-resource/exa-client-6.3.2.tar.gz
tar xzvf exa-client-6.3.2.tar.gz
cd exa-client
./exa_client_deploy.py
 
<strong># Select option 2
</strong><strong># Wait for configure and build
</strong><strong># After installation is finished, select option 6
</strong><strong># (compiled packages are saved in /opt/ddn/exascaler/debs)
</strong></code></pre>

Ubuntuオペレーティングシステムが**カーネルバージョン**5.15.0-130-genericを実行している場合、**ビルドプロセスをスキップし**、以下で提供される**事前ビルド済みパッケージ**を直接使用できます。

```
# Install Lustre Pkg (for kernel 5.15.0-130-generic)
 
wget https://s3-sgn10.fptcloud.com/package-pub/lustre-dev_2.14.0-ddn184-1_amd64.deb
wget https://s3-sgn10.fptcloud.com/package-pub/lustre-client-modules-5.15.0-130-generic_2.14.0-ddn184-1_amd64.deb
wget https://s3-sgn10.fptcloud.com/package-pub/lustre-client-utils_2.14.0-ddn184-1_amd64.deb
```

{% endstep %}

{% step %}
**Lustreクライアントのインストール**

ステップ1でビルドした、または上記でダウンロードした.debパッケージを使用してLustreクライアントをインストールします。

* 対応する.debパッケージが利用可能な場合のみ、この手順を実行してください。利用できない場合は、必要なパッケージをビルドするためステップ1に戻ってください。
* カーネルバージョンがパッケージと一致しない場合、エラーが発生する可能性があり、再構築が必要になります

```
# Install Lustre Pkg (for kernel 5.15.0-130-generic)
 
sudo dpkg -i lustre-dev_2.14.0-ddn184-1_amd64.deb \
             lustre-client-modules-5.15.0-130-generic_2.14.0-ddn184-1_amd64.deb \
             lustre-client-utils_2.14.0-ddn184-1_amd64.deb
```

{% endstep %}

{% step %}
**Lustre クライアントの設定**&#x20;

Lustreクライアントのパフォーマンスを最適化するため、以下の設定を適用します。&#x20;

* `/etc/modprobe.d/lustre.conf`を編集

```
# Edit or create file /etc/modprobe.d/lustre.conf like below
[/etc/modprobe.d/lustre.conf]
options lnet networks=o2ib(bond0)    <==HERE!
options ko2iblnd peer_credits=32 peer_credits_hiw=16 concurrent_sends=64
```

* `/etc/lustre_client`を編集

```
# Edit or create file /etc/lustre_client like below
[/etc/lustre_client]
 
#++++++++++++++++++++++++++++++++++++
# LNET Interface
IF1=bond0        <==HERE!
IF2=none
IF3=none
IF4=none
IF5=none
IF6=none
IF7=none
IF8=none
```

{% endstep %}

{% step %}
**OSにマウントポイントを作成**

```
# Create Mount Point
 
mkdir /mnt/hps
```

{% endstep %}

{% step %}
**ファイルシステムを手動でマウント**

```
# Create Mount Point
 
mount -t lustre 100.69.252.1@o2ib,100.69.252.2@o2ib:100.69.252.3@o2ib,100.69.252.4@o2ib:100.69.252.5@o2ib,100.69.252.6@o2ib:100.69.252.7@o2ib,100.69.252.8@o2ib:/scratch /mnt/hps
```

{% endstep %}

{% step %}
**自動マウント設定**&#x20;

再起動後にLustreファイルシステムを自動的にマウントするには、/etc/fstabに以下のエントリを追加してください

```
# Write followings entries to /etc/fstab
##LustreFS##
 
100.69.252.1@o2ib,100.69.252.2@o2ib:100.69.252.3@o2ib,100.69.252.4@o2ib:100.69.252.5@o2ib,100.69.252.6@o2ib:100.69.252.7@o2ib,100.69.252.8@o2ib:/scratch /mnt/hps lustre flock,defaults 0 0
```

**説明**

1. `100.69.252.1@o2ib,100.69.252.2@o2ib:...:100.69.252.8@`[`o2ib:/scratch`](http://o2ib/scratch)
   * **100.69.252.1–100.69.252.8**: Lustre サーバーの固定エンドポイントアドレス
   * **/scratch**: Lustre サーバー上のファイルシステムパス
2. /mnt/hps: クライアント上のマウントポイント（ステップ 4 で作成）

{% hint style="warning" %}
**注**: マウント設定にエラーがないことを確認するには、次のコマンドを実行してください。
{% endhint %}

```
mount -a
```

{% endstep %}

{% step %}
確認

```
# Confirm Client can mount lustre
df -h -t lustre
 
 
Filesystem                                                                       Size  Used Avail Use% Mounted on
100.69.252.1@o2ib,100.69.252.2@o2ib:100.69.252.3@o2ib,100.69.252.4@o2ib:100.69.252.5@o2ib,100.69.252.6@o2ib:100.69.252.7@o2ib,100.69.252.8@o2ib:/scratch   11T  8.0K   11T   1% /mnt/hps
```

{% endstep %}
{% endstepper %}

#### GPU仮想マシンでの使用

{% stepper %}
{% step %}
**Lustreクライアントのビルドとインストール**

この手順は、ソースコードから **Lustre クライアント**パッケージをビルドおよびインストールするためのものです。

```
# Build Packages (skip if already built for same kernel)
 
wget https://s3-sgn10.fptcloud.com/file-storage-resource/exa-client-6.3.2.tar.gz
tar xzvf exa-client-6.3.2.tar.gz
cd exa-client
./exa_client_deploy.py
 
# Select option 2
# Wait for configure and build
# After installation is finished, select option 6
# (compiled packages are saved in /opt/ddn/exascaler/debs)
```

{% endstep %}

{% step %}
**Lustreクライアントの設定**&#x20;

Lustreクライアントのパフォーマンスを最適化するため、以下の設定を適用してください。&#x20;

`/etc/modprobe.d/lustre.conf` を編集

```
# Edit or create file /etc/modprobe.d/lustre.conf like below
[/etc/modprobe.d/lustre.conf]
options lnet networks=tcp(eth1)    <==HERE!
options ko2iblnd peer_credits=32 peer_credits_hiw=16 concurrent_sends=64
```

`/etc/lustre_client`を編集

```
# Edit or create file /etc/lustre_client like below
[/etc/lustre_client]
 
#++++++++++++++++++++++++++++++++++++
# LNET Interface
IF1=eth1        <==HERE!
IF2=none
IF3=none
IF4=none
IF5=none
IF6=none
IF7=none
IF8=none
```

{% endstep %}

{% step %}
**OSにマウントポイントを作成**

```
# Create Mount Point
 
mkdir /mnt/hps
```

{% endstep %}

{% step %}
**ファイルシステムを手動でマウント**

```
# Create Mount Point
 
mount -t lustre 100.69.252.1@tcp,100.69.252.2@tcp:100.69.252.3@tcp,100.69.252.4@tcp:100.69.252.5@tcp,100.69.252.6@tcp:100.69.252.7@tcp,100.69.252.8@tcp:/scratch /mnt/hps
```

{% endstep %}

{% step %}
**自動マウント設定**

再起動後に Lustre ファイルシステムを自動マウントするには、/etc/fstab に以下のエントリを追加します

```
# Write followings entries to /etc/fstab
##LustreFS##
 
100.69.252.1@tcp,100.69.252.2@tcp:100.69.252.3@tcp,100.69.252.4@tcp:100.69.252.5@tcp,100.69.252.6@tcp:100.69.252.7@tcp,100.69.252.8@tcp:/scratch /mnt/hps lustre flock,defaults 0 0
```

説明

100.69.252.1\@o2ib,100.69.252.2\@o2ib:...:100.69.252.8@[o2ib:/scratch](http://o2ib/scratch)

* **100.69.252.1–100.69.252.8**: Lustre サーバーの固定エンドポイントアドレス
* **/scratch**: Lustre サーバー上のファイルシステムパス

`/mnt/hps:` クライアント上のマウントポイント（ステップ 4 で作成）

{% hint style="warning" %}
**注:** マウント設定にエラーがないか確認するコマンドを実行してください。
{% endhint %}

```
mount -a
```

{% endstep %}

{% step %}
**確認**

```
# Confirm Client can mount lustre
df -h -t lustre
 
 
Filesystem                                                                       Size  Used Avail Use% Mounted on
100.69.252.1@tcp,100.69.252.2@tcp:100.69.252.3@tcp,100.69.252.4@tcp:100.69.252.5@tcp,100.69.252.6@tcp:100.69.252.7@tcp,100.69.252.8@tcp:/scratch   11T  8.0K   11T   1% /mnt/hps
```

{% endstep %}
{% endstepper %}
