> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sambanova.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# RDU モジュールの管理

SN40L-2 RDU モジュールには、ベースボード管理コントローラー (Baseboard Management Controller; BMC) と RDU コントローラー (RDU-C) が搭載されており、これらには定期的な管理が必要です。本ドキュメントでは、これらのコンポーネントのパスワード管理、API 認証、ファームウェア更新、ネットワーク設定について説明します。

<Note>
  SN40L-2 の BMC には、root パスワードの復旧に使用する `snservice` という組み込みのセキュアアカウントが用意されています。詳細は KB 記事 #1417 をご参照ください。
</Note>

***

## パスワード管理

初期デプロイ後、直ちに SN40L-2 BMC のデフォルトの root パスワードを変更してください。

<Note>
  SambaRack および Core Services Rack は、すべてのデバイスにデフォルトの認証情報が設定された状態で出荷されます。デフォルトの認証情報については、KB 記事 #1411 をご参照ください。
</Note>

**手順:**

1. SN40L-2 BMC にログインします:

```bash theme={}
ssh root@<SN40L-2_BMC_IP>
```

2. `passwd` コマンドを実行します:

```bash theme={}
passwd
```

3. 新しいパスワードを入力して確認します:

```text theme={}
New password: <new_password>
Retype new password: <new_password>
passwd: password updated successfully
```

***

<Note>
  新しい BMC パスワードを選ぶ際は、以下の制限に注意してください。パスワードには、一般的な辞書に載っている単語に基づくものは使用できず、`#` 文字を含めることはできません。パスワードがこれらの要件を満たさない場合、システムは変更を拒否し、別のパスワードを選ぶよう促します。
</Note>

## 安全な API ログイントークンの生成

トークンベースの認証を使用すると、REST API 呼び出しの際に平文のパスワードを送信する必要がなくなります。電源管理をはじめとする BMC 操作で API を使用する前に、トークンを生成してください。

**前提条件:**

* SN40L-2 BMC にネットワークアクセスできるクライアントシステム
* `curl` がインストール済みであること

**手順:**

1. トークンを生成します:

```bash theme={}
export token=$(curl -k -H "Content-Type: application/json" -X POST \
  https://<SN40L-2_BMC_IP>/login \
  -d '{"username":"root","password":"<password>"}' \
  | grep token | awk '{print $2;}' | tr -d '"')
```

2. トークンが作成されたことを確認します:

```bash theme={}
echo $token
```

出力例:

```text theme={}
1h0Dk9xjtjsOtBkMhgIN
```

3. トークンを検証します:

```bash theme={}
curl -k -H "X-Auth-Token: $token" \
  https://<SN40L-2_BMC_IP>/xyz/openbmc_project/
```

想定される出力:

```json theme={}
{
  "data": [
    "/xyz/openbmc_project/Ipmi",
    "/xyz/openbmc_project/certs",
    "/xyz/openbmc_project/user"
  ],
  "message": "200 OK",
  "status": "ok"
}
```

正常なレスポンスが返れば、SN40L-2 RDU モジュールの電源オン・オフなど、他の API 呼び出しでこのトークンを使用する準備が整っています。

***

## BMC および RDU-C ファームウェアの更新

BMC および RDU-C のファームウェア更新は、ノード内の各 SN40L-2 モジュールで順番どおりに実施する必要があります。システムの回復力を確保するため、プライマリパーティションとリカバリパーティションの両方を更新します。

| ステップ | コンポーネント | パーティション |
| - | - | - |
| 1 | – | 準備 |
| 2 | BMC | プライマリ |
| 3 | BMC | リカバリ |
| 4 | RDU-C | プライマリ |
| 5 | RDU-C | リカバリ |

**前提条件:**

* SambaNova の `ext-xrdu-fw` リポジトリの `/latest` サブディレクトリからダウンロードしたファームウェアファイル `sn<XRDU_version>-xrdu-sys-fw-<fw_version>.tar.gz`（KB 記事 #1063 参照）
* 更新対象のすべての SN40L-2 BMC へのネットワークアクセス

<Note>
  必ず SN40L 用の XRDU ファームウェアをダウンロードしてください。他の RDU バージョン向けのファームウェアには互換性がありません。
</Note>

### ステップ 1: 更新の準備

**手順:**

1. SambaRack Manager を使用してノードをシャットダウンします。[ノード管理](/docs/ja/v2.2.3/sambastack/hardware-admin/sambarack-manager/srm-node-admin) の「Power off」をご参照ください。

2. 各 SN40L-2 BMC にログインし、レジスタをクリアするために再起動します:

```bash theme={}
ssh root@<SN40L-2_BMC_IP>
reboot
```

3. 再起動が完了するまで 3〜5 分待ちます。

4. クライアントシステム上でファームウェアアーカイブを展開します。

5. BMC ファームウェアファイルを各 SN40L-2 BMC にコピーします:

```bash theme={}
scp /<uncompressed_directory>/obmc/obmc-<version>* \
  root@<SN40L-2_BMC_IP>:/dev/shm/
```

6. ログインしてファイルを確認します:

```bash theme={}
ssh root@<SN40L-2_BMC_IP>
ls /dev/shm/obmc*
```

想定される出力:

```text theme={}
obmc-<version>.mtd  obmc-<version>.mtd.md5
```

### ステップ 2: BMC プライマリパーティションの更新

**手順:**

1. 更新を実行します:

```bash theme={}
obmcupdate -p primary -t bmc -f /dev/shm/obmc-rdu-<version>.mtd
```

<Warning>
  更新中は、他のコマンドを実行したり、電源を切断したりしないでください。
</Warning>

2. Erasing、Writing、Verifying の各ステージが 100% に達するまで待ちます。

3. BMC を再起動します:

```bash theme={}
reboot -f
```

4. 3〜5 分待ってから、ログインします:

```bash theme={}
ssh root@<SN40L-2_BMC_IP>
```

<Note>
  更新により、BMC の SSH ホストキーが変更されます。プロンプトが表示された場合は、`~/.ssh/known_hosts` から古いエントリを削除してください。
</Note>

5. 更新を確認します:

```bash theme={}
obmcupdate -i
```

BMC Release Version が適用したファームウェアバージョンと一致していることを確認します。

### ステップ 3: BMC リカバリパーティションの更新

再イメージ処理により `/dev/shm/` の内容は消去されます。次に進む前に、ファームウェアファイルを再度コピーしてください。

<Warning>
  `/dev/shm` は一時ファイルシステムです。内容は再起動時に失われます。
</Warning>

**手順:**

1. クライアントシステムからファームウェアファイルをコピーします:

```bash theme={}
scp /<uncompressed_directory>/obmc/obmc-<version>* \
  root@<SN40L-2_BMC_IP>:/dev/shm/
```

2. ログインして確認します:

```bash theme={}
ssh root@<SN40L-2_BMC_IP>
ls /dev/shm/obmc*
```

3. 更新を実行します:

```bash theme={}
obmcupdate -p recovery -t bmc -f /dev/shm/obmc-rdu-<version>.mtd
```

<Warning>
  更新中は、他のコマンドを実行したり、電源を切断したりしないでください。
</Warning>

4. すべてのステージが 100% に達するまで待ちます。

5. 更新が繰り返し失敗する場合は、SambaNova サポートまでお問い合わせください。

### ステップ 4: RDU-C プライマリパーティションの更新

**手順:**

1. クライアントシステムから RDU-C ファームウェアファイルをコピーします:

```bash theme={}
scp /<uncompressed_directory>/rduc/rduc-<version>-* \
  root@<SN40L-2_BMC_IP>:/dev/shm/
```

2. ログインして確認します:

```bash theme={}
ssh root@<SN40L-2_BMC_IP>
ls /dev/shm/rduc*
```

想定される出力:

```text theme={}
rduc-<version>-primary.spi      rduc-<version>-primary.spi.md5
rduc-<version>-recovery.spi     rduc-<version>-recovery.spi.md5
```

3. 更新を実行します:

```bash theme={}
obmcupdate -p primary -t rduc -f /dev/shm/rduc-<version>-primary.spi
```

<Warning>
  更新中は、他のコマンドを実行したり、電源を切断したりしないでください。
</Warning>

4. 更新を確認します:

```bash theme={}
obmcupdate -i
```

RDU-C Release Version が適用したファームウェアバージョンと一致していることを確認します。

### ステップ 5: RDU-C リカバリパーティションの更新

**手順:**

1. 更新を実行します:

```bash theme={}
obmcupdate -p recovery -t rduc -f /dev/shm/rduc-<version>-recovery.spi
```

2. いずれかの更新ステップで問題が発生した場合は、SambaNova サポートまでお問い合わせください。

すべての更新が正常に完了したら、SambaRack Manager を使用してシステムの電源をオンにします。詳細は [電源オン](/docs/ja/v2.2.3/sambastack/hardware-admin/sambarack-manager/srm-power-admin#電源オン) セクションをご参照ください。

***

## BMC ネットワーク設定の構成

BMC のネットワーク設定はラックの初期納品時に構成されており、通常は変更する必要はありません。再設定が必要な場合は、以下の手順を使用してください。

<Warning>
  SN40L-2 BMC の IP アドレスを変更する際は、変更した BMC と、ノード内で直接接続されているすべての BMC の両方で、`/platform/network.json` の `IP_ADDRESS_SP#` エントリを更新してください。
</Warning>

<Note>
  IP アドレスを変更すると、アクティブな SSH セッションは切断されます。新しい IP アドレスで再接続してください。
</Note>

### コマンドリファレンス

```bash theme={}
network-settings [-h] -i [IPADDRESS] -n [NETMASK] -g [GATEWAY] -d [DNS] {static,DHCP}
```

| オプション | 説明 |
| - | - |
| `{static,DHCP}` | ネットワークモード |
| `-i`, `--ipAddress` | IP アドレス（DHCP の場合は `""` を指定） |
| `-n`, `--netMask` | サブネットマスク。0〜32（DHCP の場合は任意の値） |
| `-g`, `--gateWay` | ゲートウェイアドレス（DHCP の場合は `""` を指定） |
| `-d`, `--dns` | DNS サーバー（DHCP の場合は `""` を指定） |
| `-h`, `--help` | ヘルプの表示 |

### 静的 IP アドレスの設定

**手順:**

1. SN40L-2 BMC にログインします:

```bash theme={}
ssh root@<SN40L-2_BMC_IP>
```

2. 静的 IP を設定します:

```bash theme={}
network-settings -i "10.10.0.15" -n 24 -g "10.10.0.1" -d "10.0.0.13" static
```

3. ネットワークサービスを再起動します:

```bash theme={}
systemctl restart systemd-networkd.service
```

4. 新しい IP アドレスで再接続します:

```bash theme={}
ssh root@<SN40L-2_NEW_BMC_IP>
```

5. 設定を確認します:

```bash theme={}
ip address
```

新しい IP は、`eth0` の下の 2 番目の `inet` 値として表示されます。

### DHCP の設定

**手順:**

1. SN40L-2 BMC にログインします:

```bash theme={}
ssh root@<SN40L-2_BMC_IP>
```

2. DHCP を設定します:

```bash theme={}
network-settings -i "" -n 0 -g "" -d "" DHCP
```

3. ネットワークサービスを再起動します:

```bash theme={}
systemctl restart systemd-networkd.service
```

4. DHCP により割り当てられた IP アドレスで再接続し、設定を確認します。

***

## BMC ホスト名の設定

**手順:**

1. SN40L-2 BMC にログインします:

```bash theme={}
ssh root@<SN40L-2_BMC_IP>
```

2. ホスト名を設定します:

```bash theme={}
hostnamectl set-hostname <hostname>
```

3. 一度ログアウトして再度ログインし、プロンプトに新しいホスト名が表示されることを確認します。
