背景と概要
自宅で利用しているC891FJのバージョンが古いままだったのでアップグレードすることにしました。
C891FJはヤフオクで1万円ほど手に入るほど安いサービス統合型ルータです。
私が最初に買った業務用ルータで、超おすすめです。
筐体 | C891FJ-K9 |
旧Ver | 15.3(3)M5 |
新Ver | 15.8(3)M7 |
Cisco IOSの命名について
15.3(3)M5→15.8(3)M7はマイナーバージョンのアップデートになるのかな?
と思って調べましたが、どうやらそうではないようです。
Cisco公式の解説を見るとわかりますが、
15.3(3)M5 トレイン スロットル リビルド のようで、
トレイン→メジャーバージョン
スロットル→マイナーバージョン(新機能やバグ修正)
リビルド→リビルド(バグ修正、場合によって新機能)
トレインのアルファベットはMはMainline(安定版), TはTechnology(新機能版)
つまり、トレインが大きければ新しいというわけでもないようです。
詳しくはCiscoのページを調べてみてください。
手順
正しい手順はCiscoのマニュアルをご覧ください。
これらの手順に確実性は保証できかねます。
事前準備
必要なもの
- TFTPサーバ
- 新VersionのImage (c800j-universalk9-mz.SPA.158-3.M7.bin)
- コンソールケーブル(なくても良い)
Imageについて
Imageは15.8(3)M7を利用する。理由としてはCiscoのソフトウェアDLページより、
推奨バージョンとなっていたため。ImageはDLしてtftpサーバに置いておく。
アップグレード
- 事前ログとバックアップ
まず最初にやるべきことは、バージョンアップ後に問題が起きた場合に復旧できるように、
問題が起きているかを把握できるように事前ログとバックアップを取ります。
# terminal len 0
# show version
# show run
# show flash:
また、旧VerのImageとconfigもバックアップします。
# copy run tftp:
Address or name of remote host []? <IP>
Destination filename [host-confg]?
!!
7272 bytes copied in 0.288 secs (25250 bytes/sec)
# copy flash:c800-universalk9-mz.SPA.153-3.M5.bin tftp:
Address or name of remote host []? <IP>
Destination filename [c800-universalk9-mz.SPA.153-3.M5.bin]?
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
略
問題なくバックアップが取れればOK
- Flashの空き容量を確認
次にFlashの空き容量を確認する。
足りない場合はいらないファイルを削除する必要がある。
# show file systems
# show flash
~略
173387776 bytes available (83116032 bytes used)
上のように利用可能な容量がわかる。173MBの余裕があり今回の15.8.3M7は97MBなので問題なし。
- TFTPサーバからImageを取得する
容量は問題ないため、イメージをTFTPサーバから筐体のFlashに持ってくる。
このとき、各自のTFTPサーバに合わせたパスから取得する。(/var/lib/tftpbootなど)
# copy tftp://<IP>/c800j-universalk9-mz.SPA.158-3.M7.bin flash:
~略
[OK - 97197580 bytes]
97197580 bytes copied in 263.008 secs (369561 bytes/sec)
コピーが完了したらflashにあるか確認する。
# show flash:
~略
452 97197580 Apr 2 2022 22:18:18 +09:00 c800j-universalk9-mz.SPA.158-3.M7.bin
- Imageの検証
念のためverifyでCiscoのDLページのMD5とここで表示されるMD5が等しいか確認する。
一緒であれば破損なくコピーできているはず。
C891FJ# verify flash:c800j-universalk9-mz.SPA.158-3.M7.bin
Starting image verification
Hash Computation: 100% Done!
Computed Hash SHA2: 5973F3FDC5946366532DE22937DEC77C
F7163917A2A9FF82BA07850A78F342F5
4CA87B0E626855F6795EF90EA47BBE2C
9001F30D0E74EA05EC400135B95B27E6
Embedded Hash SHA2: 5973F3FDC5946366532DE22937DEC77C
F7163917A2A9FF82BA07850A78F342F5
4CA87B0E626855F6795EF90EA47BBE2C
9001F30D0E74EA05EC400135B95B27E6
CCO Hash MD5 : 16D0D4A4B3CE297D5733203330A7FF0E
Digital signature successfully verified in file flash:c800j-universalk9-mz.SPA.158-3.M7.bin
- ブート変数の設定
グローバルコンフィグレーションモードより、ブート変数を設定する。
※ImegeがFlashに一つしかない場合は必要ないようです。今回はFlashに余裕があるので旧VerのImageと2つ存在しており、ブート変数がない場合はFlashの最初にあるイメージを起動してしまい、
意図しないバージョンが立ち上がってしまうためこの設定を行います。
C891FJ# conf t
C891FJ(config)# boot system flash c800j-universalk9-mz.SPA.158-3.M7.bin
C891FJ(config)# end
C891FJ# wr
Building configuration...
[OK][OK]
念のため、startupコンフィグを確認する。表示されればOK
C891FJ# show startup-config | i boot
boot-start-marker
boot system flash c800j-universalk9-mz.SPA.158-3.M7.bin
boot-end-marker
- リロード
リロードを行うが、SSHやTelnetだと切断されて様子がわからない。
コンソールケーブルがあれば、起動中の様子がわかるため推奨。
また、show ver
でコンフィグレーションレジスタが0x2102になっていることも確認しておくとよい。
C891FJ# reload
確認
- バージョン確認
起動してバージョンが新しいものに変わっていることを確認。
C891FJ# show version
Cisco IOS Software, C800 Software (C800-UNIVERSALK9-M), Version 15.8(3)M7, RELEASE SOFTWARE (fc2)
~
System image file is "flash:c800j-universalk9-mz.SPA.158-3.M7.bin"
- 事後ログ
事前ログと比べて問題ないかを確認しておく。
# terminal len 0
# show version
# show run
# show flash:
以上でバージョンアップ作業は完了となる。