بنقرة واحدة
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 がスタックする。