一键导入
idrac7
iDRAC7 基本操作。SSH 経由で racadm コマンドを実行し、サーバ管理を行う。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
iDRAC7 基本操作。SSH 経由で racadm コマンドを実行し、サーバ管理を行う。
用 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号機対応。
LINSTOR/DRBD ノードの離脱・復帰操作。障害シミュレーション、回復、正常離脱、再参加を行う。
| name | idrac7 |
| description | iDRAC7 基本操作。SSH 経由で racadm コマンドを実行し、サーバ管理を行う。 |
| argument-hint | <subcommand: getsysinfo|getconfig|config|jobqueue|fwupdate|racreset|ipmi-lan> |
SSH 経由で racadm コマンドを実行し、DELL PowerEdge R320 (7-9号機) を管理する。
| 項目 | 7号機 | 8号機 | 9号機 |
|---|---|---|---|
| シャーシ | PowerEdge R320 | PowerEdge R320 | PowerEdge R320 |
| iDRAC IP | 10.10.10.27 | 10.10.10.28 | 10.10.10.29 |
| SSH ホスト | idrac7 | idrac8 | idrac9 |
| 静的 IP | 10.10.10.207 | 10.10.10.208 | 10.10.10.209 |
| 認証 | SSH 鍵 (ssh/idrac_rsa, RSA 2048) | 同左 | 同左 |
| Web/IPMI 認証 | claude / Claude123 | 同左 | 同左 |
YQ="${PROJECT_DIR}/bin/yq"
CONFIG="config/server7.yml"
BMC_IP=$("$YQ" '.bmc_ip' "$CONFIG")
BMC_USER=$("$YQ" '.bmc_user' "$CONFIG")
BMC_PASS=$("$YQ" '.bmc_pass' "$CONFIG")
プロジェクトローカルの ssh/config に全ホスト定義済み。全 SSH コマンドに -F ssh/config を付けること。
ssh -F ssh/config idrac7 racadm getsysinfo
ssh/idrac_rsa) を使用diffie-hellman-group14-sha1 等) が必要./ssh/setup.sh で生成ssh -F ssh/config idrac7 racadm getsysinfo
FW バージョン、モデル名、電源状態、Service Tag 等を表示。
ssh -F ssh/config idrac7 racadm getconfig -g <group>
主要グループ:
cfgIpmiLan — IPMI LAN 設定cfgLanNetworking — ネットワーク設定cfgUserAdmin -i 2 — ユーザ設定 (index 2 = claude)cfgRacTuning — RAC チューニングssh -F ssh/config idrac7 racadm config -g <group> -o <object> <value>
状態変更のため oplog で記録:
./oplog.sh ssh -F ssh/config idrac7 racadm config -g cfgIpmiLan -o cfgIpmiLanEnable 1
ssh -F ssh/config idrac7 racadm jobqueue view
実行中・保留中のジョブを確認。FW アップデート前に空であることを確認すること。
ssh -F ssh/config idrac7 racadm fwupdate -g -u -a <tftp-server-ip>
-g: TFTP から取得-u: アップデート実行-a: TFTP サーバの IP アドレス-d オプションは省略する (ディレクトリパスを指定するオプションであり、ファイル名ではない)詳細は idrac7-fw-update スキル を参照。
./oplog.sh ssh -F ssh/config idrac7 racadm racreset
ssh-keygen -R $BMC_IP -f ssh/known_hostsipmitool で直接 BMC と通信:
ipmitool -I lanplus -H $BMC_IP -U claude -P Claude123 chassis status
ipmitool -I lanplus -H $BMC_IP -U claude -P Claude123 mc info
ipmitool -I lanplus -H $BMC_IP -U claude -P Claude123 mc reset cold
cfgIpmiLanEnable=1)mc reset cold: スタックした FW アップデートの回復に使用PERC H710 Mini の RAID 構成を racadm 経由で管理する。PERC H710 は RealtimeConfigurationCapability = Incapable のため、全ての設定変更にジョブ作成 + 再起動が必要。
ssh -F ssh/config idrac8 racadm raid get vdisks -o -p Layout,Size,Name,State
ssh -F ssh/config idrac8 racadm raid get pdisks -o -p Size,State,MediaType
ssh -F ssh/config idrac8 racadm raid get controllers -o
# 1. createvd (受理のみ)
ssh -F ssh/config idrac8 racadm raid createvd:RAID.Integrated.1-1 -rl r0 \
-pdkey:Disk.Bay.6:Enclosure.Internal.0-1:RAID.Integrated.1-1
# 2. ジョブ作成 + 再起動
ssh -F ssh/config idrac8 racadm jobqueue create RAID.Integrated.1-1 -s TIME_NOW -r pwrcycle
# 3. 待機後にジョブ結果確認
ssh -F ssh/config idrac8 racadm jobqueue view -i JID_xxxxx
RAID レベル: -rl r0 (RAID-0), -rl r1 (RAID-1), -rl r5 (RAID-5), -rl r6 (RAID-6), -rl r10 (RAID-10)
ssh -F ssh/config idrac8 racadm raid deletevd:Disk.Virtual.4:RAID.Integrated.1-1
ssh -F ssh/config idrac8 racadm jobqueue create RAID.Integrated.1-1 -s TIME_NOW -r pwrcycle
jobqueue delete --all でジョブを削除しても pending 設定が "committed" 状態で残り、次の RAID 操作が STOR023: Configuration already committed で拒否されることがある。
解決: racadm serveraction powercycle で再起動すると pending 設定がクリアされる。
VD 作成・削除の詳細手順は perc-raid スキル を参照。
R320 の BIOS ブート順序は iDRAC7 racadm 経由で制御可能:
./scripts/idrac-virtualmedia.sh boot-status $BMC_IP # 現在のブート設定表示
./scripts/idrac-virtualmedia.sh boot-once $BMC_IP VCD-DVD # 一時ブートデバイス設定
./scripts/idrac-virtualmedia.sh boot-reset $BMC_IP # boot-once 解除(通常ブート復帰)
| 値 | 説明 |
|---|---|
Normal | BIOS BootSeq に従う(デフォルト) |
PXE | ネットワークブート |
BIOS | BIOS セットアップに入る |
VCD-DVD | VirtualMedia CD/DVD |
Floppy | VirtualMedia フロッピー |
HDD | ハードディスク |
OS インストール後、VirtualMedia ブート設定をクリアしないと「No boot device available」が発生する:
# インストール前: VirtualMedia からブート
./scripts/idrac-virtualmedia.sh boot-once $BMC_IP VCD-DVD
# インストール完了後: boot-once を解除して HDD からブート
./scripts/idrac-virtualmedia.sh umount $BMC_IP
./scripts/idrac-virtualmedia.sh boot-reset $BMC_IP
BIOS BootSeq は racadm set + ジョブキューで変更可能(通常は変更不要):
# 現在の BootSeq 確認
ssh -F ssh/config idrac7 racadm get BIOS.BiosBootSettings.BootSeq
# 変更する場合(ジョブキュー + リブートが必要)
ssh -F ssh/config idrac7 racadm set BIOS.BiosBootSettings.BootSeq HardDisk.List.1-1,NIC.Embedded.1-1-1,...
ssh -F ssh/config idrac7 racadm jobqueue create BIOS.Setup.1-1 -r pwrcycle -s TIME_NOW
デフォルト BootSeq: HardDisk.List.1-1,NIC.Embedded.1-1-1,Optical.SATAEmbedded.E-1,Unknown.Slot.1-1
HddSeq: RAID.Integrated.1-1 (PERC H310 仮想ディスク)
os-setup スキル参照)。BIOS F3 (Load Defaults) で Legacy にリセットされるcfgServerBootOnce(旧構文)と iDRAC.ServerBoot.BootOnce(新構文)は同じ設定。新構文を推奨racadm set BIOS.BiosBootSettings.BootMode を絶対に使ってはならない。
R320 / iDRAC7 FW 2.65.65.65 / BIOS 2.3.3 では、racadm 経由で BootMode を Uefi ↔ Bios で切り替えると VirtualMedia EFI ブートデバイスエントリ (Optical.iDRACVirtual.1-1) が UefiBootSeq から enumeration 不在 の状態になる。このとき set BIOS.BiosBootSettings.UefiBootSeq で手動追加しようとしても BOOT018: Specified boot control list is read-only で拒否される(BIOS が登録していないデバイス名を受け付けない)。
訂正 (2026-04-10): 以前は「永続的に削除」と記載していたが、これは不正確だった。 実際には VirtualMedia が mount されていない状態で列挙されない だけで、 ISO を mount して POST を通すと BIOS が再列挙し、UefiBootSeq にエントリが復活する (
report/2026-04-10_172807_server8_vmedia_recovery_test.md反復 1 参照)。 それでも racadm BootMode 変更は依然として 禁止。理由は以下の副次効果:
- この後の復旧手順で Phase A (F3 Load Defaults) を踏まざるを得ず、その副作用で
BIOS.SerialCommSettings.SerialComm等が壊れる (Phase B-2 で復元必要)- BIOS NVRAM に累積破損が残る懸念 (同レポート反復 3 でハング報告)
- BIOS ジョブ適用が stale ジョブのせいで失敗する事象が観測されている
症状: VirtualMedia をマウント+boot-once VCD-DVDしても以下のいずれかが発生する:
回避策: BootMode を変更する必要がある場合は VNC 経由で BIOS Setup (F2) から手動変更すること (bios-setup スキル は 4-6号機専用なので、idrac-kvm-interact.py で操作)。
racadm set BIOS.BiosBootSettings.BootMode 等で UefiBootSeq から VirtualMedia エントリが消失した場合の復旧手順:
# 1. VirtualMedia をアンマウントしてクリーン状態に
./scripts/idrac-virtualmedia.sh umount $BMC_IP
./scripts/idrac-virtualmedia.sh boot-reset $BMC_IP
# 2. 現状確認: UefiBootSeq に Optical.iDRACVirtual.1-1 が無い
ssh -F ssh/config idrac8 racadm get BIOS.BiosBootSettings.UefiBootSeq
# 3. サーバを電源オフ → 電源オン
./pve-lock.sh wait ./oplog.sh ipmitool -I lanplus -H $BMC_IP -U claude -P Claude123 chassis power off
sleep 15
./pve-lock.sh wait ./oplog.sh ipmitool -I lanplus -H $BMC_IP -U claude -P Claude123 chassis power on
Phase A: VNC で BIOS Setup に入り Load Defaults
# 4. POST 開始まで 45 秒待って F2 を連打 (BIOS Setup 入場)
sleep 45
python3 ./scripts/idrac-kvm-interact.py --bmc-ip $BMC_IP sendkeys F2 x30 --wait 2000 \
--screenshot-each tmp/<sid>/recover-f2 --pre-screenshot
# 5. "System Setup" メニューで "System BIOS" を選択 (Enter)
python3 ./scripts/idrac-kvm-interact.py --bmc-ip $BMC_IP sendkeys Enter --wait 2000 \
--screenshot tmp/<sid>/recover-bios.png
# 6. F3 (Load Defaults) → Enter で確認
python3 ./scripts/idrac-kvm-interact.py --bmc-ip $BMC_IP sendkeys F3 --wait 2000 \
--screenshot tmp/<sid>/recover-f3.png
python3 ./scripts/idrac-kvm-interact.py --bmc-ip $BMC_IP sendkeys Enter --wait 2000 \
--screenshot tmp/<sid>/recover-f3-confirm.png
Phase B: BootMode を UEFI に戻す (BIOS UI から)
Load Defaults 後 BootMode は Bios (Legacy) に戻る。VNC BIOS Setup の "Boot Settings" → "Boot Mode" を UEFI に手動変更する。ここで racadm は使わない。
# 7. BIOS 設定画面で Boot Settings に移動 → Boot Mode を UEFI に変更 → Escape → Finish → Enter
# (具体的なキー操作はスクリーンショットを見ながら適宜)
⚠️ 重要な副作用 (2026-04-10 発見): BIOS Load Defaults (F3) は BootMode 以外のすべての BIOS 設定もデフォルトに戻す。特に
BIOS.SerialCommSettingsが以下の壊れた状態にリセットされる:
SerialComm=OnNoConRedir(シリアルコンソールリダイレクト無効)RedirAfterBoot=Disabledこれが放置されたままだと、次回 OS セットアップの install-monitor フェーズで SOL に installer 出力が流れず永久ハングする (os-setup スキルの Phase 4 iDRAC 事前検証 も参照)。復旧手順に Phase B-2 を必ず含めること。
Phase B-2: SerialCommSettings の復元 (racadm 経由で安全)
Phase A で F3 Load Defaults を実行した場合、BIOS.SerialCommSettings を復元する。BIOS.SerialCommSettings は BIOS.BiosBootSettings.BootMode と異なり、racadm 経由の変更で UefiBootSeq の VirtualMedia エントリを破壊しない。安全に racadm で変更可能:
# 7.5. SerialCommSettings を復元
./pve-lock.sh wait ./oplog.sh ssh -F ssh/config idrac8 racadm set BIOS.SerialCommSettings.SerialComm OnConRedirCom1
./pve-lock.sh wait ./oplog.sh ssh -F ssh/config idrac8 racadm set BIOS.SerialCommSettings.RedirAfterBoot Enabled
./pve-lock.sh wait ./oplog.sh ssh -F ssh/config idrac8 racadm jobqueue create BIOS.Setup.1-1 -s TIME_NOW -r pwrcycle
# BIOS ジョブ完了を jobqueue view でポーリング (5-6 分)
完了を確認:
ssh -F ssh/config idrac8 racadm get BIOS.SerialCommSettings.SerialComm
# 期待値: SerialComm=OnConRedirCom1 (Pending Value が表示されないこと)
Phase C: VirtualMedia マウント + 通常電源投入で BIOS に再列挙させる
# 8. 電源オフ
./pve-lock.sh wait ./oplog.sh ipmitool -I lanplus -H $BMC_IP -U claude -P Claude123 chassis power off
# 9. VirtualMedia ISO をマウント
./scripts/idrac-virtualmedia.sh mount $BMC_IP "$REMOTE_URI"
./scripts/idrac-virtualmedia.sh verify $BMC_IP
# 10. 電源オン (boot-once は不要 — BIOS が VirtualMedia を UefiBootSeq に永続登録する)
./pve-lock.sh wait ./oplog.sh ipmitool -I lanplus -H $BMC_IP -U claude -P Claude123 chassis power on
# 11. 5 分待って VirtualMedia から起動していることを VNC で確認
sleep 300
python3 ./scripts/idrac-kvm-interact.py --bmc-ip $BMC_IP screenshot tmp/<sid>/recover-vmboot.png
# 12. UefiBootSeq に Optical.iDRACVirtual.1-1 が追加されていることを確認
ssh -F ssh/config idrac8 racadm get BIOS.BiosBootSettings.UefiBootSeq
# 期待値: ...,Optical.iDRACVirtual.1-1,Floppy.iDRACVirtual.1-1,... が含まれる
復旧後の正常な UefiBootSeq の例 (8号機, 復旧後):
Unknown.Unknown.1-1, Optical.iDRACVirtual.1-1, Floppy.iDRACVirtual.1-1,
Optical.SATAEmbedded.E-1, RAID.Integrated.1-1, NIC.Embedded.1-1-1,
NIC.Embedded.2-1-1, RAID.Integrated.1-1
Optical.iDRACVirtual.1-1 が登録されると、以降は boot-once VCD-DVD も正常動作する(マウント済み状態で)。エントリは BIOS NVStore に永続化される。
復旧の根本原理: BIOS Load Defaults (F3) は UefiBootSeq をクリアし、次回 POST で利用可能なデバイスを再列挙する。VirtualMedia がマウントされた状態で POST すると、BIOS が iDRAC Virtual CDROM を検出して Optical.iDRACVirtual.1-1 として登録する。一度登録されればエントリは永続化される。
ipmitool -I lanplus -H $BMC_IP -U claude -P Claude123 sol activate
切断: ~. (チルダ + ドット) または ipmitool ... sol deactivate
| 設定 | 必要値 | 確認コマンド |
|---|---|---|
| IPMI SOL Enable | Enabled | ssh -F ssh/config idrac7 racadm get iDRAC.IPMISOL |
| SOL BaudRate | 115200 | (同上) |
| BIOS RedirAfterBoot | Enabled | ssh -F ssh/config idrac7 racadm get BIOS.SerialCommSettings |
| BIOS SerialComm | OnConRedirCom2 | (同上) |
| カーネル console | console=ttyS0,115200n8 | cat /proc/cmdline |
R320 iDRAC7 では BIOS の COM2 リダイレクトと SOL の COM ポートが異なる:
BIOS POST 出力は INT10h リダイレクト経由で SOL に表示されるため、COM2 設定で問題ない。 Linux カーネル以降の出力は直接 UART I/O を使うため、SPCR が指す COM1 (ttyS0) に出力する必要がある。
| フェーズ | SOL 表示 | 仕組み |
|---|---|---|
| BIOS POST | OK | BIOS INT10h → COM2 リダイレクト |
| GRUB メニュー | OK (BIOS リダイレクト経由) | INT10h テキストモード |
| Linux カーネル | OK (console=ttyS0 必須) | 直接 UART I/O |
| ログインプロンプト | OK (serial-getty@ttyS0) | 直接 UART I/O |
RedirAfterBoot=Disabled (デフォルト) では BIOS POST 後に SOL が途切れる。
必ず Enabled に設定すること:
ssh -F ssh/config idrac7 racadm set BIOS.SerialCommSettings.RedirAfterBoot Enabled
ssh -F ssh/config idrac7 racadm jobqueue create BIOS.Setup.1-1
# パワーサイクルで適用
python3 ./scripts/idrac-kvm-screenshot.py \
--bmc-ip $BMC_IP --bmc-user claude --bmc-pass Claude123 \
--output tmp/<session-id>/screenshot.png
| 順序 | 方式 | 解像度 | 品質 | 条件 |
|---|---|---|---|---|
| 1 (主) | VNC (port 5901) | 800x600 | フルカラー | 最大 3 回リトライ |
| 2 (副) | capconsole API | 400x300 | グレースケール | VNC 全失敗時のフォールバック |
| 引数 | デフォルト | 説明 |
|---|---|---|
--vnc-pass | Claude1 | VNC パスワード |
--vnc-port | 5901 | VNC ポート |
--timeout | 30 | タイムアウト秒(VNC は半分の値を使用) |
iDRAC.VNCServer.Enable = Enabled(全 3 台設定済み)Claude1)cryptography + Pillow が必要(不足時は VNC スキップし capconsole へ)| 項目 | 値 |
|---|---|
| ポート | 5901 |
| プロトコル | RFB 3.008 |
| 認証 | VNC Auth (パスワード: Claude1) |
| 同時接続 | 1本のみ |
iDRAC7 VNC ポート 5901 は vga=788 (VESA 800x600x16bit フレームバッファ) に非対応。
VESA モードで起動すると "SYSTEM IDLE" 表示で画面内容が見えない。
vga=normal nomodeset を指定(テキストモード)vga=788 のため、リマスターが必須iDRAC7 VNC はしばらく画面更新がないと "SYSTEM IDLE" を表示する。
スクリーンショットスクリプトは自動で Wake キーイベントを送信して復帰させる。
手動で送る場合: RFB KeyEvent struct.pack(">BBxxI", 4, down_flag, keysym)。
iDRAC リセット後やFWアップデート後に発生。60-120 秒待機して再試行。
FW アップデート後に SSH ホスト鍵が変わる。解決:
ssh-keygen -R $BMC_IP -f ssh/known_hosts
FW アップデートジョブがスタック状態。ipmitool で強制リセット:
ipmitool -I lanplus -H $BMC_IP -U claude -P Claude123 mc reset cold
前提: IPMI LAN が有効であること。無効の場合は先に SSH 経由で有効化:
ssh -F ssh/config idrac7 racadm config -g cfgIpmiLan -o cfgIpmiLanEnable 1
iDRAC7 は Ed25519 非対応。RSA 2048 鍵 (ssh/idrac_rsa) を使用すること。
| 操作 | oplog | pve-lock |
|---|---|---|
| getsysinfo, getconfig, jobqueue view | 不要 | 不要 |
| config (設定変更) | 必要 | 不要 (iDRAC 単体操作) |
| fwupdate | 必要 | 不要 (iDRAC 単体操作) |
| racreset | 必要 | 不要 |
| ipmitool power on/off/reset | 必要 | 必要 (サーバ電源操作) |
| ipmitool mc reset | 必要 | 不要 (BMC のみ) |
SSH 鍵が未登録の iDRAC には paramiko パスワード認証で接続して鍵を登録する:
import paramiko
c = paramiko.SSHClient()
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
c.connect('<BMC_IP>', username='claude', password='Claude123',
look_for_keys=False, allow_agent=False, timeout=15)
# ユーザインデックスを確認 (claude が index 2 か 3 かはサーバによる)
c.exec_command('racadm getconfig -g cfgUserAdmin -i 2')
c.exec_command('racadm getconfig -g cfgUserAdmin -i 3')
# 正しいインデックスに鍵を登録
c.exec_command('racadm sshpkauth -i <INDEX> -k 1 -t "<PUB_KEY>"')
# IPMI LAN を有効化 (デフォルトで無効)
c.exec_command('racadm config -g cfgIpmiLan -o cfgIpmiLanEnable 1')
注意: 8/9号機では claude ユーザは index 3 (7号機は index 2)。getconfig -g cfgUserAdmin -i N で cfgUserAdminUserName を確認すること。
R320 の PERC H710 は以前存在した VD が検出されない場合 "The following VDs are missing" プロンプトを表示し、キー入力を待つ。
SOL 経由で Enter キーを送信して通過させる必要がある。tmp/<session-id>/sol-send-enter.py スクリプトで POST 中に定期的に Enter を送信するパターンが有効。
FW アップグレード後に LC が無効な場合:
ssh -F ssh/config idrac8 racadm set LifecycleController.LCAttributes.LifecycleControllerState 1
初回有効化後の "Collecting System Inventory" は 10-15 分かかる。SOL で Enter キーを送って PERC プロンプトを通過させないと LC がスタックする。