内容

はじめに

要件

使用するコンポーネント

背景説明

インストールモードの概要

バンドル モード

インストール モード

アップグレードの方法

自動アップグレード

インストール モード

プロセスの概要

インストールモードのコマンド

バンドル モード

レガシー方式

Stackwise仮想

デュアル SUP

クアッド SUP

ISSU

アップグレードオプション

ReloadFast

クリーンアップ

トラブルシュート

V-Mismatch

ROMmon からの回復

メンバーにBINファイルがありません

スーパーパッケージは既にインストールされています

不適切なブート変数

シナリオ 1

シナリオ 2

関連情報

Cisco Bug ID

はじめに

このドキュメントでは、Catalyst 9000（Cat9K）スイッチのアップグレード方式について説明します。

要件

このドキュメントに関する固有の要件はありません。

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。

- C9200

- C9300

- C9400

- C9500

- C9600

注：シスコの他のプラットフォームでこれらの機能を有効にするために使用されるコマンドについては、該当するコンフィギュレーション ガイドを参照してください。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

背景説明

このドキュメントでは、バンドルモードまたはインストールモードのいずれかを使用するCatalyst 9000タイプのスイッチの新規および古いアップグレード手順について説明します。

インストールモードの概要

バンドル モード

バンドルモードは、スイッチが従来の方法で Cisco IOS® を実行していることを指す別名です。Cisco IOS を実行するために必要なすべてのものが含まれている .bin ファイルを起動します。従来の Cisco IOS と同様に、ロードする .bin ファイルを指し、起動時にロードされる boot ステートメントがあります。

Switch#show boot

BOOT variable = bootflash:cat9k_iosxe.16.11.01.SPA.bin;

Configuration Register is 0x102

MANUAL_BOOT variable = no

BAUD variable = 9600

ENABLE_BREAK variable does not exist

BOOTMODE variable does not exist

IPXE_TIMEOUT variable does not exist

CONFIG_FILE variable =

この boot ステートメントは、boot system コマンドを使用して設定する必要があります。 次回のリロード時に、スイッチは、16.11.01 ではなく 16.12.01 で起動します。

Switch#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Switch(config)#no boot system

Switch(config)#boot system bootflash:cat9k_iosxe.16.12.01.SPA.bin <---

Switch(config)#end

Switch#wr

Switch#

Switch#show run | include boot system

boot system bootflash:cat9k_iosxe.16.12.01.SPA.bin

Switch#

Switch#show boot

BOOT variable = bootflash:cat9k_iosxe.16.12.01.SPA.bin; <---

Configuration Register is 0x102

MANUAL_BOOT variable = no

BAUD variable = 9600

ENABLE_BREAK variable does not exist

BOOTMODE variable does not exist

IPXE_TIMEOUT variable does not exist

CONFIG_FILE variable =

インストール モード

インストールモードは、実行が推奨される新しいモードです。これにより、.bin ファイルがより小さな .pkg ファイルに分割されます。これらのファイルは、互いに独立してメモリにロードされる必要があります。これにより、起動が速くなり、メモリの使用率も改善されます。software.cisco.comからダウンロードする.binファイルには、必要なすべての.pkgファイルが含まれています。

注: .binファイルは.zipファイルと考えてください。 解凍して .pkg ファイルを取得することができます。必要な .pkg ファイルを示すために使用される設定ファイルもあります。インストールモードで起動するときに使用されるプロセスは、次のとおりです。

1. boot ステートメントを調べて、ロードする設定ファイル（通常、packages.conf）を決定します。

2. 設定ファイルが開かれ、このファイルを使用して、ロードする .pkg ファイルが選別されます。

3. .pkg ファイルがロードされ、Cisco IOS が起動プロセスを完了します。

- .conf ファイルは、ポインタとして使用される単なるテキストファイルであり、CLI から開いて確認することができます。

- この設定ファイルは、16.11.01 をロードするように設定されています。今回は、デバイスをアップグレードするために boot ステートメントを変更する必要はありません。必要なのは、新しい .pkg ファイルを指すように packages.conf ファイルを変更することだけです。

注：これは自動的に実行されるため、このファイルを直接編集する必要はありません。ただし、リロードを実行する前に、.conf ファイルを指しているパッケージファイルをチェックして、正しいファイルが指されていることを確認することができます。

Switch#more packages.conf

#! /usr/binos/bin/packages_conf.sh

<...snip...>

# This is for CAT9k

boot  rp 0 0   rp_boot         cat9k-rpboot.16.11.01.SPA.pkg

iso   rp 0 0   rp_base         cat9k-rpbase.16.11.01.SPA.pkg

iso   rp 0 0   rp_daemons      cat9k-rpbase.16.11.01.SPA.pkg

iso   rp 0 0   rp_iosd         cat9k-rpbase.16.11.01.SPA.pkg

iso   rp 0 0   rp_security     cat9k-rpbase.16.11.01.SPA.pkg

iso   rp 0 0   rp_wlc          cat9k-wlc.16.11.01.SPA.pkg

iso   rp 0 0   rp_webui        cat9k-webui.16.11.01.SPA.pkg

iso   rp 0 0   srdriver        cat9k-srdriver.16.11.01.SPA.pkg

iso   rp 0 0   guestshell      cat9k-guestshell.16.11.01.SPA.pkg

boot  rp 1 0   rp_boot         cat9k-rpboot.16.11.01.SPA.pkg

iso   rp 1 0   rp_base         cat9k-rpbase.16.11.01.SPA.pkg

iso   rp 1 0   rp_daemons      cat9k-rpbase.16.11.01.SPA.pkg

iso   rp 1 0   rp_iosd         cat9k-rpbase.16.11.01.SPA.pkg

iso   rp 1 0   rp_security     cat9k-rpbase.16.11.01.SPA.pkg

iso   rp 1 0   rp_wlc          cat9k-wlc.16.11.01.SPA.pkg

iso   rp 1 0   rp_webui        cat9k-webui.16.11.01.SPA.pkg

iso   rp 1 0   srdriver        cat9k-srdriver.16.11.01.SPA.pkg

iso   rp 1 0   guestshell      cat9k-guestshell.16.11.01.SPA.pkg

<...snip...>

#

# -start- superpackage .pkginfo

#

# pkginfo: Name: rp_super

# pkginfo: BuildTime: 2019-03-28_09.46

# pkginfo: ReleaseDate: Thu-28-Mar-19-01:19

# pkginfo: .BuildArch: x86_64

# pkginfo: BootArchitecture: i686

# pkginfo: .BootArch: i686

# pkginfo: RouteProcessor: cat9k

# pkginfo: Platform: CAT9K

# pkginfo: User: mcpre

# pkginfo: PackageName: universalk9

# pkginfo: Build: 16.11.01

# pkginfo: .SupportedBoards: cat9k

# pkginfo: .InstallModel:

# pkginfo: .PackageRole: rp_super

# pkginfo: .RestartRole: rp_super

# pkginfo: .UnifiedPlatformList: passport,nyquist,starfleet

# pkginfo: CardTypes:

# pkginfo: .CardTypes:

# pkginfo: .BuildPath: /scratch/mcpre/release/BLD-V16_11_01_FC3/binos/linkfarm/stage-cat9k/hard/rp_super_universalk9.x86_64

# pkginfo: .Version: 16.11.1.0.312.1553791584..Gibraltar

# pkginfo: .InstallVersion: 1.0.0

# pkginfo: .InstallCapCommitSupport: yes

#

# -end- superpackage .pkginfo

#

インストールモードでアップグレードを実行する場合、プロセスは常に同じです。ただし、コマンドはプラットフォームごとに異なる場合があります。

1. 新しい .bin ファイルをスイッチにコピーします。

2. .bin ファイルを解凍して .pkg ファイルを取得します。

3. .conf ファイルを更新し、デバイスを新しいバージョンにリロードします。

4. ロールバックタイマーを停止して、アップグレードが完了していることを確認します。

ほとんどの場合、1 つのコマンドでステップ 2 ～ 4 を実行できます。これにより、以前のバージョンにロールバックすることもできます。

アップグレードの方法

自動アップグレード

アクティブスーパーバイザがインストールモードで動作している場合、自動アップグレードを使用するのが最善です。これにより、スタンバイにロードされているイメージ（バンドル/インストールなど）に関係なく、アクティブ SUP がスタンバイ SUP をアップグレードできます。ただし、プロセスを開始するには、スタンバイを何らかの有効なイメージで起動する必要があります。

注：自動アップグレードでは、スーパーバイザはrommonから回復しません。

このコマンドを有効にすると、スイッチが不一致を検出した場合に、スタンバイ SUP を自動的にアップグレードします。

software auto-upgrade enable

または、アップグレードを手動で実行します

install autoupgrade

注：自動アップグレードは、アクティブシャーシがインストールモードであるかぎり、StackWise Virtual セットアップで機能します。

インストール モード

次のセクションでは、"install"コマンドの使用について説明します。すべての Cat9K が、これらのコマンドをサポートしています。ただし、これは、9600、9400、および 9200 では唯一のオプションです。

プロセスの概要

前述のように、アップグレードは 4 つの部分からなるプロセスです。ただし、ステップ 2 ～ 4 のコマンドは少し分かりにくいため、ここでは各コマンドの機能を説明します。

インストールモードのコマンド

制約事項

boot ステートメントは、インストールモードでは常に packages.conf である必要があります。アップグレードの途中で boot ステートメントを別の .conf ファイルに変更しようとすると、アップグレードが失敗する可能性があります。すでに「ADD」コマンドを実行している場合は、追加したパッケージをアクティブにするか、パッケージをクリーンアップしてやり直す必要があります。boot ステートメントを非アクティブパッケージに変更しないでください。

要約

インストールに移行するには、最初に boot ステートメントを packages.conf に変更し（まだ変更していない場合）、次に .bin ファイルを追加する必要があります。つまり、新しい .bin ファイルを TFTP または USB からブートフラッシュにコピーする必要があります。容量不足が原因でスイッチにファイルをコピーできない場合は、このドキュメントの「クリーンアップ」セクションを参照して、不要なファイルを削除してください。

これらのコマンドによってアップグレードが完了するため、他の手順を実行する必要はありません。ただし、アップグレードを 1 つのステップで完了したくない場合は、個別のステップに分割することができます。

configure terminal

no boot system

boot system bootflash:packages.conf

end

write

install add file bootflash:

activate commit

install add コマンド

- アップグレードを初めて開始するときは、現在のバージョンしかありません。

Switch#show install summary

[ R0 R1 ] Installed Package(s) Information:

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type  St   Filename/Version

--------------------------------------------------------------------------------

IMG   C    16.11.1.0.312

--------------------------------------------------------------------------------

Auto abort timer: inactive

--------------------------------------------------------------------------------

開始するには、作業するバージョンのリストに新しいバージョンを追加する必要があります。

install add file bootflash:cat9k_iosxe.16.12.01.SPA.bin

追加すると、フラッシュ内の .pkg ファイルが表示され、16.12.01 が非アクティブバージョンとしてリストに示されます。

Switch#dir | include .pkg

359097 -rw- 11359240 Sep 13 2019 16:10:08 +00:00 cat9k-cc_srdriver.16.11.01.SPA.pkg

359098 -rw- 84354052 Sep 13 2019 16:10:08 +00:00 cat9k-espbase.16.11.01.SPA.pkg

359099 -rw- 1676292 Sep 13 2019 16:10:08 +00:00 cat9k-guestshell.16.11.01.SPA.pkg

359100 -rw- 466576384 Sep 13 2019 16:10:08 +00:00 cat9k-rpbase.16.11.01.SPA.pkg

359106 -rw- 38552418 Sep 13 2019 16:10:30 +00:00 cat9k-rpboot.16.11.01.SPA.pkg

359101 -rw- 29877252 Sep 13 2019 16:10:08 +00:00 cat9k-sipbase.16.11.01.SPA.pkg

359102 -rw- 57259008 Sep 13 2019 16:10:08 +00:00 cat9k-sipspa.16.11.01.SPA.pkg

359103 -rw- 19936260 Sep 13 2019 16:10:08 +00:00 cat9k-srdriver.16.11.01.SPA.pkg

359104 -rw- 12321792 Sep 13 2019 16:10:08 +00:00 cat9k-webui.16.11.01.SPA.pkg

359105 -rw- 9216 Sep 13 2019 16:10:08 +00:00 cat9k-wlc.16.11.01.SPA.pkg

456963 -rw- 14222344 Sep 13 2019 17:05:35 +00:00 cat9k-cc_srdriver.16.12.01.SPA.pkg

456964 -rw- 88892420 Sep 13 2019 17:05:35 +00:00 cat9k-espbase.16.12.01.SPA.pkg

473282 -rw- 1684484 Sep 13 2019 17:05:35 +00:00 cat9k-guestshell.16.12.01.SPA.pkg

473283 -rw- 535475200 Sep 13 2019 17:05:35 +00:00 cat9k-rpbase.16.12.01.SPA.pkg

473289 -rw- 43111714 Sep 13 2019 17:06:00 +00:00 cat9k-rpboot.16.12.01.SPA.pkg

473284 -rw- 31425540 Sep 13 2019 17:05:35 +00:00 cat9k-sipbase.16.12.01.SPA.pkg

473285 -rw- 60183552 Sep 13 2019 17:05:35 +00:00 cat9k-sipspa.16.12.01.SPA.pkg

473286 -rw- 22676484 Sep 13 2019 17:05:35 +00:00 cat9k-srdriver.16.12.01.SPA.pkg

473287 -rw- 12854272 Sep 13 2019 17:05:35 +00:00 cat9k-webui.16.12.01.SPA.pkg

473288 -rw- 9216 Sep 13 2019 17:05:35 +00:00 cat9k-wlc.16.12.01.SPA.pkg

Switch#show install summary

[ R0 R1 ] Installed Package(s) Information:

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type  St   Filename/Version

--------------------------------------------------------------------------------

IMG   I    16.12.1.0.544 <-- Installed but still Inactive (I)

IMG   C    16.11.1.0.312

--------------------------------------------------------------------------------

Auto abort timer: inactive

--------------------------------------------------------------------------------

Switch#show install inactive

[ R0 R1 ] Inactive Package(s) Information:

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type  St   Filename/Version

--------------------------------------------------------------------------------

IMG   I    16.12.1.0.544  <-- Installed but still Inactive (I)

install activate コマンド

- リロードすると、バージョンがアクティブであるがコミットされていないことが分かります。

次の手順は、新しいバージョンをアクティブ化することです。

- これは、SUP をリロードし、新しいバージョンをロードすることを意味します。

- これにより、新しい .pkg ファイルを指すように .conf ファイルが編集されます。

install activate

デバイスをリロードする前に、リロードするかどうかの確認を求められます。

This operation may require a reload of the system. Do you want to proceed? [y/n]

Switch#show install sum

[ R0 R1 ] Installed Package(s) Information:

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type  St   Filename/Version

--------------------------------------------------------------------------------

IMG   U    16.12.1.0.544

--------------------------------------------------------------------------------

Auto abort timer: active on install_activate, time before rollback - 01:52:08   <--- when this hits zero, the device reloads back to original version.

--------------------------------------------------------------------------------

Switch#show install uncommitted

[ R0 R1 ] Uncommitted Package(s) Information:

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type  St   Filename/Version

--------------------------------------------------------------------------------

IMG   U    16.12.1.0.544

install commit

ロールバックタイマーを停止してアップグレードプロセスを完了するには、新しいバージョンをコミットする必要があります。

install commit

これはアップグレードプロセスの最後の手順であり、新しいバージョンがアクティブなコミット済みバージョンとして表示されるようになります。

Switch#show install summary

[ R0 R1 ] Installed Package(s) Information:

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type  St   Filename/Version

--------------------------------------------------------------------------------

IMG   C    16.12.1.0.544  <--- Now Active and Committed

--------------------------------------------------------------------------------

Auto abort timer: inactive

--------------------------------------------------------------------------------

install abort コマンド

activateコマンドを実行した後、コミットする前に、新しいバージョンに何らかの問題があると判断した場合は、アップグレードを中止できます。これにより、デバイスは、以前のバージョンに再度リロードされます。

install abort

プロンプトレベル

install コマンドの最後で、プロンプトレベルを「none」に設定することができます。これにより、質問への yes/no の回答が求められなくなります（通常、アップグレードの commit コマンドの最後で、リロードするかどうかを尋ねられます）。prompt-levelをnoneに設定すると、スイッチは準備が整い次第リロードします。

install add file bootflash:cat9k_iosxe.16.12.01.SPA.bin activate commit prompt-level none

自動アップグレードタイマー

アップグレードに時間がかかりすぎる場合、スイッチは、何か問題が発生したと判断し、自動的にアップグレードを中止します。デフォルトのタイマーは 120 分ですが、必要に応じて手動でタイマーを停止することができます。

install auto-abort-timer stop

アクティブ化の手順を実行するときにロールバックタイマーを設定することができます。

Switch#install activate auto-abort-timer ?

<30-1200>  Number of minutes the abort-timer is set for

バンドル モード

ここでは、.bin ファイル（.pkg ファイルではなく）を指す boot ステートメントを使用した、ソフトウェアアップグレードの従来の方式について説明します。

警告：スイッチをバンドルモードにアップグレードする場合は、スタック内のすべてのスイッチに.binがコピーされていることを確認してください。

Cisco IOS ファイルをロードしたら、boot ステートメントを変更してリロードするだけです。

configure terminal

no boot system

boot system bootflash:

end

write

reload

レガシー方式

注意：この方法は、9300および9500スイッチにのみ適用されます

ここでは、request platform コマンドの使用について説明します。このコマンドは 9500 と 9300 でサポートされています。

- この方法は、9300 または 9500 にはお勧めできません。前述の方法のいずれかを使用してください。

- これらのコマンドは 16.10.1 で廃止されたため、install コマンドを使用することをお勧めします。

- 最も重要な3つのコマンドを次に示します(さらに多くのオプションがありますが、これらのコマンドの代わりにinstall commands コマンドを使用することを推奨します)。

拡張

このコマンドにより、指定された任意の .bin ファイルが取得され、.pkg ファイルが抽出されます。

request platform software package expand switch all file flash:cat9k_iosxe.16.09.02.SPA.bin

注：スイッチがバンドルモードを使用している場合。最初に expand コマンドを実行してから、boot ステートメントを packages.conf に変更し、リロードしてインストールモードにします。

インストール

すでにインストールモードになっている場合は、次のコマンドを使用して別のバージョンに移行します。

request platform software package install switch all file flash:test auto-copy new

clean

次のコマンドは、install remove inactive と同じ機能です。

request platform software package clean

Stackwise仮想

デュアル SUP

StackWise Virtual は、デュアル SUP セットアップと非常によく似ています。通常のアップグレードを実行すると、両方のシャーシが同時にリブートします。

configure terminal

no boot system

boot sys bootflash:packages.conf

end

write

install add file bootflash:

activate commit

注:ISSUを実行するには、単一のシャーシでのデュアルスーパーバイザ設定に対して、stackwise仮想モードで行う必要がある考慮事項がもう1つあります。

- ISSU プロセス中に各シャーシが 1 回リロードされるため、1 つのシャーシにのみ接続されているデバイスはすべて、リブートサイクル全体でダウンします。

- この状況を回避するために、すべての接続にデュアルホーム MEC を使用することをお勧めします。ISSU の詳細については、ISSU に関するセクションを参照してください。

インストールモードのロールバック

アップグレードが完了した後に、必要に応じて以前のバージョンにロールバックすることができます。実際は、ファイルがまだフラッシュ上にあれば、複数のバージョンにロールバックできます。

Switch#show install rollback

ID      Label          Description

-----------------------------------------------

2    No Label        No Description

1    No Label        No Description

Switch#show install rollback id 1

Rollback id - 1 (Created on Fri Sep 13 13:14:40 2019)

Label: No Label

Description: No Description

Reload required: NO

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type  St   Filename/Version

--------------------------------------------------------------------------------

IMG   C    16.11.1.0.312

前の出力は、2 つのロールバックポイントがあることを示しています。最初のロールバックポイントは、16.11.01 にロールバックします（説明や日付を入力する場合は、ロールバックポイントにラベルを付けてください）。

Switch#install label 1 ?

description  Add a description to specified install point

label-name   Add a label name to specified install point

Switch#install label 1 label-name 16_11_01

install_add_label: START Fri Sep 13 16:43:48 UTC 2019

--- Starting install_add_label ---

Performing install_add_label on Active/Standby

[R0] install_add_label package(s) on R0

[R0] Finished install_add_label on R0

[R1] install_add_label package(s) on R1

[R1] Finished install_add_label on R1

Checking status of install_add_label on [R0 R1]

install_add_label: Passed on [R0 R1]

Finished install_add_label

SUCCESS: install_add_label  Fri Sep 13 16:43:57 UTC 2019

Switch#show install rollback

ID      Label          Description

-----------------------------------------------

2    No Label        No Description

1    16_11_01        No Description

ここでロールバックを実行する場合は、rollbackコマンドを実行するだけです。

install rollback to id 1

クアッド SUP

この記事の執筆時点ではサポートされていません。17.2.1 でサポートされる予定です。

ISSU

前のアップグレード方式では、単一の SUP のアップグレードまたは両方の SUP の同時アップグレードを実行できます。ただし、デュアル SUP の場合は、ISSU（In Service Software Upgrade）を実行できます。これにより、一度に 1 つの SUP をアップグレードできるため、停止がほとんどまたはまったく発生しません。

注：9300 xFSUの詳細については、このドキュメント『Catalyst 9300シリーズスイッチの拡張Fastソフトウェアアップグレードについて』を参照してください。

注意：ここに記載されているコマンドを実行すると、プロセスが開始され、SUP が自動的にリロードされます。SUP のリブートを開始する準備ができるまで、コマンドを実行しないでください。通常のアップグレードプロセスとは異なり、リロードが発生する前に確認を求められることはありません。

install add file bootflash:cat9k_iosxe.16.11.01.SPA.bin activate issu commit

- このコマンドを実行すると、ISSU プロセスは、ファイルを抽出し、スタンバイ SUP をリロードし、SSO に戻るのを待ってから、アクティブ SUP をフェールオーバーリロードします。

- ISSU は、インストールモードでのみサポートされます。アクティブなスーパーバイザがバンドルモードの場合、ISSU プロセスを実行することはできません。

- 9200 と 9300 は、ISSU をサポートしていません。 9300 は、ReloadFast をサポートしています。

アップグレードオプション

ReloadFast

- ReloadFast は、ダウンタイムを最小限に抑えるために、できるだけ多くのアップグレードをデータプレーンがオフラインになる前に完了する機能です。ReloadFast を使用する場合、スタック内のすべてのスイッチが同時にリロードされます。ただし、一般に、通常のインストールよりもはるかに高速にリブートします。

- 1 つのスイッチでも ReloadFast を実行できます。

- この機能は、バージョン 16.8.1 以降でサポートされています。インストールモードでのみサポートされます。

- 高速リロードの実行中に発生する可能性のあるループを防ぐために、STP ルートへのアップリンクが 1 つのスイッチでのみサポートされます。ポートチャネルは1つのアップリンクとしてカウントされます。

- アップグレードにマイクロコードまたは FPGA のアップグレードが必要な場合もサポートされません。

- C9300 は、上記のいずれかの理由で実行できない場合を除き、デフォルトで常に ReloadFast アップグレードを実行しようとします。ただし、次のコマンドを使用して、これを実行するように明示的に指示することができます。

install add file flash:cat9k_iosxe.16.10.01.SPA.bin activate reloadfast commit

クリーンアップ

アップグレードが完了したら、非アクティブファイルをすべて削除することで不要なすべてのファイルをクリーンアップするオプションがあります。このオプションは、現在ロードされている .pkg ファイルを調べて、その他をすべて削除します。削除予定のすべてのファイルを、削除する前に確認することができます。

install remove inactive

注：これにより、すべての .bin ファイルが削除されるため、アップグレードを実行する前にクリーンアップする場合は、必ず、新しい .bin ファイルにコピーする前にクリーンアップしてください。

トラブルシュート

V-Mismatch

「V-mismatch」と表示される場合は、スイッチで実行されているソフトウェアがアクティブスイッチと異なることを意味しています。インストールモードの場合は、自動アップグレードによってこれを解決するオプションがあります。バンドルモードの場合は、それほど簡単に解決することができません。

Switch#show switch

Switch/Stack Mac Address : f8b7.e206.4900 - Local Mac Address

Mac persistency wait time: Indefinite

H/W   Current

Switch#   Role    Mac Address     Priority Version  State

-------------------------------------------------------------------------------------

1       Member   701f.5300.fa00     15     V01     V-Mismatch  <---Indicates a version mismatch

*2       Active   f8b7.e206.4900     14     V01     Ready

オプション 1

- 不一致のスイッチをスタックから削除し、正しいバージョンにアップグレードしてから、スタックに再度追加します。

オプション 2

- 不一致のスイッチで boot ステートメントを変更することはできません。ただし、コンソールにアクセスでき、スイッチの ROMmon にアクセスできる場合は、手動で正しいバージョンで起動することができます。

注意：これを試みる前に、スイッチを回復できるように、スイッチへのコンソールアクセスが可能であることを確認してください。

オプション2の手順

1. スイッチをスタックして、ブート時の状V-Mismatch態にします。

2. 不要な古いイメージをこのスイッチから削除します（フラッシュ：不一致であってもファイルシステムにアクセスできます）。

3. 必要な新しい .bin ファイルをフラッシュにコピーします。

4. このスイッチだけ、電源を入れなおします（イメージが削除されているために起動に失敗し、スイッチが ROMmon になります）。

5. （コンソールから）手動で、フラッシュにコピーした新しいイメージで起動します。

6. 正しいイメージで起動すると、設定がアクティブスイッチから同期されます。

Switch#dir ?

/all             List all files

/recursive       List files recursively

all-filesystems  List files on all filesystems

cns:             Directory or file name

crashinfo-1:     Directory or file name

crashinfo-2:     Directory or file name

crashinfo:       Directory or file name

flash-1:         Directory or file name   <----Flash for switch #1

flash-2:         Directory or file name   <----Flash for switch #2

flash:           Directory or file name

ROMmon になったら、次のコマンドを使用します。

switch:  boot flash:cat9k_iosxe.16.12.01.SPA.bin <-- Image you copied that Active is running

オプション 3

- 最初の2つのオプションでは、通常、スタックをダウンさせることなく、不一致のスイッチを回復できます。

- ただし、これが新しい展開である場合またはスタック全体をリロードしても問題がない場合は、ファイルを不一致のスイッチから残りのスイッチにコピーし、残りのスイッチを新しいスイッチに一致させることができます（逆にしないでください）。

- このオプションはすべて Telnet から実行できるため、新しい展開で物理的なアクセス権がない場合に役に立つ可能性があります。

- それらが同期したら、それらすべてを適切なバージョンにアップグレードすることができます。

ROMmon からの回復

有効なイメージがなく、ROMmon になってスタックした場合は、USB を介してファイルをスイッチにコピーするか、TFTP を介してファイルをコピーすることができます。

オプション 1

次のコマンドを使用して、USBスティックから直接ブートします。

boot usbflash0:cat9k_iosxe.16.12.01.SPA.bin

オプション 2

TFTPサーバからのコピーは、もう少し注意が必要です。ラップトップを TFTP サーバーとしてセットアップし、イーサネットケーブルをデバイスの管理ポートに接続するか、デバイスの管理ポートを稼働中のデバイスのネットワークポートに接続する必要があります。その後に、イメージを使用してデバイスを TFTP サーバーとして設定します。

tftp-server flash:cat9k_iosxe.16.12.01.SPA.bin

Windows のファイアウォールやコンピュータアカウント権限の問題を心配する必要がないため、TFTP サーバーとして Cisco IOS を使用することをお勧めします。TFTP サーバーをセットアップしたら、これを ROMmon で設定する必要があります。

DEFAULT_GATEWAY=172.27.74.1

IP_ADDRESS=172.27.74.111

IP_SUBNET_MASK=255.255.255.0

TFTP_SERVER=172.19.64.31

TFTP サーバーへの ping を実行することにより、設定をテストします。

ping 172.19.64.31

接続が確立されたら、TFTP でファイルを直接起動します。

boot tftp://172.19.64.31/cat9k_iosxe.16.12.01.SPA.bin

注：ROMmon からの回復の詳細については、次のリンク先を参照してください：recover_from_corrupt_or_missing_file_image_or_in_rommon_mode

メンバーにBINファイルがありません

スタック内のすべてのメンバーデバイスに.binファイルが存在するかどうかを確認します。

ステップ 1：

show file systems:コマンドを使用して、スタックで使用されている命名規則を

Switch#show file systems

File Systems:

Size(b)       Free(b)      Type  Flags  Prefixes

-             -    opaque     rw   system:

-             -    opaque     rw   tmpsys:

*  11250098176    6275858432      disk     rw   bootflash: flash:         <- Name of Active Switch

11250171904    4123000832      disk     rw   bootflash-2:              <- Name of Standby Switch

1651314688    1344073728      disk     rw   crashinfo:

1651507200    1180696576      disk     rw   crashinfo-2:

236092686336  224026628096      disk     rw   disk0:

8166649856    8053047296      disk     ro   webui:

-             -    opaque     rw   null:

-             -    opaque     ro   tar:

-             -   network     rw   tftp:

33554432      33494025     nvram     rw   nvram:

-             -   network     rw   rcp:

-             -   network     rw   http:

-             -   network     rw   ftp:

-             -   network     rw   scp:

-             -   network     rw   sftp:

-             -   network     rw   https:

-             -    opaque     ro   cns:

33554432      33507337     nvram     rw   stby-nvram:

-             -     nvram     rw   stby-rcsf:

11250098176    4122718208      disk     rw   stby-bootflash:

1651314688    1180504064      disk     rw   stby-crashinfo:

-             -    opaque     rw   revrcsf:

注：十分なファイル領域がないというエラーが発生した場合、show file systemsはサイズと使用可能な空き領域を示します。

ステップ 2：

.binファイルの各ディレクトリを個別に確認します。

Switch#dir bootflash: | i .bin

81126   -rw-       1265422219  Jun 19 2023 03:04:30 +00:00  cat9k_iosxe.17.11.01.SPA.bin              <- The Active has 17.11.01.SPA.bin

194733  -rw-       1027574083  Jun 13 2023 01:33:41 +00:00  cat9k_iosxe.17.06.05.SPA.bin

Switch#dir bootflash-2: | i .bin

210971  -rw-       1027574083  Jun 29 2023 22:19:23 +00:00  cat9k_iosxe.17.06.05.SPA.bin              <- The Standby does not have 17.11.01.SPA.bin

注：インストールモードのデバイスでは、install addコマンドがコミットされるまで、アクティブなデバイス上に.binファイルだけが存在することが想定されています。問題が見つかった場合は、ステップ3に進みます。

ステップ 3：

手動による介入が必要な場合は、アクティブからメンバ/スタンバイに.binファイルをコピーするオプションが2つあります。

オプション 1

.binファイルをメンバ/スタンバイに直接コピーします。

Switch#copy bootflash:cat9k_iosxe.17.11.01.SPA.bin bootflash-2:

オプション 2

.binをUSBにコピーします（直接コピーできない場合）。

Switch#copy bootflash:cat9k_iosxe.17.11.01.SPA.bin usbflash0:

注意: USBはFAT32用にフォーマットする必要があり、スイッチがshow file systemsを使用してUSBを読み取ることを確認します。

USBにコピーしたら、それをスタンバイ/メンバに挿入します。

Switch#copy usbflash0:cat9k_iosxe.17.11.01.SPA.bin bootflash-2:

ステップ 4：

.binファイルがすべてのデバイスにあることを確認します。

Switch#dir flash: | i .bin

81126   -rw-       1265422219  Jun 19 2023 03:04:30 +00:00  cat9k_iosxe.17.11.01.SPA.bin           <- The Active has 17.11.01.SPA.bin

194733  -rw-       1027574083  Jun 13 2023 01:33:41 +00:00  cat9k_iosxe.17.06.05.SPA.bin

Switch#dir bootflash-2: | i .bin

210971  -rw-       1027574083  Jun 29 2023 22:19:23 +00:00  cat9k_iosxe.17.06.05.SPA.bin

210974  -rw-       1265422219  Jun 20 2023 03:32:23 +00:00  cat9k_iosxe.17.11.01.SPA.bin           <- The Standby now has 17.11.01.SPA.bin

スーパーパッケージは既にインストールされています

Super package already addedを示すfull install add file flash:name activate commitを実行しようとしてエラー出力が表示された場合、パッケージはすでに非アクティブ状態でロードされており、アクティブ化およびコミットの待機中であることを意味します。

Switch#install add file flash:cat9k_iosxe.17.11.01.SPA.bin activate commit

install_add_activate_commit: START Wed Jul 26 12:36:58 UTC 2023

*Jul 26 12:36:58.491: %INSTALL-5-INSTALL_START_INFO: R0/0: install_engine: Started install one-shot bootflash:cat9k_iosxe.17.11.01.SPA.bininstall_add_activate_commit: Adding PACKAGE

install_add_activate_commit: Checking whether new add is allowed ....

FAILED: install_add_activate_commit : Super package already added. Add operation not allowed. 'install remove inactive' can be used to discard added packages

この状態はshow install summaryコマンドを発行して確認できます

Switch#show install summary

[ R0 ] Installed Package(s) Information:

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type  St   Filename/Version

--------------------------------------------------------------------------------

IMG   C    17.06.05.0.5797

IMG   I    17.11.01.0.1324                                                          <- Here it is seen as Inactive

--------------------------------------------------------------------------------

Auto abort timer: inactive

--------------------------------------------------------------------------------

この問題を解決するには、2つの方法があります

オプション 1

install remove inactiveコマンドを実行して、追加したパッケージを削除します

Switch#install remove inactive

install_remove: START Wed Jul 26 13:42:14 UTC 2023

Cleaning up unnecessary package files

No path specified, will use booted path bootflash:packages.conf

Cleaning bootflash:

Scanning boot directory for packages ... done.

Preparing packages list to delete ...

cat9k-cc_srdriver.16.09.03.SPA.pkg

File is in use, will not delete.

cat9k-espbase.16.09.03.SPA.pkg

File is in use, will not delete.

<...snip...>

The following files will be deleted:

[R0]:

/bootflash/cat9k-cc_srdriver.17.06.05.SPA.pkg

/bootflash/cat9k-cc_srdriver.17.11.01.SPA.pkg

/bootflash/cat9k-espbase.17.06.05.SPA.pkg

/bootflash/cat9k-espbase.17.11.01.SPA.pkg

<...snip...>

Do you want to remove the above files? [y/n]y

[R0]:

Deleting file bootflash:cat9k-cc_srdriver.17.06.05.SPA.pkg ... done.

Deleting file bootflash:cat9k-cc_srdriver.17.11.01.SPA.pkg ... done.

Deleting file bootflash:cat9k-espbase.17.06.05.SPA.pkg ... done.

Deleting file bootflash:cat9k-espbase.17.11.01.SPA.pkg ... done.

<...snip...>

SUCCESS: Files deleted.

--- Starting Post_Remove_Cleanup ---

Performing Post_Remove_Cleanup on Active/Standby

[R0] Post_Remove_Cleanup package(s) on R0

[R0] Finished Post_Remove_Cleanup on R0

Checking status of Post_Remove_Cleanup on [R0]

Post_Remove_Cleanup: Passed on [R0]

Finished Post_Remove_Cleanup

オプション 2

install remove inactiveで問題が解決しない場合、インストール状態をクリアします

注意：この場合、デバイスをリロードする必要があります

Switch(config)#service internal                                        <- Service internal is required to be turned on for clear install state to work

Switch(config)#exit

Switch#clear install state

clear_install_state: START Wed Jul 26 12:25:09 UTC 2023

This command will remove all the provisioned SMUs, and rollback points. Use this command with caution.

A reload is required for this process. Press y to continue [y/n]y

--- Starting clear_install_state ---

Performing clear_install_state on Active/Standby

[1] clear_install_state package(s) on R0

[1] Finished clear_install_state on R0

Checking status of clear_install_state on [R0]

clear_install_state: Passed on [R0]

Finished clear_install_state

Send model notification for  before reload

Install will reload the system now!

確認オプション1と2の両方をshow install summaryコマンドで確認して、非アクティブイメージがないことを確認できます。

Switch#show install summary

[ R0 ] Installed Package(s) Information:

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type  St   Filename/Version

--------------------------------------------------------------------------------

IMG   C    17.06.05.0.5797                                                           <- 17.11.01 is no longer seen

--------------------------------------------------------------------------------

Auto abort timer: inactive

--------------------------------------------------------------------------------

問題なく、install add file flash:name activate commitを実行します

不適切なブート変数

このセクションでは、アップグレードの実行時に誤ったブート変数が設定された場合に発生する問題について説明します。

シナリオ 1

- Boot変数はbootflash:packages.confに設定されます

- 何らかの理由で、install add file flash:name activate commitが発生する前にスイッチがリロードされます

- これにより、packages.confファイルが破損するか、またはファイルが空になり、スイッチがブートパラメータを検出できません

Switch#show boot

BOOT variable = bootflash:packages.conf;

MANUAL_BOOT variable = no

スイッチがリブートまたはリロードされると、エラーが表示されます

Preparing to autoboot. [Press Ctrl-C to interrupt]  0

boot: attempting to boot from [bootflash:packages.conf]

ERROR: failed to boot from bootflash:packages.conf (Not Found)

Please wait while the system restarts.

Initializing Hardware......

- スイッチまたはスーパーバイザ上で物理的に(CTRL+C)またはModeボタンを押して、ROMMONモードに入ります

- setコマンドを発行します

- BOOT=変数を確認します。

switch:set

BAUD=9600

BOOT=bootflash:packages.conf;

BOOTLDR=packages.conf

BSI=0

<snip>

目的のIOSでブートするには、2つのオプションがあります

注：必要に応じて、以前のios binファイルを起動することもできます

オプション 1

新しいiosバージョンを使用した新しいブート文の設定

switch:BOOT=cat9k_iosxe.17.09.03.SPA.bin

BOOT設定が更新されていることを確認します。

switch:set

BAUD=9600

BOOT=bootflash:cat9k_iosxe.17.09.03.SPA.bin                                        <-Boot statement successfully updated

BOOTLDR=packages.conf

BSI=0

<snip>

オプション 2

スイッチがiosにロードされるまで、変数を変更せずに即時にブートする

switch:boot bootflash:cat9k_iosxe.17.09.03.SPA.bin

注：フラッシュに存在する.binファイルが不明な場合は、dir flash:を発行してファイルのリストを確認します

シナリオ 2

コマンドinstall add file flash:name activate commitが実行されますが、ブート変数はpackages.confではなく.binファイルに設定されます

Switch#show boot

Current Boot Variables:

BOOT variable = flash:cat9k_iosxe_npe.17.03.03.SPA.bin;

Boot Variables on next reload:

BOOT variable = flash:cat9k_iosxe_npe.17.03.03.SPA.bin;

Manual Boot = no

Enable Break = yes

Boot Mode = DEVICE

iPXE Timeout = 0

Switch#install add file flash:cat9k_iosxe.17.09.03.SPA.bin activate commit

install_add_activate_commit: START Tue Sep 12 15:01:12 UTC 2023

install_add_activate_commit: Adding PACKAGE

install_add_activate_commit: Checking whether new add is allowed ....

This operation requires a reload of the system. Do you want to proceed?

Please confirm you have changed boot config to flash:packages.conf [y/n]y

--- Starting initial file syncing ---

Info: Finished copying flash:cat9k_iosxe.17.09.03.SPA.bin to the selected switch(es)

Finished initial file syncing

<snip>

リロード時に、17.9.3を含むpackages.confではなく、17.3.3.SPA.binにスイッチをロードすると、出力が表示される場合があります。

Initializing Hardware......

System Bootstrap, Version 17.9.2r, RELEASE SOFTWARE (P)

Compiled Wed 11/23/2022 12:30:48.96 by rel

Current ROMMON image : Primary

Last reset cause     : CpuReset

C9500-12Q platform with 16777216 Kbytes of main memory

Preparing to autoboot. [Press Ctrl-C to interrupt]  0

boot: attempting to boot from [flash:cat9k_iosxe_npe.17.03.03.SPA.bin]

boot: reading file cat9k_iosxe_npe.17.03.03.SPA.bin

スイッチを起動したら、packages.confが17.9.3に正しく更新されていることを確認します。

Switch#more flash:packages.conf

boot   rp 0 0   rp_boot cat9k-rpboot.17.09.03.SPA.pkg

boot   rp 1 0   rp_boot cat9k-rpboot.17.09.03.SPA.pkg

iso   rp 0 0   rp_base cat9k-rpbase.17.09.03.SPA.pkg

iso   rp 1 0   rp_base cat9k-rpbase.17.09.03.SPA.pkg                                                       <-All .pkg set to 17.9.3 correctly

iso   rp 0 0   rp_daemons cat9k-rpbase.17.09.03.SPA.pkg

iso   rp 1 0   rp_daemons cat9k-rpbase.17.09.03.SPA.pkg

iso   rp 0 0   rp_iosd cat9k-rpbase.17.09.03.SPA.pkg

iso   rp 1 0   rp_iosd cat9k-rpbase.17.09.03.SPA.pkg

iso   rp 0 0   rp_security cat9k-rpbase.17.09.03.SPA.pkg

iso   rp 1 0   rp_security cat9k-rpbase.17.09.03.SPA.pkg

iso   rp 0 0   rp_wlc cat9k-wlc.17.09.03.SPA.pkg

iso   rp 1 0   rp_wlc cat9k-wlc.17.09.03.SPA.pkg

iso   rp 0 0   rp_webui cat9k-webui.17.09.03.SPA.pkg

iso   rp 1 0   rp_webui cat9k-webui.17.09.03.SPA.pkg

<snip>

ブート変数をflash:packages.confに変更します。

Switch(config)#no boot system

Switch(config)#boot system flash:packages.conf

Switch(config)#do wr                                                                  <- Configuration must be saved for boot variable to be updated properly before reloading

Switch#show boot

Current Boot Variables:

BOOT variable = flash:packages.conf;

Boot Variables on next reload:

BOOT variable = flash:packages.conf;

Manual Boot = no

Enable Break = yes

Boot Mode = DEVICE

iPXE Timeout = 0

スイッチをリロードしてインストールモードにし、17.9.3の適切なiosイメージを使用します

Switch#reload

Initializing Hardware......

System Bootstrap, Version 17.9.2r, RELEASE SOFTWARE (P)

Compiled Wed 11/23/2022 12:30:48.96 by rel

Current ROMMON image : Primary

Last reset cause     : CpuReset

C9500-12Q platform with 16777216 Kbytes of main memory

Preparing to autoboot. [Press Ctrl-C to interrupt]  0

boot: attempting to boot from [flash:packages.conf]                                           <-Boot variable correctly loading from packages.conf instead of .bin file

boot: reading file packages.conf

<snip>

スイッチがロードされた後のバージョンの確認

Switch#show version

Cisco IOS XE Software, Version 17.09.03

Cisco IOS Software [Cupertino], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.9.3, RELEASE SOFTWARE (fc6)

関連情報

『In-Service Software Upgrade (ISSU) on Catalyst 3850, Catalyst 9000 series switches』

Cisco Bug ID

Cisco Bug ID CSCvr29736 – 文書のバグ：9600はreloadfastを実行できません。

Cisco Bug ID CSCvr29864 – 機能拡張：9300 installコマンドにreloadfastを追加

Cisco Bug ID CSCvr29886 – 機能拡張：v-mismatchでスイッチのブート文を変更できるようにする

Cisco Bug ID CSCvr30159 – 機能拡張：install addコマンドの実行時に手動ブートのチェックを追加

Cisco Bug ID CSCvr30189 – 機能拡張：.binファイルを削除せずに「install add」を取り消すオプションを追加