بنقرة واحدة
ib-switch
Mellanox SX6036 InfiniBand スイッチのシリアルコンソール操作。ステータス確認、show コマンド、IB 設定、FW 管理を行う。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Mellanox SX6036 InfiniBand スイッチのシリアルコンソール操作。ステータス確認、show コマンド、IB 設定、FW 管理を行う。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
別の tmux ペインで動いている Claude Code インスタンスを、このセッションから tmux send-keys / capture-pane で駆動するオーケストレーション。プランモード投入 → プラン再点検 (1 回目の検証) → ユーザ承認ゲート → auto mode 実装 → レポート未記載追記 → レポート矛盾再チェック (2 回目の検証) の定型フロー。長時間タスクをもう 1 体の claude に「ダブルチェック付きで」実行させ、要所だけ自分が監督したいときに使う。
PXE/netboot 経由で Debian + HW RAID10 を自動インストール (OpenWrt ローカル TFTP + embed ipxe.efi + IPv4 リテラル mirror)。BMC USB redirector が累積劣化した機種 (TX1320 M3 等) や、 cross-site 拠点の install に使う。phase 19 で training-tx1320 で完遂、 物理操作なしで自力 SSH まで到達。
Fujitsu iRMC S4 (TX1320 M3 等) の電源・BIOS・RAID 操作 + BIOS 設定リファレンス。Redfish (HTTPS + SECLEVEL=0) 経由の電源/ブート操作 + iRMC Web UI/KVM 経由の手動 BIOS/RAID 操作手順 + 全 BIOS 設定項目の網羅リファレンス (bios/)。training-tx1320 対応。
Debian + Proxmox VE OS自動セットアップ。BMC VirtualMedia経由でpreseedインストール、PVEインストールまでを実行する。
Supermicro X11DPU/X10DRT-P BIOS Setup 操作。KVM スクリーンショット + キーストロークで BIOS メニューを操作する。BIOS 設定変更、確認、保存を行う。4-6号機 + 10号機対応。
iDRAC7 基本操作。SSH 経由で racadm コマンドを実行し、サーバ管理を行う。
| name | ib-switch |
| description | Mellanox SX6036 InfiniBand スイッチのシリアルコンソール操作。ステータス確認、show コマンド、IB 設定、FW 管理を行う。 |
| argument-hint | <subcommand> [args] |
Mellanox SX6036 InfiniBand スイッチを USB シリアルコンソールまたは SSH 経由で操作する。
| 項目 | 値 |
|---|---|
| モデル | MSX6036F-1SFS (36ポート FDR InfiniBand) |
| ホスト名 | switch-d2b2e2 |
| MLNX-OS | 3.6.8012 (最終版, 2019-02-22) |
| シリアル接続先 | 4号機 (10.10.10.204) /dev/ttyUSB0 |
| シリアル設定 | 9600/8N1, フロー制御なし |
| 認証 | admin / admin |
| 管理 IP | 10.10.10.100/24 (mgmt0, ラボから到達可) |
| SSH | port 22, 要レガシー鍵交換 (下記参照) |
| 内蔵 SM | active (OpenSM4.8.1) |
接続構成: Claude Code → SSH → server 4 → USB serial → SX6036
YQ="${PROJECT_DIR}/bin/yq"
CONFIG="config/switch-sx6036.yml"
SERIAL_HOST=$("$YQ" '.serial_host' "$CONFIG")
SERIAL_HOST_USER=$("$YQ" '.serial_host_user' "$CONFIG")
MGMT_IP=$("$YQ" '.mgmt_ip' "$CONFIG")
セッション開始時に 1 回、スクリプトを server 4 に転送する:
scp ./scripts/sx6036-console.py root@$SERIAL_HOST:/tmp/
pyserial が未インストールの場合:
ssh root@$SERIAL_HOST 'pip3 install pyserial'
version, fan, temperature, power, protocols をまとめて表示。
ssh root@$SERIAL_HOST 'python3 /tmp/sx6036-console.py status'
show サブコマンドは内部で "show " + arg を組み立てるため、引数に show を含めないこと:
# OK: 引数に show を含めない
ssh root@$SERIAL_HOST 'python3 /tmp/sx6036-console.py show version'
ssh root@$SERIAL_HOST 'python3 /tmp/sx6036-console.py show interfaces brief'
ssh root@$SERIAL_HOST 'python3 /tmp/sx6036-console.py show inventory'
# NG: 引数に show を含めると二重になる
# python3 /tmp/sx6036-console.py show "show interfaces ib status 1" → "show show interfaces ..."
36 ポート (IB1/1 〜 IB1/36) の状態を表示。
ssh root@$SERIAL_HOST 'python3 /tmp/sx6036-console.py ports'
operator mode では使えない show running-config, show ib 等を実行。
ssh root@$SERIAL_HOST 'python3 /tmp/sx6036-console.py enable-cmd show running-config'
ssh root@$SERIAL_HOST 'python3 /tmp/sx6036-console.py enable-cmd show ib sm'
ファイルからコマンドを読み込み、enable → configure terminal で実行。
ssh root@$SERIAL_HOST 'python3 /tmp/sx6036-console.py configure /tmp/ib-config.txt'
設定変更時は oplog で記録する:
./oplog.sh ssh root@$SERIAL_HOST 'python3 /tmp/sx6036-console.py configure /tmp/ib-config.txt'
mgmt0 (10.10.10.100) 経由で SSH 接続可能。レガシー鍵交換アルゴリズムが必要。
sshpass -p admin ssh -o StrictHostKeyChecking=no -o KexAlgorithms=diffie-hellman-group14-sha1 -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa admin@10.10.10.100 'show version'
sx6036-console.py で扱えない長時間操作(FW fetch/install 等)はシリアルコンソール手動操作を推奨現在の状態: 内蔵 SM active (server 4 の opensm は disabled)
show ib smnode switch-d2b2e2 sm-running # SM プロセス実行状態 (active/not active)
show ib smnode switch-d2b2e2 sm-state # SM 設定状態 (enable/disable)
show ib smnode switch-d2b2e2 sm-licensed # ライセンス状態
show ib sm version # SM バージョン (OpenSM4.8.1)
show ib sm routing-info # ルーティングエンジン (minhop)
configure terminal
ib sm
ib smnode switch-d2b2e2 enable
exit
write memory
SM 設定には2層構造がある:
ib sm — グローバルな SM 有効/無効スイッチib smnode <hostname> enable/disable — ノード単位の SM 有効/無効configure terminal
no ib sm
ib smnode switch-d2b2e2 disable
exit
write memory
切替後に server 4 で opensm を起動: systemctl enable --now opensm
show images
2パーティション構成。現在両方とも 3.6.8012。
server 4 で HTTP サーバを起動し、スイッチからフェッチする:
# server 4 側
ssh root@$SERIAL_HOST 'cd /tmp && python3 -m http.server 8080'
# スイッチ側 (シリアルコンソール)
image fetch http://10.10.10.204:8080/image-PPC_M460EX-3.6.8012.img
https://content.mellanox.com/Software/image-PPC_M460EX-3.6.8012.imge2114b923351bf4d499c7200392afecbimage install <file> # 次のブートパーティションに自動インストール
image install <file> location <N> # 指定パーティション (1 or 2) にインストール
partition キーワードは不可。必ず location を使うimage boot next
write memory
reload
write memory (configuration write は MLNX-OS 3.6 では不可)operator (>) → enable (#) → configure terminal ((config) #)
enable configure terminal
← disable ← exit
>): show コマンドの一部のみ (version, fan, interfaces brief 等)#): show running-config, show ib, show interfaces mgmt0, SM 設定の表示(config) #): 設定変更 (SM 有効化, IP 変更等)./oplog.sh ssh root@$SERIAL_HOST 'python3 /tmp/sx6036-console.py enable-cmd <cmd>'
./oplog.sh ssh root@$SERIAL_HOST 'python3 /tmp/sx6036-console.py configure /tmp/config.txt'
pyserial パッケージが必要。OS 再インストールで消失するため、接続失敗時は pip3 install pyserial を再実行sx6036-console.py の再転送 (scp ./scripts/sx6036-console.py root@$SERIAL_HOST:/tmp/) が必要。初回実行時のエラーを 2>/dev/null で抑制しないこと(ファイル不在の検出が遅れる)ser.dtr = False → ser.dtr = True でリセットする。手動の場合は screen を一度切断 (Ctrl+A, K) して再接続CLI > : リブート直後に CLI > プロンプトになることがある。enable も使えない。exit → 再ログインで正常なフルプロンプトに復帰? ヘルプキーの副作用: シリアル自動化で ? を送ると改行も送信され、コマンドが実行されてしまう。手動操作では問題ない# 記号: image fetch / image install の進捗バーにプロンプト (#) と同じ文字が含まれる。自動化でプロンプト検出する場合はフルプロンプトパターン (switch-d2b2e2 [standalone: master] #) を使うshow interfaces mgmt0 は enable モードが必要: operator mode だとエラー-c N を使う (count N は不可)write memory を使う (configuration write は MLNX-OS 3.6 では不可)sx6036-console.py: FW fetch (~5分), install (~15分), reload (~8分) はタイムアウトを超えるため、シリアルコンソール手動操作 (screen /dev/ttyUSB0 9600) を推奨Warning: High power transceiver is not supported が表示されリンクが確立できないtransceiver, module-info, pluggable, cables, running-config interface サブコマンドが非対応。サーバ側の ethtool -m も IB インターフェースでは Operation not supported。トランシーバの詳細診断手段は限定的MLNX-OS 3.6.8012 は ib partition コマンドを 部分的にサポート:
show ib partition (enable mode) — 動作する。Default パーティション (PKey 0x7FFF, ALL members) が表示されるib partition <name> pkey 0x<id> (configure mode) — 動作する。パーティション作成可能ib partition <name> ipoib (configure mode) — 動作するib partition <name> member ALL type full (configure mode) — 動作するib partition <name> member <GUID> type full (configure mode) — 動作しない。% Invalid port GUID エラー。e41d:2d03:00b4:db21 / e41d2d0300b4db21 / 0xe41d2d0300b4db21 いずれのフォーマットも不可結論: パーティション作成自体は可能だが、個別 GUID によるメンバー制限は MLNX-OS 3.6 では非サポート。ALL のみ指定可能なため、リージョン間のハードウェアレベル Pkey 分離は不可。
リージョンごとに異なる IPoIB サブネットを割り当てて IP レベルで分離:
| リージョン | サブネット | ノード |
|---|---|---|
| Region A | 192.168.100.0/24 | 4号機 (.1), 5号機 (.2), 6号機 (.3) |
| Region B | 192.168.101.0/24 | 7号機 (.7), 8号機 (.8), 9号機 (.9) |
| ポート | サーバ | 状態 |
|---|---|---|
| IB1/7 | 7号機 | Active 40 Gbps QDR |
| IB1/9 | 9号機 | Active 40 Gbps QDR |
| IB1/11 | 8号機 | Active 40 Gbps QDR |
| IB1/19 | 6号機 | Active 40 Gbps QDR |
| IB1/21 | 5号機 | Active 40 Gbps QDR |
| IB1/23 | 4号機 | Active 40 Gbps QDR |
| サーバ | IB デバイス | Node GUID | Port GUID (port 1) |
|---|---|---|---|
| 4号機 | ibp134s0 | e41d:2d03:00b4:db20 | e41d:2d03:00b4:db21 |
| 5号機 | ibp134s0 | e41d:2d03:007a:5c60 | e41d:2d03:007a:5c61 |
| 6号機 | ibp134s0 (mlx4_0) | e41d:2d03:00b4:ded0 | e41d:2d03:00b4:ded1 |
| 7号機 | ibp10s0 (mlx4_0) | ec0d:9a03:00e6:cc10 | ec0d:9a03:00e6:cc11 |
| 8号機 | ibp10s0 (mlx4_0) | ec0d:9a03:00de:bb40 | ec0d:9a03:00de:bb41 |
| 9号機 | ibp10s0 (mlx4_0) | f452:1403:006b:7530 | f452:1403:006b:7531 |