一键导入
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 |