

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# EFA クライアントの設定
<a name="configure-efa-clients"></a>

以下の手順を使用して、Elastic Fabric Adapter (EFA) 経由で FSx for Lustre ファイルシステムにアクセスするように Lustre クライアントを設定します。

EFA は、以下のオペレーティングシステムを実行する Lustre クライアントでサポートされています:
+ Amazon Linux 2023 (AL2023)
+ Red Hat Enterprise Linux (RHEL) 9.5 以降
+ カーネル 6.8 の Ubuntu 22.04 以降

EFA は、以下に示す Lustre クライアントでサポートされています。詳細については、「[Lustre クライアントのインストール](install-lustre-client.md)」を参照してください。

EFA は、trn2 インスタンスファミリーを除き、EFA をサポートする Nitro v4 (またはそれ以上) の EC2 インスタンスでサポートされています。「*Amazon EC2 ユーザーガイド*」の「[サポートされているインスタンスタイプ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html#efa-instance-types)」を参照してください。

**Topics**
+ [ステップ 1: 必要なドライバーをインストールする](#install-required-drivers)
+ [ステップ 2: Lustre クライアントの EFA を設定する](#install-efa-on-client)
+ [ステップ 3: EFA インターフェイス](#add-efa-interfaces)

## ステップ 1: 必要なドライバーをインストールする
<a name="install-required-drivers"></a>

**注記**  
[Deep Learning AMI](https://docs.aws.amazon.com/dlami/latest/devguide/what-is-dlami.html) を使用している場合は、Lustre クライアント、EFA ドライバー、NVIDIA GPUDirect Storage (GDS) ドライバーがプリインストールされているため、このステップをスキップできます。

### Lustre クライアントと EFA ドライバーをインストールする
<a name="install-lustre-client-efa-driver"></a>

**Lustre クライアントと EFA ドライバーをすばやくインストールするには**

1. インストールスクリプトを含む ファイルをダウンロードして解凍します。

   ```
   curl -O https://docs.aws.amazon.com/fsx/latest/LustreGuide/samples/install-fsx-lustre-client.zip
   unzip install-fsx-lustre-client.zip
   ```

1. `install-fsx-lustre-client` フォルダに変更し、インストールスクリプトを実行します。

   ```
   cd install-fsx-lustre-client
   sudo ./bin/install-fsx-lustre-client.sh --install-lustre --install-efa
   ```

   スクリプトは以下を自動的に実行します:
   + Lustre クライアントをインストールします
   + EFA ドライバーをインストールします
   + Lustre クライアントと EFA ドライバーのインストールを検証します

   `install-fsx-lustre-client.sh` スクリプトで使用できるオプションと使用例のリストについては、zip ファイルの `README.md` ファイルを参照してください。

### GDS ドライバーをインストールする (オプション)
<a name="install-gds-driver"></a>

このステップは、FSx for Lustre で NVIDIA GPUDirect Storage (GDS) を使用する場合にのみ必要です。

要件:
+ Amazon EC2 P5, P5e, P5en、または P6-B200 インスタンス
+ NVIDIA GDS ドライバーバージョン 2.24.2 以上

**クライアントインスタンスに NVIDIA GPUDirect Storage ドライバーをインストールするには**

1. NVIDIA GDS リポジトリのクローンを作成します:

   ```
   git clone https://github.com/NVIDIA/gds-nvidia-fs.git
   ```

1. ドライバーをビルドしてインストールします:

   ```
   cd gds-nvidia-fs/src/
   export NVFS_MAX_PEER_DEVS=128
   export NVFS_MAX_PCI_DEPTH=16
   sudo -E make
   sudo insmod nvidia-fs.ko
   ```

## ステップ 2: Lustre クライアントの EFA を設定する
<a name="install-efa-on-client"></a>

EFA インターフェイスを使用して FSx for Lustre ファイルシステムにアクセスするには、Lustre EFA モジュールをインストールし、EFA インターフェイスを設定する必要があります。

### Quick Setup
<a name="quick-setup"></a>

**Lustre クライアントをすばやく設定するには**

1. Amazon EC2 インスタンスに接続します。

1. 設定スクリプトを含むファイルをダウンロードして解凍します:

   ```
   curl -O https://docs.aws.amazon.com/fsx/latest/LustreGuide/samples/configure-efa-fsx-lustre-client.zip
   unzip configure-efa-fsx-lustre-client.zip
   ```

1. `configure-efa-fsx-lustre-client` フォルダに変更し、セットアップスクリプトを実行します:

   ```
   cd configure-efa-fsx-lustre-client
   # for regular IO
   sudo ./setup.sh
   
   # for NVIDIA GPUDirect Storage (GDS) IO
   sudo ./setup.sh --optimized-for-gds
   ```

   スクリプトは以下を自動的に実行します:
   + Lustre モジュールをインポートする
   + TCP および EFA インターフェイスを設定する
   + 再起動時に自動設定用の systemd サービスを作成する

   `setup.sh` スクリプトで使用できるオプションと使用例のリストについては、zip ファイルの `README.md` ファイルを参照してください。

### systemd サービスの手動管理
<a name="manage-systemd-service"></a>

systemd サービスファイルは、/etc/systemd/system/configure-efa-fsx-lustre-client.service に作成されます。以下は、systemd 関連の便利なコマンドです:

```
# Check status
sudo systemctl status configure-efa-fsx-lustre-client.service

# View logs
sudo journalctl -u configure-efa-fsx-lustre-client.service
# View warnings/errors from dmesg
sudo dmesg
```

詳細については、zip ファイルの `README.md` ファイルを参照ください。

### 自動マウント設定 (オプション)
<a name="auto-mount-configuration"></a>

起動時の Amazon FSx for Lustre ファイルシステムの自動マウントの詳細については、「[Amazon FSx ファイルシステムの自動マウント](mount-fs-auto-mount-onreboot.md)」を参照してください。

## ステップ 3: EFA インターフェイス
<a name="add-efa-interfaces"></a>

各 FSx for Lustre ファイルシステムは、すべてのクライアントインスタンスを合わせた EFA 接続数の最大限界が 1024 です。

`configure-efa-fsx-lustre-client.sh` スクリプトは、インスタンスタイプに基づいて EFA インターフェイスを自動的に設定します。


| インスタンスタイプ | EFA インターフェイスのデフォルト数 | 
| --- | --- | 
| p6e-gb200.36xlarge | 8 | 
| p6-b200.48xlarge | 8 | 
| p5en.48xlarge | 8 | 
| p5e.48xlarge | 8 | 
| p5.48xlarge | 8 | 
| 複数のネットワークカードを持つ他のインスタンス | 2 | 
| 1 つのネットワークカードを持つ他のインスタンス | 1 | 

クライアントインスタンスで設定された各 EFA インターフェイスは、FSx for Lustre ファイルシステムに接続されている場合、1024 EFA 接続制限に対して 1 つの接続としてカウントされます。

### EFA インターフェイスの手動管理
<a name="manage-interfaces-manually"></a>

通常、より多くの EFA インターフェイスを持つインスタンスは、より高いスループットをサポートします。EFA 接続の合計制限内であれば、インターフェイスの数をカスタマイズして、特定のワークロードのパフォーマンスを最適化できます。

以下のコマンドを使用して、EFA インターフェイスを手動で管理できます。

1. 使用可能な EFA インターフェイスを表示します。

   ```
   for interface in /sys/class/infiniband/*; do
       if [ ! -e "$interface/device/driver" ]; then continue; fi
       driver=$(basename "$(realpath "$interface/device/driver")")
       if [ "$driver" != "efa" ]; then continue; fi
       echo $(basename $interface)
   done
   ```

1. 現在設定されているインターフェイスを表示します:

   ```
   sudo lnetctl net show
   ```

1. EFA インターフェイスを追加します:

   ```
   sudo lnetctl net add --net efa --if device_name --peer-credits 32
   ```

   *device\$1name* をステップ 1 のリストから実際のデバイス名に置き換えます。

1. EFA インターフェイスを削除します:

   ```
   sudo lnetctl net del --net efa --if device_name
   ```

   *device\$1name* をステップ 2 のリストから実際のデバイス名に置き換えます。