Catalyst 9300 のバージョンアップ手順
Catalyst 9300 でバージョンアップする手順をメモしておきます。
ストレージ容量を空ける
リリースノートによると、新しい OS のインストールを実施する前に 1GB 以上の空きを確保しておくに記載されています。
Use this command to clean-up old installation files in case of insufficient space and to ensure that you have at least 1GB of space in flash, to expand a new image.
ファイルシステム全体の空き容量は show file systems で確認出来ます。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21  | C9300# show file systems
File Systems:
       Size(b)       Free(b)      Type  Flags  Prefixes
             -             -    opaque     rw   system:
             -             -    opaque     rw   tmpsys:
    1651314688    1183600640      disk     rw   crashinfo:
*  11353194496    4268130304      disk     rw   flash: bootflash:
    3840843776    3727015936      disk     ro   webui:
             -             -    opaque     rw   null:
             -             -    opaque     ro   tar:
             -             -   network     rw   tftp:
       2097152       2070035     nvram     rw   nvram:
             -             -    opaque     wo   syslog:
             -             -   network     rw   rcp:
             -             -   network     rw   http:
             -             -   network     rw   ftp:
             -             -   network     rw   scp:
             -             -   network     rw   sftp:
             -             -   network     rw   https:
             -             -    opaque     ro   cns:
  | 
 
利用していないパッケージ (.pkg ファイル) や OS バイナリ (.bin ファイル) を削除するには install remove inactive を実行します。
 | C9300# install remove inactive
    ・
    ・
    ・
Do you want to remove the above files? [y/n] y
    ・
    ・
    ・
SUCCESS: install_remove  Sun Mar  7 13:19:37 JST 2021
  | 
 
これで flash の空き容量が確保されました。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21  | C9300# show file systems
File Systems:
       Size(b)       Free(b)      Type  Flags  Prefixes
             -             -    opaque     rw   system:
             -             -    opaque     rw   tmpsys:
    1651314688    1183559680      disk     rw   crashinfo:
*  11353194496    9843171328      disk     rw   flash: bootflash:
    3840843776    3727015936      disk     ro   webui:
             -             -    opaque     rw   null:
             -             -    opaque     ro   tar:
             -             -   network     rw   tftp:
       2097152       2070035     nvram     rw   nvram:
             -             -    opaque     wo   syslog:
             -             -   network     rw   rcp:
             -             -   network     rw   http:
             -             -   network     rw   ftp:
             -             -   network     rw   scp:
             -             -   network     rw   sftp:
             -             -   network     rw   https:
             -             -    opaque     ro   cns:
  | 
 
OS バイナリのコピー
必要な空き容量が確保出来たら OS バイナリをコピーします。 TFTP によるコピーは非常に時間がかかるので、SCP や HTTP などでの転送をおすすめします。
SCP でのコピー
SCP でコピーを行う際は copy コマンドに vrf オプションを指定します。
 | C9300# copy scp: flash: vrf Mgmt-vrf
Address or name of remote host []? 10.0.0.1
Source username [admin]? root
Source filename []? cat9k_iosxe.17.03.03.SPA.bin
Destination filename [cat9k_iosxe.17.03.03.SPA.bin]?
Password:
 Sending file modes: C0644 901741775 cat9k_iosxe.17.03.03.SPA.bin
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  | 
 
HTTP でのコピー
HTTP でコピーを行う場合は copy コマンドに vrf オプションを指定することが出来ません。
 | C9300# copy http: flash: ?
  <cr>  <cr>
  | 
 
HTTP でコピーを行う際の送信元インターフェイス (VRF) はコンフィグ上、ip http client source-interface で設定されたインターフェイスが利用されます。 例えば Mgmt-vrf として設定された GigabitEthernet 0/0 を HTTP の送信元として利用する場合は以下のように設定します。
 | configure terminal
 ip http client source-interface GigabitEthernet 0/0
!
end
  | 
 
これで copy コマンドを実行すると ip http client source-interface で指定したインターフェイス (VRF) を送信元として copy コマンドが実行されます。
 | C9300# copy http: flash:
Address or name of remote host []? 10.0.0.1
Source filename []? /cat9k/cat9k_iosxe.17.03.03.SPA.bin
Destination filename [cat9k_iosxe.17.03.03.SPA.bin]?
Accessing http://10.0.0.1//cat9k/cat9k_iosxe.17.03.03.SPA.bin...
Loading http://10.0.0.1//cat9k/cat9k_iosxe.17.03.03.SPA.bin !!!!!
    ・
    ・
    ・
901741775 bytes copied in 85.640 secs (10529446 bytes/sec)
  | 
 
バージョンアップ前の準備
バージョンアップを実行する前に必要な環境変数を定義しておきます。
 | configure terminal
 boot system flash:packages.conf
 no boot manual
!
end
  | 
 
write memory を実行して設定を startup-config に反映しておきます。
 | C9300# write memory
Building configuration...
[OK]
  | 
 
copy running-config startup-config でも良いのですが、これは宛先ファイル名を確認される為、Destination filename の入力が必要です (Enter を押すだけですが…)。
 | C9300# copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]
  | 
 
show boot を実行し、下記の 2 点を確認します。
BOOT variable = flash:packages.conf; であること 
Manual Boot = no であること 
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13  | C9300# show boot
---------------------------
Switch 1
---------------------------
Current Boot Variables:
BOOT variable = flash:packages.conf;
Boot Variables on next reload:
BOOT variable = flash:packages.conf;
Manual Boot = no
Enable Break = no
Boot Mode = DEVICE
iPXE Timeout = 0
  | 
 
バージョンアップ
install add file [BINARY] activate commit を実行してバージョンアップを開始します。 y を入力してしばらくすると自動的にスイッチが再起動されます。
 | C9300# install add file flash:cat9k_iosxe.17.03.03.SPA.bin activate commit
    ・
    ・
    ・
This operation may require a reload of the system. Do you want to proceed? [y/n] y
  | 
 
再起動が完了すると指定したバージョンに変更されているはずです。
 | C9300# show version
Cisco IOS XE Software, Version 17.03.03
    ・
    ・
    ・
  | 
 
参考