基本的なIOSアップデート - Catalyst
CatalystのIOSをアップデートする基本的な手順について説明したページです。
冗長化されたCatalystでのIOSアップデート手順については「冗長構成でのIOSアップデート」をご参照下さい。
又、IOSの種類やアップデートの考え方については「IOSの選択」をご参照下さい。
IOSをアップデートする場合、まずはIOSの入手が必要です。
IOSは「Cisco Feature Navigator」で機能を調べた後、又は「Donwload Software」から直接IOSを選択してダウンロード出来ますが、多くのIOSはダウンロード出来ません。シスコシステムズ社とパートナー契約をしている会社等で利用出来るIDが必要です。
このため、通常は購入した代理店等を通じてIOSを入手します。
IOSをアップデードするためには、Catalyst側にファイルをダウンロードするための空き容量が必要です。
空き容量の確認は機種やハードウェア構成によって指定方法が異なりますが、show flash:、show slot0:、show disk0:、show bootflash:等でファイルシステムを指定して確認します。
以下にshow flash:の実行例を示します。
Switch# show flash: Directory of flash:/ 2 -rwx 1 Jun 11 2013 00:00:00 private-config.text 3 -rwx 2000000 Jun 13 2013 00:00:00 cxxxxx-universalk9-mz.yyy-y.yy.bin 4 -rwx 1000 Jun 22 2013 00:00:00 vlan.dat 16 -rwx 1000 Jun 21 2013 00:00:00 config.text 6 drwx 4000 Jun 22 2013 00:00:00 html xxxxxxxx bytes total (yyyyy bytes free)
上記の赤字部分で空き容量が分かるため、入手したIOSのファイルサイズを調べ、空き容量が不足していない事を確認します。
IOSのファイル名は緑の文字のように表示され、xxxxx部分が機種、yyy-y.yy部分がバージョン等を示しています。
ファイルシステムが分からない場合、show versionコマンドを実行するとSystem image file is "flash:・・・"等と表示されるため、IOSが配置されているファイルシステムが確認出来ます。
又、show file systemsで利用出来るファイルシステム一覧が表示されるため、show flash:等でどこにIOSが配置されているか探す事も出来ます。
どのIOSファイルから起動する設定になっているか事前に確認が必要です。
ボックス型Catalystのデフォルトはコンフィグで指定したIOSから起動するようになっていますが、Catalyst4500等の一部機種ではファイルシステムで最初に見つかったIOSから起動する事がデフォルトになっています。
どちらになっているかはコンフィギュレーションレジスタで確認出来ます。
Switch# show version: ・・・ <略> Configuration register is 0x2102
上記のように最後の数字が2以上であればコンフィグで指定したIOSファイルから起動します。0x2101等のように最後の数字が1の場合でIOSファイルが2つあると、最初に見つけたファイルから起動されてしまいます。
因みに、0の場合はIOSファイルを読み込まずに起動途中のモードで停止してしまいます。この場合、起動途中のモード上で手動によるIOSファイル指定が必要です。
CatalystにIOSをダウンロードする方法はTFTP、RCP等がありますが、ここではFTPによるダウンロード方法をご紹介します。
Windows7等ではFTPサーバーを構成出来ます。このため、Catalystの初期導入や交換で、パソコンとツイストペアケーブルを直結してダウンロードしたい時に、簡単に準備出来ます。
FTPサーバーを有効にするには、「コントロールパネル」→「プログラム」→「Windowsの機能の有効化または無効化」を選択し、表示された機能一覧で「インターネットインフォメーションサービス」の中に「FTPサーバー」、その中に「FTPサービス」があるため、チェックします。
又、「Web管理ツール」の中に「IIS管理コンソール」があるため、これもチェックを入れて「OK」をクリックします。
上記の操作で「コントロールパネル」→「システムとセキュリティ」→「管理ツール」を選択して表示される画面で「インターネットインフォメーションサービス(IIS)マネージャー」というのが追加されています。
上記をダブルクリックすると以下の画面が表示されるため、画面左の方で右クリックして「FTPサイトの追加...」を選択します。
表示された画面で「FTPサイト名」はFTP等適当に付けて大丈夫ですが、物理パスはIOSのファイルがある場所を指定します。右の「...」をクリックするとエクスプローラーと同様の操作でフォルダを選択出来ます。
「次へ」をクリックすると以下の画面が表示されるため、利用するIPアドレスを選択して「FTPサイトを自動的に開始する」のチェックを外します。又、SSLは「無し」をチェックします。
「FTPサイトを自動的に開始する」のチェックを外すのは、パソコン起動時に自動でFTPサーバー機能が有効になるのを防ぐ為です。
「次へ」をクリックすると以下の画面が表示されるため、認証では「匿名」をチェックし、「承認」では「匿名ユーザー」を選択します。
選択後は上記でグレーで表示されている「読み取り」がチェック出来るため、チェックして「終了」をクリックします。
FTPサーバーの設定が出来た後は「インターネットインフォメーションサービス(IIS)マネージャー」でサイト→「FTPサイトの管理」→「開始」の順で選択し、FTPサーバー機能を開始します。
FTPサーバー機能を開始後、コマンドプロンプトで"ftp パソコンのIPアドレス"でFTPサーバー機能が有効になっている事を確認します。匿名接続を有効にしているため、ユーザー名はanonymousで、パスワードはdd@example.com等適当で接続出来ます。
接続後はlsコマンド等でIOSのファイルが参照出来る事を確認します。
尚、通常はパソコンのファイアウォールが有効になっているため、一時的に無効にして下さい。Windows標準のファイアウォールであれば、「コントロール パネル」→「システムとセキュリティ」→「Windows ファイアウォール」→「Windowsファイアウォールの有効化または無効化」で無効に出来ます。
又、IOSをアップデートした後は、「インターネットインフォメーションサービス(IIS)マネージャー」でサイト→「FTPサイトの管理」→「停止」の順で選択してFTPサーバー機能を停止出来ます。
FTPサーバー機能を有効にしておくと、不正アクセスの被害に合う可能性があるため、通常のネットワークに接続する際は必ず無効にしておく必要があります。又、ファイアウォール機能を有効にするのも忘れないようにして下さい。
CatalystにIOSをダウンロードする前にCatalystにIPアドレスが設定されていない場合は、「初期設定」の「IPアドレスとデフォルトゲートウェイの設定」で示したIPアドレスの設定等を行います。パソコン側もCatalystと通信出来るIPアドレスやサブネットマスクに設定する必要があります。
設定後、Catalystからパソコンに対してpingを実行して応答がある事を確認します。
通信可能な状態になると、Catalystで以下コマンドを実行してCatalystにIOSをファイル転送します。
Switch# copy ftp://username:password@172.16.1.1/IOSファイル名.bin disk0:
Destination filename [IOSファイル名.bin]?Enter
Accessing ftp://username:password@172.16.1.1/IOSファイル名.bin.
..
Loading /IOSファイル名.bin !!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
以下略
赤字のusername、passwordはFTPサーバーで使えるユーザー名とパスワードを指定します。匿名での接続を許可している場合はusernameはanonymous、passwordはdd@example.com等適当で大丈夫です。オレンジ色の部分はFTPサーバーのIPアドレスです。パソコンでFTPサーバーを構成している場合はパソコンのIPアドレスを指定します。
黄色の部分はIOSのファイル名です。入手したIOSのファイル名を指定します。紫の部分はダウンロード先のファイルシステムを示します。既存のIOSと同じファイルシステムを指定します。
緑の部分はダウンロード先のファイル名確認のため、そのままエンターキーを押します。
ダウンロード後はshow ファイルシステム(disk0:等)でファイルが存在する事を確認します。
尚、ファイアウォールを停止していても転送に失敗する場合、FTPサイト作成時に指定するフォルダが間違っている事が多いため、確認をお奨めします。
又、今回はFTPによるダウンロードを説明しましたが、TFTPやRCP等でもダウンロード出来ます。指定方法はコマンド一覧の「copy」をご参照下さい。
ダウンロード後は以下のように新IOSで起動するように設定します。
Switch# configure terminal Switch(config)# no boot system flash disk0:古いIOSファイル名.bin Switch(config)# boot system flash disk0:新しいIOSファイル名.bin Switch(config)# exit Switch# copy running-config startup-config
赤字の部分はIOSを配置しているファイルシステムを指定します。
緑の部分は指定しなくて良い場合もあります。その場合、例えばboot system flash:新しいIOSファイル名.bin等になります。
ブートファイル指定後はreloadコマンドで新しいIOSから起動させる事でアップデートは完了します。
尚、スタック構成の時はflash1、flash2等各スイッチのファイルシステムにbinファイルをダウンロードし、その後boot system switch all flash:新しいIOSファイル名.binと指定する必要があります。
又、コンフィギュレーションレジスタが0x2101等になっている場合は、再起動前に以下のように指定する必要があります。
Switch# configure terminal Switch(config)# config-register 0x2102 Switch(config)# exit Switch# copy running-config startup-config
上記設定によりshow versionで確認するとコンフィギュレーションレジスタの部分がConfiguration register is 0x2101 (will be 0x2102 at next reload)等となり、再起動時に変更される事が確認出来ます。
アップデート後は正常にアップデートされたかshow versionコマンドで確認します。
Switch# show version
Cisco IOS Software,Cxxxxx Software (Cxxxxx-UNIVERSALXK9-M), Version 15.0(1)SE3, RELEASE SOFTWARE(fc3)
以下略
赤字部分がバージョンを示します。15.0の部分は機能拡張等のメジャーリリースを示し、(1)部分はバグ修正等のメンテナンスバージョン、SE3部分はサポートしているハードに付随して変わります。
もし、古いバージョンで起動している場合は、コンフィギュレーションレジスタの変更し忘れの可能性があります。
新しいIOSで正常に起動された事を確認後、古いIOSを削除する事も検討します。
古いIOSはdeleteコマンドで削除可能です。
Switch# delete disk0:古いIOSファイル名.bin
Delete filename [古いIOSファイル名.bin]?Enter
削除後はshow ファイルシステム(disk0:等)で空き容量が増えた事を確認しますが、増えない場合もあります。
deleteコマンドでは削除後にファイルを復活出来るファイルシステムもあるためです。その場合、squeezeコマンドを実行します。
Switch# squeeze disk0:
Catalyst2960(-X)や3650(-X)、3750(-X)等のスイッチではbin拡張子を持つIOSだけでなく、HTMLファイルと一緒になったtar拡張子を持つファイルもあります。
こういったスイッチではtarファイルを使ってアップデートする事が推奨されています。
tarファイルを使う場合、FTPサーバーの準備をした後、以下のコマンドでアップデート出来ます。
Switch# archive download-sw /overwrite /reload ftp://username:password@172.16.1.1/ファイル名.tar
赤字のusername、passwordはFTPサーバーで使えるユーザー名とパスワードを指定します。匿名での接続を許可している場合はusernameはanonymous、passwordはdd@example.com等適当で大丈夫です。オレンジ色の部分はFTPサーバーのIPアドレスです。パソコンでFTPサーバーを構成している場合はパソコンのIPアドレスを指定します。
黄色の部分はtarファイル名です。パソコンに保存したファイル名を指定します。
上記により古いIOSは削除され、新しいIOSで起動するようにブートファイルが指定されます。又、コマンド実行後に再起動されます。
つまり、IOSダウンロード後の操作や古いIOSの削除といった手順が1つのコマンドで出来ます。
/overwriteの代わりに/leave-old-swを指定すると古いIOSは削除されません。又、/reloadを指定しない場合は自動的に再起動されないため、後で再起動させる事が出来ます。
尚、スタック構成の場合、自動的に他のスイッチにもファイルがコピーされます。
又、FTPではなく、TFTPやRCPを使う場合の指定方法はコマンド一覧の「copy」をご参照下さい。
Catalyst3650や3850等のスイッチではデフォルトがインストールモードといって、packages.confファイルを読み込んで起動します。packages.confファイルによりIOS XEの起動に必要なパッケージがどれか分かるようになっています。
boot systemコマンドで起動時にbinファイルを読み込む方法はバンドルモードと言います。
どちらのモードになっているかはshow versionコマンドで確認出来ます。
Switch# show version
Cisco IOS Software, IOS-XE Software, Catalyst L3 Switch Software (CAT3K_CAA-UNIVERSALK9-M), Version 03.xx.xxxx RELEASE SOFTWARE (xxx)
・・・
Switch Ports Model SW Version SW Image Mode
------ ----- ----- ---------- ---------- ----
* 1 24 WS-C3850 03.xx.xxxx cxxxx_caa-universalk9 INSTALL
インストールモードではファイルシステムにIOS XEをダウンロード後、以下のコマンドでアップデート出来ます。
Switch# software install file flash:IOSフィル名.bin
Preparing install operation ...
・・
※パッケージファイルが展開されます。
・・
[1]: Do you want to proceed with reload? [yes/no]: yes
赤字部分がCatalystにダウンロードしたIOS XEファイル名です。
途中binファイルからpkgファイルが展開され、新しいIOSで動作するようpackages.confファイルも書き換えられます。
最後に装置が再起動され、アップデートが完了します。
スタック構成の時は、他のスイッチにも自動的にファイルが展開されます。
アップデート後は以下のコマンドで、新IOS XE用に書き換えられたpackages.confファイルにリストされていない、古いIOS XEのpkgやbin拡張子を持つファイルを削除出来ます。
Switch# software clean
Preparing clean operation ...
・・
※削除されるファイル等が表示されます。
・・
[1]: Do you want to proceed with the deletion? [yes/no]: yes
スタック構成では、他スイッチのファイルも合わせて削除してくれます。
次のページ「冗長構成でのIOSアップデート」
- 設定編「IOSの選択」