Catalyst 3650/3850 アップグレード手順


# Catalyst 3650/3850 スイッチのバージョンアップ手順ガイド

## はじめに

Catalyst 3650/3850スイッチのIOS-XEバージョンアップを行う手順を解説します。本記事では、必要なコマンドや手順を具体的に示し、安全にバージョンアップを進める方法を解説します。
本記事はChatGPTで出力して一部修正を加えて執筆しています。表現の揺れなどがありますので予めご了承ください。

本記事の対象読者：
- Cisco Catalystスイッチの基本操作がわかる方
- IOSバージョンアップ手順を理解したい方

---

## 前提条件と準備

### 本記事の前提と注意事項
1. 作業対象はCatalyst 3650/3850シリーズのスイッチ
2. バージョンアップ作業によりネットワーク接続が一時的に停止する場合があるため、事前に作業時間を計画してください。
3. バージョンアップ対象のスイッチにアクセス可能な環境を準備してください（例: コンソール接続、Telnet、SSH）。
3. Stack構成で稼働しているケースは考慮していません。
3. Ver3.x と Ver16.x でコマンド体系が異なります。Ver16.x で検証しており、Ver3.x は弊社では未検証です。
3. Ver3.xからVer16.xにアップグレードするとダウングレードはできません。

### 必要なツールとファイル
1. **Cisco公式サイトでのダウンロード**
   - [Cisco公式サイト](https://software.cisco.com)にアクセスし、対象のスイッチに適合するIOSイメージをダウンロードします。
   - ダウンロードはご自身の責任でサポートされたVersionを選定してください。
   - ライセンス規約はCiscoの規約に沿って利用してください。

2. **FTPサーバーの準備**
   - バージョンアップ時に新しいIOSイメージをアップロードするため、FTPサーバーが必要です。
   - FTPサーバーの準備や転送方法は本記事では扱いません。
（後日、別途記事を作成した場合は追記します。）

---

## バージョンアップ手順

### 0. わかっている人用メモ
```
*事前にflashへOSをコピーする。

1.パッケージ展開　　*基本はinstall。OSによって失敗する場合はexpandを実行する
Switch# request platform software package install switch all file flash:<ファイル名>
Switch# request platform software package expand switch all file flash:<ファイル名>

2.Boot Variable設定
Switch(config)# boot system flash:packages.conf
*writeをかけて再起動

3.状態確認
Switch# show version

  Switch Ports Model              SW Version        SW Image              Mode
  ------ ----- -----              ----------        ----------            ----
  *    1 28    WS-C3650-24TS      16.12.12          CAT3K_CAA-UNIVERSALK9 INSTALL
  
Switch# show boot system
  
  Current Boot Variables:
  BOOT variable = flash:packages.conf;
  
  Boot Variables on next reload:
  BOOT variable = flash:packages.conf;
```

### 1. 事前確認
- **Configバックアップ**
  ```
  Switch# copy running-config startup-config
  Switch# copy running-config ftp:
  ```
  FTPサーバが利用できる場合はFTPでバックアップが可能です。
  Teratermなどの機能を利用して、ログを取得する方法でも構いません。

<br>

- **Version確認・モード確認**
  ```
  Switch# show version
  
  Switch Ports Model              SW Version        SW Image              Mode
  ------ ----- -----              ----------        ----------            ----
  *    1 28    WS-C3650-24TS      16.12.11          CAT3K_CAA-UNIVERSALK9 BUNDLE
  ```

  <details><summary>出力サンプル</summary><div>
  
  ```:show version
  Switch#show version
  Cisco IOS XE Software, Version 16.12.11
  Cisco IOS Software [Gibraltar], Catalyst L3 Switch Software (CAT3K_CAA-UNIVERSALK9-M), Version 16.12.11, RELEASE SOFTWARE (fc2)
  Technical Support: http://www.cisco.com/techsupport
  Copyright (c) 1986-2024 by Cisco Systems, Inc.
  Compiled Sun 31-Mar-24 12:30 by mcpre
  
  
  Cisco IOS-XE software, Copyright (c) 2005-2024 by cisco Systems, Inc.
  All rights reserved.  Certain components of Cisco IOS-XE software are
  licensed under the GNU General Public License ("GPL") Version 2.0.  The
  software code licensed under GPL Version 2.0 is free software that comes
  with ABSOLUTELY NO WARRANTY.  You can redistribute and/or modify such
  GPL code under the terms of GPL Version 2.0.  For more details, see the
  documentation or "License Notice" file accompanying the IOS-XE software,
  or the applicable URL provided on the flyer accompanying the IOS-XE
  software.
  
  
  ROM: IOS-XE ROMMON
  BOOTLDR: CAT3K_CAA Boot Loader (CAT3K_CAA-HBOOT-M) Version 6.06, RELEASE SOFTWARE (P)
  
  Switch uptime is 1 minute
  Uptime for this control processor is 3 minutes
  System returned to ROM by Reload Command
  System image file is "flash:cat3k_caa-universalk9.16.12.11.SPA.bin"
  Last reload reason: Reload Command
  
  
  
  This product contains cryptographic features and is subject to United
  States and local country laws governing import, export, transfer and
  use. Delivery of Cisco cryptographic products does not imply
  third-party authority to import, export, distribute or use encryption.
  Importers, exporters, distributors and users are responsible for
  compliance with U.S. and local country laws. By using this product you
  agree to comply with applicable laws and regulations. If you are unable
  to comply with U.S. and local laws, return this product immediately.
  
  A summary of U.S. laws governing Cisco cryptographic products may be found at:
  http://www.cisco.com/wwl/export/crypto/tool/stqrg.html
  
  If you require further assistance please contact us by sending email to
  export@cisco.com.
  
  
  Technology Package License Information:
  
  ------------------------------------------------------------------------------
  Technology-package                                     Technology-package
  Current                        Type                       Next reboot
  ------------------------------------------------------------------------------
  ipservicesk9            Smart License                    ipservicesk9
  None                    Subscription Smart License       None
  
  
  Smart Licensing Status: UNREGISTERED/EVAL MODE
  
  cisco WS-C3650-24TS (MIPS) processor (revision D0) with 794817K/6147K bytes of memory.
  Processor board ID FDO1907E0JD
  1 Virtual Ethernet interface
  28 Gigabit Ethernet interfaces
  2048K bytes of non-volatile configuration memory.
  4194304K bytes of physical memory.
  250456K bytes of Crash Files at crashinfo:.
  1609272K bytes of Flash at flash:.
  0K bytes of WebUI ODM Files at webui:.
  
  Base Ethernet MAC Address          : 84:b8:02:58:43:80
  Motherboard Assembly Number        : 73-15127-05
  Motherboard Serial Number          : FDO19070E28
  Model Revision Number              : D0
  Motherboard Revision Number        : A0
  Model Number                       : WS-C3650-24TS
  System Serial Number               : FDO1907E0JD
  
  
  Switch Ports Model              SW Version        SW Image              Mode
  ------ ----- -----              ----------        ----------            ----
  *    1 28    WS-C3650-24TS      16.12.11          CAT3K_CAA-UNIVERSALK9 BUNDLE
  
  
  Configuration register is 0x102
  
  Switch#
  ```
  
  </div></details>

  
  - 最後のブロックで「SW Version」と「Mode」が確認できます。
  - SW Version は 3.x と 16.x で**コマンド体系が異なります。**
  　*本記事では検証に16.xを使用しています。3.xのコマンドは参考情報です。
  - Modeには「Install」と「Bundle」があります。詳細は後述します。

<br>

- **Boot Variable確認**
  ```
  Switch# show boot system
  
  Current Boot Variables:
  BOOT variable = flash:cat3k_caa-universalk9.16.12.11.SPA.bin;
  ```

  <details><summary>出力サンプル</summary><div>
  
  ```:show boot system
  Switch# show boot system
  ---------------------------
  Switch 1
  ---------------------------
  Current Boot Variables:
  BOOT variable = flash:cat3k_caa-universalk9.16.12.11.SPA.bin;
  
  Boot Variables on next reload:
  BOOT variable = flash:cat3k_caa-universalk9.16.12.11.SPA.bin;
  Manual Boot = no
  Enable Break = no
  Boot Mode = DEVICE
  iPXE Timeout = 0
  Switch#
  ```
  
  </div></details>
  
  - Install mode の場合は「package.conf」が指定されています。
  - Bundle mode の場合は binファイルが直接指定されています。

<br>

- **NVRAM容量確認**
  ```
  Switch# show flash:
  
  564596736 bytes available (974979072 bytes used)

  Switch#
  ```
  <details><summary>出力サンプル</summary><div>
  
  ```:show flash:

  Switch#show flash:
  -#- --length-- ---------date/time--------- path
    2  482681593 Nov 28 2024 15:37:21.0000000000 +00:00 cat3k_caa-universalk9.16.12.12.SPA.bin
    3    2097152 Nov 28 2024 16:34:00.0000000000 +00:00 nvram_config
    4    2097152 Nov 28 2024 16:34:00.0000000000 +00:00 nvram_config_bkup
    5       4096 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support
    6      15305 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/igmp-snooping.tcl
    7       1612 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/igmpsn_dump.tcl
    8      13515 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/mld-snooping.tcl
    9       1612 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/mldsn_dump.tcl
   10      15241 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/multicast.tcl
   11       6284 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/multicast_dump.tcl
   12       6718 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/multicast_ipv6.tcl
   13       1365 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric-iid-ethernet.tcl
   14       2107 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric-iid-ipv4.tcl
   15       2109 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric-iid-ipv6.tcl
   16       2729 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric-vrf-ipv4.tcl
   17       2757 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric-vrf-ipv6.tcl
   18      52402 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric-vrf-source.tcl
   19        612 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric.tcl
   20       1548 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform_evpn_vxlan.tcl
   21      21852 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/port.tcl
   22       3270 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/port_dump.tcl
   23       7317 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/port_utils.tcl
   24      15655 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/stack.tcl
   25       4938 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/stackwise-virtual.tcl
   26      38541 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/unicast.tcl
   27      12653 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/unicast_dump.tcl
   28       5162 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/unicast_ipv6.tcl
   29       2864 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/unicast_ipv6_dump.tcl
   30        336 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/utils.tcl
   31         76 Nov 28 2024 16:32:07.0000000000 +00:00 boothelper.log
   32         35 Nov 28 2024 15:04:41.0000000000 +00:00 pnp-tech-time
   33       1247 Feb 25 2015 05:47:07.0000000000 +00:00 packages.conf.00-
   34       4096 Nov 28 2024 16:31:46.0000000000 +00:00 .installer
   35       4096 Oct 25 2022 14:21:22.0000000000 +00:00 .installer/issu_crash
   36         50 Nov 28 2024 16:31:44.0000000000 +00:00 .installer/last_pkgconf_shasum
   37        370 Nov 28 2024 16:31:49.0000000000 +00:00 bootloader_evt_handle.log
   38       4096 Oct 25 2022 14:23:07.0000000000 +00:00 core
   39       4096 Oct 25 2022 14:21:11.0000000000 +00:00 core/modules
   40          1 Nov 28 2024 16:48:55.0000000000 +00:00 core/.callhome
   41       4096 Nov 28 2024 16:33:37.0000000000 +00:00 .prst_sync
   42        233 Nov 28 2024 16:32:03.0000000000 +00:00 .prst_sync/log
   43         27 Nov 28 2024 16:33:57.0000000000 +00:00 .prst_sync/reload_history
   44       4096 Oct 25 2022 14:21:13.0000000000 +00:00 .rollback_timer
   45       4096 Oct 25 2022 14:21:17.0000000000 +00:00 gs_script
   46       4096 Nov 28 2024 16:32:03.0000000000 +00:00 dc_profile_dir
   47     281129 Nov 28 2024 16:32:03.0000000000 +00:00 dc_profile_dir/dc_default_profiles.txt
   48     410435 Nov 28 2024 16:32:03.0000000000 +00:00 dc_profile_dir/dc_embedded_profiles.txt
   49     410435 Nov 28 2024 16:32:03.0000000000 +00:00 dc_profile_dir/dc_embedded_profiles.txt.bkp
   50     281129 Nov 28 2024 15:02:11.0000000000 +00:00 dc_profile_dir/dc_default_profiles.txt.bkp
   51     132108 Nov 28 2024 16:32:25.0000000000 +00:00 memleak.tcl
   52       4096 Jul 02 2024 10:42:54.0000000000 +00:00 .dbpersist
   53       3141 Nov 28 2024 16:33:22.0000000000 +00:00 .dbpersist/stats
   54       4096 Nov 28 2024 15:10:01.0000000000 +00:00 .dbpersist/DMI_STATE_DB
   55      14942 Nov 28 2024 15:10:00.0000000000 +00:00 .dbpersist/DMI_STATE_DB/DMI_STATE_DB
   56         87 Nov 28 2024 16:33:22.0000000000 +00:00 .dbpersist/DMI_STATE_DB/DMI_STATE_DB.meta
   57          0 Nov 28 2024 16:33:32.0000000000 +00:00 rdope_out.txt
   58        545 Nov 28 2024 16:33:45.0000000000 +00:00 rdope.log
   59       4096 Oct 25 2022 14:23:06.0000000000 +00:00 onep
   60       4096 Oct 25 2022 14:23:06.0000000000 +00:00 onep/apps-cli
   61         76 Nov 28 2024 15:02:15.0000000000 +00:00 boothelper.old
   62  482611915 Jul 01 2024 01:58:07.0000000000 +00:00 cat3k_caa-universalk9.16.12.11.SPA.bin
   63     114322 Nov 28 2024 15:04:45.0000000000 +00:00 pnp-tech-discovery-summary
  564596736 bytes available (974979072 bytes used)
  
  Switch#
  ```
  
  </div></details>


  - 「xxx bytes available」が空き容量を示す。
  - OSファイルをアップロードし、展開する余裕があるか確認する。
  - 空き容量が足りない場合は一部ファイルを削除して容量を確保する。
    *誤ったファイルを削除すると動作しなくなる場合があるため、慎重に判断すること。

---

### 2. 新しいIOSイメージのアップロード
FTPサーバーを使用して、新しいIOSイメージをスイッチにアップロードします。
```:VRFを利用している場合
Switch# copy ftp: flash: vrf Mgmt-vrf
```
```:VRFを利用しない場合
Switch# copy ftp: flash:
```

アップロード完了後、イメージが正しく保存されているか確認します。
```
Switch# show flash:
```

  <details><summary>出力サンプル</summary><div>
  
  ```:show flash:
  Switch# show flash:
  -#- --length-- ---------date/time--------- path
    2  482681593 Nov 28 2024 15:37:21.0000000000 +00:00 cat3k_caa-universalk9.16.12.12.SPA.bin
    3    2097152 Nov 28 2024 16:34:00.0000000000 +00:00 nvram_config
    4    2097152 Nov 28 2024 16:34:00.0000000000 +00:00 nvram_config_bkup
    5       4096 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support
    6      15305 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/igmp-snooping.tcl
    7       1612 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/igmpsn_dump.tcl
    8      13515 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/mld-snooping.tcl
    9       1612 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/mldsn_dump.tcl
   10      15241 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/multicast.tcl
   11       6284 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/multicast_dump.tcl
   12       6718 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/multicast_ipv6.tcl
   13       1365 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric-iid-ethernet.tcl
   14       2107 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric-iid-ipv4.tcl
   15       2109 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric-iid-ipv6.tcl
   16       2729 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric-vrf-ipv4.tcl
   17       2757 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric-vrf-ipv6.tcl
   18      52402 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric-vrf-source.tcl
   19        612 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric.tcl
   20       1548 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform_evpn_vxlan.tcl
   21      21852 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/port.tcl
   22       3270 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/port_dump.tcl
   23       7317 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/port_utils.tcl
   24      15655 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/stack.tcl
   25       4938 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/stackwise-virtual.tcl
   26      38541 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/unicast.tcl
   27      12653 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/unicast_dump.tcl
   28       5162 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/unicast_ipv6.tcl
   29       2864 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/unicast_ipv6_dump.tcl
   30        336 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/utils.tcl
   31         76 Nov 28 2024 16:32:07.0000000000 +00:00 boothelper.log
   32         35 Nov 28 2024 15:04:41.0000000000 +00:00 pnp-tech-time
   33       1247 Feb 25 2015 05:47:07.0000000000 +00:00 packages.conf.00-
   34       4096 Nov 28 2024 16:31:46.0000000000 +00:00 .installer
   35       4096 Oct 25 2022 14:21:22.0000000000 +00:00 .installer/issu_crash
   36         50 Nov 28 2024 16:31:44.0000000000 +00:00 .installer/last_pkgconf_shasum
   37        370 Nov 28 2024 16:31:49.0000000000 +00:00 bootloader_evt_handle.log
   38       4096 Oct 25 2022 14:23:07.0000000000 +00:00 core
   39       4096 Oct 25 2022 14:21:11.0000000000 +00:00 core/modules
   40          1 Nov 28 2024 16:48:55.0000000000 +00:00 core/.callhome
   41       4096 Nov 28 2024 16:33:37.0000000000 +00:00 .prst_sync
   42        233 Nov 28 2024 16:32:03.0000000000 +00:00 .prst_sync/log
   43         27 Nov 28 2024 16:33:57.0000000000 +00:00 .prst_sync/reload_history
   44       4096 Oct 25 2022 14:21:13.0000000000 +00:00 .rollback_timer
   45       4096 Oct 25 2022 14:21:17.0000000000 +00:00 gs_script
   46       4096 Nov 28 2024 16:32:03.0000000000 +00:00 dc_profile_dir
   47     281129 Nov 28 2024 16:32:03.0000000000 +00:00 dc_profile_dir/dc_default_profiles.txt
   48     410435 Nov 28 2024 16:32:03.0000000000 +00:00 dc_profile_dir/dc_embedded_profiles.txt
   49     410435 Nov 28 2024 16:32:03.0000000000 +00:00 dc_profile_dir/dc_embedded_profiles.txt.bkp
   50     281129 Nov 28 2024 15:02:11.0000000000 +00:00 dc_profile_dir/dc_default_profiles.txt.bkp
   51     132108 Nov 28 2024 16:32:25.0000000000 +00:00 memleak.tcl
   52       4096 Jul 02 2024 10:42:54.0000000000 +00:00 .dbpersist
   53       3141 Nov 28 2024 16:33:22.0000000000 +00:00 .dbpersist/stats
   54       4096 Nov 28 2024 15:10:01.0000000000 +00:00 .dbpersist/DMI_STATE_DB
   55      14942 Nov 28 2024 15:10:00.0000000000 +00:00 .dbpersist/DMI_STATE_DB/DMI_STATE_DB
   56         87 Nov 28 2024 16:33:22.0000000000 +00:00 .dbpersist/DMI_STATE_DB/DMI_STATE_DB.meta
   57          0 Nov 28 2024 16:33:32.0000000000 +00:00 rdope_out.txt
   58        545 Nov 28 2024 16:33:45.0000000000 +00:00 rdope.log
   59       4096 Oct 25 2022 14:23:06.0000000000 +00:00 onep
   60       4096 Oct 25 2022 14:23:06.0000000000 +00:00 onep/apps-cli
   61         76 Nov 28 2024 15:02:15.0000000000 +00:00 boothelper.old
   62  482611915 Jul 01 2024 01:58:07.0000000000 +00:00 cat3k_caa-universalk9.16.12.11.SPA.bin
   63     114322 Nov 28 2024 15:04:45.0000000000 +00:00 pnp-tech-discovery-summary
  564596736 bytes available (974979072 bytes used)
  
  Switch#
  ```
  
  </div></details>


---

### 3. 新しいIOSの適用

#### **install mode と bundle mode とは**
Catalyst 3650/3850では、2つの運用モードがあります：
1. **install mode**（推奨）
   - IOSイメージをスイッチ内部で展開し、モジュールとして管理します。
2. **bundle mode**
   - 展開せずにイメージ全体を直接実行します。

bundle mode はメモリ消費量が増大することもあり推奨されていません。
余程のことがない限り install mode でインストールします。
本記事では install mode にする手順のみ記載しています。

#### **パッケージの展開**
アップロードしたIOSイメージを`install mode`で展開します。
```
switch# request platform software package install switch all file flash:<イメージ名>.bin
```
インストール時に以下のエラーが出る場合があります。
```
Switch#$ switch all file flash:cat3k_caa-universalk9.16.12.12.SPA.bin
--- Starting install local lock acquisition on switch 1 ---
Finished install local lock acquisition on switch 1

FAILED: switch local is not booted with provisioning file

Switch#
```

このエラーが出た場合はinstallコマンドではなくexpandコマンドを利用します。
```
switch# request platform software package expand switch all file flash:<イメージ名>.bin
```

展開後にflashを確認し、package.confがあることを確認します。
  ```:
  Switch# show flash:
  -#- --length-- ---------date/time--------- path
    2       4781 Nov 28 2024 17:36:20.0000000000 +00:00 packages.conf
  ```
  <details><summary>出力サンプル</summary><div>
  
  ```:show flash:
  Switch#show flash:
  -#- --length-- ---------date/time--------- path
    2       4781 Nov 28 2024 17:36:20.0000000000 +00:00 packages.conf
    3    2097152 Nov 28 2024 16:34:00.0000000000 +00:00 nvram_config
    4    2097152 Nov 28 2024 16:34:00.0000000000 +00:00 nvram_config_bkup
    5       4096 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support
    6      15305 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/igmp-snooping.tcl
    7       1612 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/igmpsn_dump.tcl
    8      13515 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/mld-snooping.tcl
    9       1612 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/mldsn_dump.tcl
   10      15241 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/multicast.tcl
   11       6284 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/multicast_dump.tcl
   12       6718 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/multicast_ipv6.tcl
   13       1365 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric-iid-ethernet.tcl
   14       2107 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric-iid-ipv4.tcl
   15       2109 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric-iid-ipv6.tcl
   16       2729 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric-vrf-ipv4.tcl
   17       2757 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric-vrf-ipv6.tcl
   18      52402 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric-vrf-source.tcl
   19        612 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform-fabric.tcl
   20       1548 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/platform_evpn_vxlan.tcl
   21      21852 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/port.tcl
   22       3270 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/port_dump.tcl
   23       7317 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/port_utils.tcl
   24      15655 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/stack.tcl
   25       4938 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/stackwise-virtual.tcl
   26      38541 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/unicast.tcl
   27      12653 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/unicast_dump.tcl
   28       5162 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/unicast_ipv6.tcl
   29       2864 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/unicast_ipv6_dump.tcl
   30        336 Nov 28 2024 16:32:03.0000000000 +00:00 tech_support/utils.tcl
   31         76 Nov 28 2024 16:32:07.0000000000 +00:00 boothelper.log
   32   20095620 Nov 28 2024 17:35:35.0000000000 +00:00 cat3k_caa-guestshell.16.12.12.SPA.pkg
   33   34849875 Nov 28 2024 17:35:41.0000000000 +00:00 cat3k_caa-rpbase.16.12.12.SPA.pkg
   34  401289852 Nov 28 2024 17:35:38.0000000000 +00:00 cat3k_caa-rpcore.16.12.12.SPA.pkg
   35    3418756 Nov 28 2024 17:35:39.0000000000 +00:00 cat3k_caa-srdriver.16.12.12.SPA.pkg
   36   23022208 Nov 28 2024 17:35:39.0000000000 +00:00 cat3k_caa-webui.16.12.12.SPA.pkg
   37         35 Nov 28 2024 15:04:41.0000000000 +00:00 pnp-tech-time
   38       1247 Feb 25 2015 05:47:07.0000000000 +00:00 packages.conf.00-
   39       4096 Nov 28 2024 16:31:46.0000000000 +00:00 .installer
   40       4096 Oct 25 2022 14:21:22.0000000000 +00:00 .installer/issu_crash
   41         50 Nov 28 2024 16:31:44.0000000000 +00:00 .installer/last_pkgconf_shasum
   42        370 Nov 28 2024 16:31:49.0000000000 +00:00 bootloader_evt_handle.log
   43       4096 Oct 25 2022 14:23:07.0000000000 +00:00 core
   44       4096 Oct 25 2022 14:21:11.0000000000 +00:00 core/modules
   45          1 Nov 28 2024 17:33:55.0000000000 +00:00 core/.callhome
   46       4096 Nov 28 2024 16:33:37.0000000000 +00:00 .prst_sync
   47        233 Nov 28 2024 16:32:03.0000000000 +00:00 .prst_sync/log
   48         27 Nov 28 2024 16:33:57.0000000000 +00:00 .prst_sync/reload_history
   49       4096 Oct 25 2022 14:21:13.0000000000 +00:00 .rollback_timer
   50       4096 Oct 25 2022 14:21:17.0000000000 +00:00 gs_script
   51       4096 Nov 28 2024 16:32:03.0000000000 +00:00 dc_profile_dir
   52     281129 Nov 28 2024 16:32:03.0000000000 +00:00 dc_profile_dir/dc_default_profiles.txt
   53     410435 Nov 28 2024 16:32:03.0000000000 +00:00 dc_profile_dir/dc_embedded_profiles.txt
   54     410435 Nov 28 2024 16:32:03.0000000000 +00:00 dc_profile_dir/dc_embedded_profiles.txt.bkp
   55     281129 Nov 28 2024 15:02:11.0000000000 +00:00 dc_profile_dir/dc_default_profiles.txt.bkp
   56     132108 Nov 28 2024 16:32:25.0000000000 +00:00 memleak.tcl
   57       4096 Jul 02 2024 10:42:54.0000000000 +00:00 .dbpersist
   58       3141 Nov 28 2024 16:33:22.0000000000 +00:00 .dbpersist/stats
   59       4096 Nov 28 2024 15:10:01.0000000000 +00:00 .dbpersist/DMI_STATE_DB
   60      14942 Nov 28 2024 15:10:00.0000000000 +00:00 .dbpersist/DMI_STATE_DB/DMI_STATE_DB
   61         87 Nov 28 2024 16:33:22.0000000000 +00:00 .dbpersist/DMI_STATE_DB/DMI_STATE_DB.meta
   62          0 Nov 28 2024 16:33:32.0000000000 +00:00 rdope_out.txt
   63        545 Nov 28 2024 16:33:45.0000000000 +00:00 rdope.log
   64       4096 Oct 25 2022 14:23:06.0000000000 +00:00 onep
   65       4096 Oct 25 2022 14:23:06.0000000000 +00:00 onep/apps-cli
   66         76 Nov 28 2024 15:02:15.0000000000 +00:00 boothelper.old
   67  482611915 Jul 01 2024 01:58:07.0000000000 +00:00 cat3k_caa-universalk9.16.12.11.SPA.bin
   68     114322 Nov 28 2024 15:04:45.0000000000 +00:00 pnp-tech-discovery-summary
  564568064 bytes available (975007744 bytes used)
  
  Switch#
  ```
  
  </div></details>


#### **boot設定の変更**
新しいOSを次回の起動時に使用するように設定します。
Boot Variablesを確認して、"packages.conf"が指定されていれば変更不要です。

```
Switch#show boot system

Current Boot Variables:
BOOT variable = flash:cat3k_caa-universalk9.16.12.11.SPA.bin;

Boot Variables on next reload:
BOOT variable = flash:cat3k_caa-universalk9.16.12.11.SPA.bin;

Switch#
```

binファイルが指定されていたため、設定変更を行います。

```
Switch# configure terminal
Switch(config)# boot system flash:packages.conf
Switch(config)# end
Switch#write memory
Building configuration...
[OK]
Switch#
```

Boot Variablesを再確認して、"packages.conf"が指定されていればOKです。

```
Switch# show boot system

Current Boot Variables:
BOOT variable = flash:packages.conf;

Boot Variables on next reload:
BOOT variable = flash:packages.conf;

Switch#
```

  <details><summary>古いbinが残っている場合</summary><div>

  次のような出力結果が出た場合は、古いbinの指定を消す必要があります。
  
  ```:
  Switch# show boot system
  ---------------------------
  Switch 1
  ---------------------------
  Current Boot Variables:
  BOOT variable = flash:cat3k_caa-universalk9.16.12.11.SPA.bin;flash:packages.conf;
  
  Boot Variables on next reload:
  BOOT variable = flash:cat3k_caa-universalk9.16.12.11.SPA.bin;flash:packages.conf;
  Manual Boot = no
  Enable Break = no
  Boot Mode = DEVICE
  iPXE Timeout = 0
  Switch#
  ```
  設定変更は"no"をつけて古い指定を消します。
  ```
  Switch# configure terminal
  Switch(config)# no boot system flash:cat3k_caa-universalk9.16.12.11.SPA.bin
  Switch(config)# end
  Switch#write memory
  Building configuration...
  [OK]
  Switch#
  ```
  Boot Variablesを再確認して、"packages.conf"のみになればOKです。
  ```
  Switch# show boot system
  
  Current Boot Variables:
  BOOT variable = flash:packages.conf;
  
  Boot Variables on next reload:
  BOOT variable = flash:packages.conf;
  
  Switch#
  ```

  </div></details>



---

### 4. 再起動と状態確認

#### **スイッチのリロード**
新しいIOSを適用するためにスイッチを再起動します。
```
Switch# reload
Reload command is being issued on Active unit, this will reload the whole stack
Proceed with reload? [confirm]

~~~~~後略~~~~~
```

#### **状態確認**
再起動後、状態確認を行います。
```
Switch# show version

Switch Ports Model              SW Version        SW Image              Mode
------ ----- -----              ----------        ----------            ----
*    1 28    WS-C3650-24TS      16.12.12          CAT3K_CAA-UNIVERSALK9 INSTALL

Switch#
```

- SW Version が新しいバージョンになっていることを確認する。
- Mode が "INSTALL" になっていることを確認する。

  <details><summary>出力サンプル</summary><div>
  
  ```:show version
  Switch#show version
  Cisco IOS XE Software, Version 16.12.12
  Cisco IOS Software [Gibraltar], Catalyst L3 Switch Software (CAT3K_CAA-UNIVERSALK9-M), Version 16.12.12, RELEASE SOFTWARE (fc2)
  Technical Support: http://www.cisco.com/techsupport
  Copyright (c) 1986-2024 by Cisco Systems, Inc.
  Compiled Thu 12-Sep-24 03:45 by mcpre
  
  
  Cisco IOS-XE software, Copyright (c) 2005-2024 by cisco Systems, Inc.
  All rights reserved.  Certain components of Cisco IOS-XE software are
  licensed under the GNU General Public License ("GPL") Version 2.0.  The
  software code licensed under GPL Version 2.0 is free software that comes
  with ABSOLUTELY NO WARRANTY.  You can redistribute and/or modify such
  GPL code under the terms of GPL Version 2.0.  For more details, see the
  documentation or "License Notice" file accompanying the IOS-XE software,
  or the applicable URL provided on the flyer accompanying the IOS-XE
  software.
  
  
  ROM: IOS-XE ROMMON
  BOOTLDR: CAT3K_CAA Boot Loader (CAT3K_CAA-HBOOT-M) Version 6.06, RELEASE SOFTWARE (P)
  
  Switch uptime is 1 minute
  Uptime for this control processor is 3 minutes
  System returned to ROM by Reload Command
  System image file is "flash:packages.conf"
  Last reload reason: Reload Command
  
  
  
  This product contains cryptographic features and is subject to United
  States and local country laws governing import, export, transfer and
  use. Delivery of Cisco cryptographic products does not imply
  third-party authority to import, export, distribute or use encryption.
  Importers, exporters, distributors and users are responsible for
  compliance with U.S. and local country laws. By using this product you
  agree to comply with applicable laws and regulations. If you are unable
  to comply with U.S. and local laws, return this product immediately.
  
  A summary of U.S. laws governing Cisco cryptographic products may be found at:
  http://www.cisco.com/wwl/export/crypto/tool/stqrg.html
  
  If you require further assistance please contact us by sending email to
  export@cisco.com.
  
  
  Technology Package License Information:
  
  ------------------------------------------------------------------------------
  Technology-package                                     Technology-package
  Current                        Type                       Next reboot
  ------------------------------------------------------------------------------
  ipservicesk9            Smart License                    ipservicesk9
  None                    Subscription Smart License       None
  
  
  Smart Licensing Status: UNREGISTERED/EVAL MODE
  
  cisco WS-C3650-24TS (MIPS) processor (revision D0) with 794817K/6147K bytes of memory.
  Processor board ID FDO1907E0JD
  1 Virtual Ethernet interface
  28 Gigabit Ethernet interfaces
  2048K bytes of non-volatile configuration memory.
  4194304K bytes of physical memory.
  250456K bytes of Crash Files at crashinfo:.
  1609272K bytes of Flash at flash:.
  0K bytes of WebUI ODM Files at webui:.
  
  Base Ethernet MAC Address          : 84:b8:02:58:43:80
  Motherboard Assembly Number        : 73-15127-05
  Motherboard Serial Number          : FDO19070E28
  Model Revision Number              : D0
  Motherboard Revision Number        : A0
  Model Number                       : WS-C3650-24TS
  System Serial Number               : FDO1907E0JD
  
  
  Switch Ports Model              SW Version        SW Image              Mode
  ------ ----- -----              ----------        ----------            ----
  *    1 28    WS-C3650-24TS      16.12.12          CAT3K_CAA-UNIVERSALK9 INSTALL
  
  
  Configuration register is 0x102
  
  Switch#
  ```
  
  </div></details>

---

## おわりに

以上がCatalyst 3650/3850スイッチのバージョンアップ手順です。以前のIOSと比べてパッケージ展開が必要になっている点と、パッケージ展開のコマンドが大きく変化した点で最初戸惑うと思います。
以前と同じ手順で行ってもBundleモードで成功してしまうため、より問題が潜在的になっていると思います。