> ## 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.

# 電源操作

`snctl power` コマンドグループは、SN40L ノードの DC 電源の制御と監視を行います。電源操作は `snctl node` とは別の、専用のトップレベルコマンドグループとして提供されます。

<Info>
  電源操作は**実際のハードウェア**に影響します。管理インターフェース (IPMI、Redfish、または SSH) を通じて **DC サイクル**操作を実行するものであり、AC 電源 (PDU)、ネットワークスイッチ、シリアルコンソールサーバー、その他のインフラストラクチャコンポーネントは制御**しません**。
</Info>

***

## 主要な概念

まず本セクションに一度目を通してください。以降の内容はすべて、次の 5 つの前提に基づいています。

### 前提条件

すべての電源コマンドは対象デバイスに対して認証を行うため、先にデバイス認証情報を登録しておく必要があります。認証情報が未登録または誤っている場合、コマンドは認証に失敗します。

```bash theme={}
snctl secret set --device-type bmc
snctl secret set --device-type host
snctl secret set --device-type xrdu
```

詳細は [デバイス認証情報](srm-device-credentials) をご参照ください。

### 各 `--type` の対象

| `--type` | 対象 | 備考 |
| - | - | - |
| `node` | 物理ユニット全体 — ホスト CPU **と**すべての XRDU | デフォルト。BIOS や XRDU のアップグレード前にファームウェア手順が想定している順序で実行されます。 |
| `host` | ホストシステムのみ | |
| `xrdu` | SambaNova 実行ユニットのみ | |

`snctl power cycle` は `--type` を受け付け**ません**。常にノード全体を対象とします。

### 対象の選択

<Note>
  `--node` または `--group` のいずれか一方の指定が必須です (同時には指定できません)。
</Note>

| フラグ | 指定できる値 |
| - | - |
| `--node <name_or_rack_id>` | ノード名 (`sn40l-16-001-n1`) またはラック ID (`001`) |
| `--group <name>` | グループ名 — そのグループ内のすべてのノードが対象になります |

### SambaNova Daemon のチェック

`snctl power on` と `snctl power cycle` は、`snd.service` (SambaNova Daemon) がアクティブになるのを待ってから完了します。そのため、コマンドが正常終了した場合、ノードは単に電源が入っただけでなく、処理を実行できる状態になっています。

`--skip-snd-check` を渡すと、デーモンを待たずに、電源が投入された時点で完了します。ファームウェアアップグレードの直前など、動作可能な SambaStack 環境として起動することを想定していないハードウェアの電源を入れる場合に使用してください。

```bash theme={}
snctl power on --node sn40l-16-001-n1 --type node --skip-snd-check
```

`snctl power off` と `snctl power state` はデーモンを待機せず、`--skip-snd-check` フラグもありません。

### フラグ

| フラグ | 説明 | 対象コマンド |
| - | - | - |
| `--node <name_or_rack_id>` | ノード名またはラック ID で単一のノードを対象にする | すべて |
| `--group <name>` | 指定した名前のグループ内のすべてのノードを対象にする | すべて |
| `--type <device_type>` | `node` (デフォルト)、`host`、または `xrdu` | `state`、`on`、`off` |
| `-o, --output <format>` | `text` (デフォルト)、`wide`、または `json` | すべて |
| `--protocol <protocol>` | デフォルトの管理プロトコルを上書きする: `ipmi`、`ssh`、または `redfish` | すべて |
| `--skip-snd-check` | `snd.service` を待たずに完了する | `on`、`cycle` |
| `-p, --parallelism-racks <n>` | 同時に処理するラック数の上限 (`0` = 上限なし) | すべて |
| `--parallelism-devices <n>` | 全ラック合計で同時処理するノード数のグローバル上限 (`0` = 上限なし) | すべて |

### 同時実行数のデフォルト

`--parallelism-racks` は一度に処理するラック数の上限を定め、そのデフォルト値はサブコマンドごとに異なります。

| サブコマンド | `--parallelism-racks` のデフォルト |
| - | - |
| `power state` | `0` (上限なし — すべてのラックを並列に照会) |
| `power on` | `4` |
| `power off` | `1` |
| `power cycle` | `1` |

```bash theme={}
# Process up to 4 racks at a time (power on default)
snctl power on --group production --type node --parallelism-racks 4

# Process racks one at a time (safer for power off / cycle)
snctl power off --group production --type node --parallelism-racks 1

# No limit — start all racks at once
snctl power state --group production --type node --parallelism-racks 0
```

`--parallelism-devices` はこれとは別の上限で、処理中のラック数にかかわらず、**全**ラック合計で同時処理するノード数をグローバルに制限します。管理ネットワークに対する IPMI、Redfish、SSH の同時セッションの総数を制限するために使用してください。

```bash theme={}
# Allow up to 8 racks in parallel, but cap total nodes at 5
snctl power on --group large-cluster --parallelism-racks 8 --parallelism-devices 5
```

***

## 電源状態の確認

ノードまたはそのコンポーネントの現在の電源状態を照会します。これは読み取り専用の操作であり、いつでも安全に実行できます。

```bash theme={}
snctl power state \
  [--node <node_name_or_rack_id>] \
  [--group <group_name>] \
  [--type <device_type>]
```

各セルには `On`、`Off`、または `Unknown` が表示されます。到達できなかったコンポーネントは `Error` と表示され、その理由が表の下に注記として一覧表示されます。

**単一ノード:**

```bash theme={}
snctl power state --node sn40l-16-001-n1 --type node
```

```powershell theme={}
Node (Rack)            Host  XRDU/0  XRDU/1  XRDU/2  XRDU/3  XRDU/4  XRDU/5  XRDU/6  XRDU/7
---------------------  ----  ------  ------  ------  ------  ------  ------  ------  ------
sn40l-16-001-n1 (001)  On    On      On      On      On      On      On      On      On
```

**グループ内のすべてのノード:**

```bash theme={}
snctl power state --group production --type node
```

```powershell theme={}
Node (Rack)            Host  XRDU/0  XRDU/1  XRDU/2  XRDU/3  XRDU/4  XRDU/5  XRDU/6  XRDU/7
---------------------  ----  ------  ------  ------  ------  ------  ------  ------  ------
sn40l-16-001-n1 (001)  On    On      On      On      On      On      On      On      On
sn40l-16-002-n1 (002)  On    On      On      On      On      On      On      On      On
```

**ホストのみ:**

```bash theme={}
snctl power state --node sn40l-16-001-n1 --type host
```

```powershell theme={}
Node (Rack)            Host
---------------------  ----
sn40l-16-001-n1 (001)  On
```

**各照会に応答したプロトコルも含める:**

```bash theme={}
snctl power state --node sn40l-16-001-n1 --type node -o wide
```

`-o wide` では、表がコンポーネントごとに 1 列のピボット形式になっているため、プロトコルは独立した列としてではなく、各状態の後ろにインラインで付記されます。

```powershell theme={}
Node (Rack)  Host     XRDU/0   XRDU/1   XRDU/2   XRDU/3   XRDU/4   XRDU/5   XRDU/6   XRDU/7
-----------  -------  -------  -------  -------  -------  -------  -------  -------  -------
sn40l-16-001-n1 (001)  On (ipmi)  On (redfish)  On (redfish)  On (redfish)  On (redfish)  On (redfish)  On (redfish)  On (redfish)  On (redfish)
```

***

## 電源オン

ノード、そのホスト、またはその XRDU の電源を入れます。

```bash theme={}
snctl power on \
  [--node <node_name_or_rack_id>] \
  [--group <group_name>] \
  [--type <device_type>] \
  [--skip-snd-check]
```

```bash theme={}
# Power on an entire node
snctl power on --node sn40l-16-001-n1 --type node
```

```powershell theme={}
#Expected Output
sn40l-16-001-n1 (001)
  Powering on XRDUs  OK
  Powering on Host  OK
  Waiting for Host to Boot  OK
  Waiting for snd.service to start  OK
```

```bash theme={}
# Power on the host only
snctl power on --node sn40l-16-001-n1 --type host

# Power on every node in a group
snctl power on --group production --type node
```

***

## 電源オフ

ノード、そのホスト、またはその XRDU の電源を切ります。

```bash theme={}
snctl power off \
  [--node <node_name_or_rack_id>] \
  [--group <group_name>] \
  [--type <device_type>]
```

```bash theme={}
# Power off an entire node (host and XRDUs)
snctl power off --node sn40l-16-001-n1 --type node
```

```powershell theme={}
#Expected Output
sn40l-16-001-n1 (001)
  Powering off Host  OK
  Powering off Node  OK
```

```bash theme={}
# Power off the host only
snctl power off --node sn40l-16-001-n1 --type host

# Power off every node in a group
snctl power off --group production --type node
```

***

## パワーサイクル

ノード全体のパワーサイクルを実行します。他のサブコマンドと異なり、`power cycle` は常にノード全体を対象とし、コンポーネントを指定する `--type` は受け付けません。

```bash theme={}
snctl power cycle \
  [--node <node_name_or_rack_id>] \
  [--group <group_name>] \
  [--skip-snd-check]
```

```bash theme={}
# Power cycle a single node
snctl power cycle --node sn40l-16-001-n1
```

```powershell theme={}
#Expected Output
sn40l-16-001-n1 (001)
  Powering off Host  OK
  Powering off XRDUs  OK
  Waiting before power-on  OK
  Powering on XRDUs  OK
  Powering on Host  OK
  Waiting for Host to Boot  OK
  Waiting for snd.service to start  OK
```

```bash theme={}
# Power cycle every node in a group
snctl power cycle --group production
```

***

## 次のステップ

これらのノードのファームウェアの確認やアップグレードについては、[ファームウェア更新](srm-firmware-updates) をご参照ください。
