コンフィグレットとスクリプトを使用したファームウェアアップグレード例
概要
ルーターやスイッチなどのネットワーク装置は、最適なネットワークパフォーマンスを維持するために、適切なファームウェアに更新する必要があります。
このページでは、Network Configuration Managerのコンフィグレット機能を使用したファームウェアのアップグレード手順について説明します。
ファームウェアアップグレード実行の流れ
以下の流れでファームウェアのアップグレードを実行します。
※Network Configuration Managerには、TFTPサーバー機能がバンドルされています。
- Network Configuration Managerのインストールサーバーにアップグレード用のOSイメージファイルを配置
- TFTPサーバー(インストールサーバー)から、対象のルーターやスイッチへの接続が確立しているか確認
- OSイメージファイルのコピー、IPアドレスやファイル名を指定するコンフィグレットを作成
※[コンフィグ自動化]→[コンフィグレット]→[コンフィグレットの追加]画面で、「アドバンスドスクリプト実行モード」を選択し作成します。 - コンフィグレットを投入後、対象装置を再起動
ファームウェアアップグレード時の留意点
ファームウェアのアップグレードを実施する前に、以下の手順にご留意ください。
- メモリ要件:
OSイメージファイルを保存するのに十分なディスクやメモリが必要です。装置に十分なメモリがない場合、新バージョンのOS起動時に問題が発生することがあります。 - インターフェースとモジュールのサポート:
新しいOSがルーターやスイッチのすべてのインターフェースとモジュールをサポートしていることを確認する必要があります。 - ソフトウェア機能のサポート:
新しいOSが古いOSで使用されていたすべての機能をサポートしていることを確認する必要があります。
詳細は、ご利用のベンダー様にご確認ください。
OSイメージファイルをコピーするためのコマンド例
OSイメージファイルをコピーするために必要なコマンドは次のとおりです。
Ciscoルーターを例に、全体の流れを記載します。
2600>enable
Password:xxxxx
2600#copy tftp : flash:
Address or name of remote host []? 10.10.10.2
!--- 10.10.10.2 is the IP address of the TFTP server
Source filename []? c2600-adventerprisek9-mz.124-12.bin
Destination filename [c2600-adventerprisek9-mz.124-12.bin]?
Accessing tftp://10.10.10.2/c2600-adventerprisek9-mz.124-12.bin...
Erase flash:before copying? [confirm]y
!--- If there is not enough memory available, erase the Flash.
!--- If you have sufficient memory you can type n and press enter
Erasing device... eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeee ...erased
Erase of flash:complete
Loading c2600-adventerprisek9-mz.124-12.bin from 10.10.10.2 (via Ethernet0/0):!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 29654656/49807356 bytes]
Verifying checksum...OK (0xAC8A)
29654656 bytes copied in 56.88 secs (80383 bytes/sec)
対応するコンフィグレットコマンド例
ファームウェアをアップグレードするために作成するコンフィグレット例を以下に示します。
<command prompt="]?">copy tftp : flash:</command>
<command prompt="]?">%TFTP_SERVER_IP%</command>
<command prompt="]?">%SOURCE_FILE_NAME%</command>
<command prompt="confirm">%DESTINATION_FILE_NAME%</command>
<command timeout="120" suffix="$NO_ENTER">y</command>
デフォルトでは、Cisco用のコンフィグレット「Cisco IOS Firmware Upgrade」が実装されています。
その他コンフィグレット例
ファームウェアのアップデートに際し、その他関連のあるコンフィグレット例を記載します。
ネットワーク装置の再起動コマンドの実行例
再起動コマンドに、yes/noの応答がある場合:
<command prompt='(y/n)'>execute reboot</command>
<command prompt='NO_RESPONSE'>y</command>
TFTPサーバーへ現在のOSイメージファイルをバックアップ
TFTPサーバー(インストールサーバー)に、現行のOSイメージファイルをバックアップする場合:
- 使用するコマンド:copy flash <filename> tftp
filename:現行のOSイメージファイルの場所 - TFTPサーバーのIPアドレスを指定
- コピー先のファイルを指定
<command prompt=']?'>copy flash:/%SOURCE_FILE_NAME% tftp</command>
<command prompt=']?'>%TFTP_SERVER_IP%</command>
<command timeout='70'>%DESTINATION_FILE_NAME%</command>
フラッシュからファイルを削除
OSイメージファイルは、フラッシュメモリに保存されます。
OSをアップデートする際、装置上で十分なメモリが確保されている必要があり、必要に応じてフラッシュ内から特定のファイルを削除する場合があります。
- 使用するコマンド:delete flash <filename>
filename:削除対象のファイル名 - シーケンスで削除の確認が行われる場合には、yes/noを指定
<command prompt=']?'>delete flash:/%FILE_NAME%</command>
<command prompt='confirm'>%FILE_NAME%</command>
<command suffix='$NO_ENTER'>y</command>
バナーメッセージの設定
通常、バナーメッセージは2つの区切り文字の間に入力されます。例えば、#と#の間です。2つの文字間の全ての内容はバナーメッセージとして表示されます。
バナーメッセージを設定するためのコマンド実行のシーケンスは次の通りです。
- グローバルコンフィグレーションモードに移行
- バナーメッセージを設定するためのコマンドを入力
- 区切り文字を指定
- バナーメッセージを入力
- 再度、区切り文字をメッセージの終わりに指定
<command>conf t</command>
<command prompt='$NO_RESPONSE' timeout='5'>banner %DELIMITING_CHAR%</command>
<command prompt='$NO_RESPONSE' timeout='5'>%BANNER_LINE_1%</command>
<command prompt='$NO_RESPONSE' timeout='5'>%BANNER_LINE_2%</command>
<command>%DELIMITING_CHAR%</command>
<command>end</command>