本文へ移動
cccskills
無料GitHub で公開

idrac7-fw-update

iDRAC7 ファームウェアアップデート。段階的アップグレードパスに従い TFTP 経由で適用する。

インストール方法を見る

含まれるファイル(1)

  • SKILL.md5.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

iDRAC7 FW Update スキル

iDRAC7 ファームウェアを段階的アップグレードパスに従い TFTP 経由で適用する。

概要

項目値
対象7-9号機 (DELL PowerEdge R320) iDRAC7
方式TFTP 経由 (racadm fwupdate -g -u -a <IP>)
前提スキルidrac7, dell-fw-download, tftp-server

アップグレードパス

iDRAC7 は直接最新版にジャンプできない。以下の段階的パスに従う:

ステップFromToDriver ID所要時間 (概算)
11.57.571.66.65992WY~5 分
21.66.652.20.20.204P5PF~7 分
32.20.20.202.65.65.65Y9YPN~8 分

target 引数で到達バージョンを指定:

  • 1.66: ステップ 1 のみ
  • 2.20: ステップ 1-2
  • 2.65: ステップ 1-3 (最新)
  • all: 現在のバージョンから最新まで全ステップ

フェーズ

各ステップは以下の 6 フェーズで構成される:

Phase 1: FW ダウンロード

dell-fw-download スキルを使用:

.venv/bin/python tmp/<session-id>/dell-download.py <DRIVER-ID> tmp/<session-id>

Phase 2: BIN 展開

python3 tmp/<session-id>/extract-bin.py tmp/<session-id>/<BIN-file> tmp/<session-id>/fw-extracted
chmod 644 tmp/<session-id>/fw-extracted/payload/firmimg.d7

Phase 3: TFTP サーバ起動

tftp-server スキルを使用。起動コマンドはスクリプトファイルに書いて実行:

tmp/<session-id>/start-tftp.sh:

docker stop tftp-server 2>/dev/null || true
docker run --rm -d --name tftp-server \
    -p 69:69/udp \
    -v "$(pwd)/tmp/<session-id>/fw-extracted/payload/firmimg.d7:/tftpboot/firmimg.d7:ro" \
    jumanjiman/tftp-hpa
sh tmp/<session-id>/start-tftp.sh

Phase 4: FW 適用

./oplog.sh ssh -F ssh/config idrac7 racadm fwupdate -g -u -a <TFTP-SERVER-IP>
  • <TFTP-SERVER-IP>: ローカルマシンの IP (iDRAC から到達可能なアドレス。例: 10.1.6.1)
  • -d オプションは省略 (TFTP ルート直下の firmimg.d7 を自動取得)

適用中の出力:

Firmware update completed successfully.

Phase 5: 接続回復確認

FW 適用後、iDRAC が自動リブートする。SSH 再接続まで 60-120 秒:

  1. SSH ホスト鍵削除: ssh-keygen -R $BMC_IP -f ssh/known_hosts
  2. SSH 接続確認 (30 秒間隔でリトライ):
    ssh -F ssh/config -o ConnectTimeout=5 -o StrictHostKeyChecking=no idrac7 racadm getsysinfo
    
  3. FW バージョン確認: 期待バージョンと一致することを確認

Phase 6: クリーンアップ

docker stop tftp-server

次のステップがある場合は Phase 1 に戻る。最終ステップの場合は展開ファイルも削除:

rm -rf tmp/<session-id>/fw-extracted

既知の失敗パターン

F1: TFTP "Remote host is not reachable"

iDRAC から TFTP サーバに到達できない。確認事項:

  1. iDRAC からローカルマシンへの ping: ssh -F ssh/config idrac7 racadm ping <TFTP-IP>
  2. ファイルパーミッション: chmod 644 firmimg.d7 (tftp-server スキル参照)
  3. Docker コンテナが起動しているか: docker ps
  4. UDP 69 がリッスンされているか

F2: FW アップデートジョブのスタック

racadm fwupdate -s で "Preparing for firmware update" のまま停滞。 racadm racreset も拒否される場合:

  1. IPMI LAN を有効化:
    ssh -F ssh/config idrac7 racadm config -g cfgIpmiLan -o cfgIpmiLanEnable 1
    
  2. ipmitool でコールドリセット:
    ipmitool -I lanplus -H $BMC_IP -U claude -P Claude123 mc reset cold
    
  3. 120 秒待機後に SSH 再接続

F3: -d firmimg.d7 エラー

-d はディレクトリパス指定オプション。ファイル名として解釈されない。-d オプションは常に省略する。

F4: Dell BIN ダウンロード 403

curl では Akamai CDN がボット検知で 403 を返す。Playwright 経由でダウンロードすること (dell-fw-download スキル参照)。

F5: SSH ホスト鍵不一致

FW アップデート後に iDRAC の SSH ホスト鍵が変わる。アップデート前に毎回:

ssh-keygen -R $BMC_IP -f ssh/known_hosts

最終検証

全ステップ完了後:

ssh -F ssh/config idrac7 racadm getsysinfo
ssh -F ssh/config idrac7 racadm getconfig -g cfgIpmiLan
ssh -F ssh/config idrac7 racadm jobqueue view

確認項目:

  • Firmware Version = 期待バージョン
  • cfgIpmiLanEnable = 1
  • ジョブキューが空

参照

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

bios-setup

無料日本語概要

Supermicro X11DPU/X10DRT-P BIOS Setup 操作。KVM スクリーンショット + キーストロークで BIOS メニューを操作する。BIOS 設定変更、確認、保存を行う。4-6号機 + 10号機対応。

miminashi/pvese182026年7月6日 更新

dell-fw-download

無料日本語概要

Dell ファームウェアダウンロード。Playwright で dl.dell.com から BIN を取得し firmimg.d7 を抽出する。

miminashi/pvese182026年7月6日 更新

ib-switch

無料日本語概要

Mellanox SX6036 InfiniBand スイッチのシリアルコンソール操作。ステータス確認、show コマンド、IB 設定、FW 管理を行う。

miminashi/pvese182026年7月6日 更新

idrac7

無料日本語概要

iDRAC7 基本操作。SSH 経由で racadm コマンドを実行し、サーバ管理を行う。

miminashi/pvese182026年7月6日 更新

irmc-bios-raid

無料日本語概要

Fujitsu iRMC S4 (TX1320 M3 等) の電源・BIOS・RAID 操作 + BIOS 設定リファレンス。Redfish (HTTPS + SECLEVEL=0) 経由の電源/ブート操作 + iRMC Web UI/KVM 経由の手動 BIOS/RAID 操作手順 + 全 BIOS 設定項目の網羅リファレンス (bios/)。training-tx1320 対応。

miminashi/pvese182026年7月6日 更新

linstor-bench

無料日本語概要

LINSTOR/DRBD ストレージベンチマーク。VM上でfioを実行し、thin/thick-stripe構成の性能を計測する。

miminashi/pvese182026年7月6日 更新

miminashi のスキルをすべて見る

このスキルの問題を報告する