Cisco APIC スタートアップ ガイド
APIC コントローラおよびスイッチのソフトウェアのアップグレード
APIC コントローラおよびスイッチのソフトウェアのアップグレード

目次

APIC コントローラおよびスイッチのソフトウェアのアップグレード

この章の内容は、次のとおりです。

APIC コントローラとスイッチのソフトウェア アップグレードについて

ファブリックには、3 種類のアップグレード可能なソフトウェア イメージがあります。

  • APIC コントローラ ソフトウェア イメージ:APIC コントローラ上で動作するソフトウェアで構成されます。

  • スイッチ ソフトウェア イメージ:ACI ファブリック内のスイッチ(リーフおよびスパイン)で動作するソフトウェアで構成されます。

  • カタログ イメージ:ベンダーで作成された内部ポリシー(シスコ製など)で構成されます。 これらの内部ポリシーには、ハードウェアの各モデルの機能、ソフトウェアの異なるバージョン間の互換性、およびハードウェアと診断テストに関する情報が含まれます。 カタログ イメージは、コントローラ イメージに付随して暗黙的にアップグレードされます。 時折、カタログ イメージだけをアップグレードする必要がある場合があります。 この場合、カタログ イメージはコントローラ ソフトウェアと別個にアップグレードする必要があります。 そのようなアップグレードの例が当てはまるのは、ベンダーが一組の新しい診断ポリシーを公開する場合です。

次の順序でファブリックをアップグレードすることを推奨します。

  1. APIC コントローラ のソフトウェア イメージ

  2. すべてのスパインおよびリーフ スイッチ用のスイッチ ソフトウェア イメージ


    (注)  


    スイッチ(リーフおよびスパイン)を奇数と偶数などの 2 グループに分けます。 2 グループ間でスパイン スイッチを均等に分割していることを確認します。 1 つ目のグループをアップグレードしてから他方のグループをアップグレードします。


ファームウェア管理について

ファームウェア リポジトリ:ソフトウェア イメージの分散リポジトリ ファームウェア ソース ポリシーを設定した場合、ソフトウェア イメージは、外部サーバ(HTTP または(SCP)からファームウェア リポジトリにダウンロードされます。 イメージが外部ソースからダウンロードされると、クラスタのすべてのコントローラにわたって複製されます。 スイッチはアップグレード中にイメージを必要になった場合、到達可能なコントローラからイメージを取得します。

ファームウェア グループおよびファームウェア ポリシー:ファームウェア ポリシーを設定する対象のノードのグループ ファームウェア ポリシーはファームウェアの必要なバージョンを指定します。 ファームウェア ポリシーは、ファームウェア アップグレードに関する「何」を指定します。

メンテナンス グループおよびメンテナンス ポリシー:ユーザがメンテナンス ポリシーを設定するノードのグループ メンテナンス ポリシーは、アップグレードのスケジュールを指定します。 メンテナンス ポリシーはファームウェア アップグレードに関する「いつ」と「どのように」を指定します。

すべてのコントローラは、事前定義されたファームウェア グループと事前定義されたメンテナンス グループに含まれます。 コントローラ グループ メンバシップは設定可能ではなく、変更できません。 ただし、コントローラ ファームウェア ポリシーおよびコントローラ メンテナンス ポリシーは変更できます。

スイッチをアップグレードする前に、スイッチのファームウェア グループを 1 つ以上とメンテナンス グループを 1 つ以上作成する必要があります。

GUI を使用したソフトウェアのアップグレード

GUI を使用した APIC コントローラ ソフトウェアのバージョン アップグレード


(注)  


APIC コントローラのファームウェア イメージを最初にアップグレードしてから、スイッチを新しいファームウェア イメージでアップグレードすることを推奨します。


手順
    ステップ 1   メニュー バーで [ADMIN] > [Firmware] を選択し、[Navigation] ペインで [Controller Firmware] をクリックします。 [Work] ペインで、APIC コントローラが各コントローラにロードされた現在のファームウェアを表示します。 ファームウェアが最後にアップグレードされたときの状態も表示されます。
    ステップ 2   [Navigation] ペインで、[Controller Firmware] をクリックします。 APIC コントローラの現在のファームウェア バージョンが [Work] ペインで [Current Firmware] の下に表示されます。
    ステップ 3   [ADMIN] > [Firmware] を選択して、[Navigation] ペインの [Download Tasks] をクリックします。
    ステップ 4   [Work] ペインで、[General] > [Actions] を選択し、[Create Outside Firmware source] をクリックします。
    ステップ 5   [Create Outside Firmware Source] ダイアログボックスで、次の操作を実行します。
    1. [Source Name] フィールドに、APIC イメージ ファイルの名前(apic_image)を入力します。
    2. [Protocol] フィールドで、[HTTP] オプション ボタンをクリックします。
      (注)      http ソース、または セキュア コピー プロトコル(SCP)ソースからソフトウェア イメージをダウンロードする場合、適切なオプション ボタンをクリックします。
    3. [URL] フィールドに、イメージをダウンロードする URL を入力します。 [Submit] をクリックします。
    APIC コントローラのファームウェア イメージがダウンロードされるのを待ちます。
    ステップ 6   [Navigation] ペインで、[Download Tasks] をクリックします。 [Work] ペインで、[Operational] をクリックして、イメージのダウンロード状態を表示します。 [Navigation] ペインで、ダウンロードが 100% に達したら、[Firmware Repository] をクリックします。 [Work] ペインに、ダウンロードされたバージョン番号およびイメージ サイズが表示されます。
    ステップ 7   [Navigation] ペインで、[Controller Firmware] をクリックします。 [Work] ペインで、[Actions] > [Upgrade Controller Firmware Policy] を選択します。 [Upgrade Controller Firmware Policy] ダイアログボックスで、次の操作を実行します。
    1. [Ignore Compatibility Check] フィールドのチェックボックスをオンにします。
    2. [Target Firmware Version] フィールドで、ドロップダウン リストから、アップグレードするイメージ バージョンを選択します。
    3. [Apply Policy] フィールドで、[Apply Now] のオプション ボタンをクリックします。 [Submit] をクリックします。

    [Status] ダイアログボックスに「Changes Saved Successfully」というメッセージが表示されて、アップグレード プロセスが開始されます。 コントローラのクラスタがアップグレード中に使用できるように、APIC コントローラは一度に 1 台だけがアップグレード可能で順次実行されます。

    ステップ 8   [Navigation] ペインの [Controller Firmware] をクリックして、アップグレードの状態を [Work] ペインで確認します。
    (注)     

    コントローラのアップグレードはランダムな順番で行われます。 各 APIC コントローラはアップグレードに約 10 分かかります。 コントローラのイメージがアップグレードされた場合、クラスタからドロップし、クラスタ内の他 APIC のコントローラが動作している間に、新しいバージョンで再起動します。 コントローラをリブートすると、クラスタに再び加わります。 その後、クラスタが収束し、次のコントローラのイメージのアップグレードを開始します。 クラスタがすぐに収束せず、完全に正常でない場合、アップグレードはクラスタが収束して完全に正常になるまで待機状態になります。 この間、「Waiting for Cluster Convergence」というメッセージが表示されます。

    ステップ 9  
    (注)     

    ブラウザが接続されている APIC コントローラがアップグレードされて再起動すると、ブラウザにエラー メッセージが表示されます。

    ブラウザの URL フィールドに、すでにアップグレード済みの、APIC コントローラの URL を入力し、プロンプトに応じてその APIC コントローラにサインインします。
    (注)     

    全コントローラが新しいファームウェア バージョンにアップグレードされるまで待機してから、スイッチのファームウェアのアップグレードに進みます。


    GUI を使用した、リーフおよびスパイン スイッチ ソフトウェアの バージョン アップグレード

    手順


      ステップ 1   メニュー バーで [ADMIN] > [Firmware] を選択し、[Navigation] ペインで [Fabric Node Firmware] を選択します。 [Work] ペインに、ファブリック内の全スイッチのリストが表示されます。 ファームウェアが最後にアップグレードされたときの状態も表示されます。
      ステップ 2   [Navigation] ペインで、[Download Tasks] をクリックします。
      ステップ 3   [Work] ペインで、[General] > [Actions] を選択して、[Create Outside Firmware source] をクリックし、次の操作を実行します。
      1. [Source Name] フィールドにスイッチ イメージの名前(switch_image)を入力します。
      2. [Protocol] フィールドで、[Secure copy] オプション ボタンをクリックします。
        (注)      ソフトウェア イメージのダウンロード元を http ソースにするか セキュア コピー プロトコル(SCP) のソースにするかに応じて、適切なオプション ボタンを選択します。
      3. [URL] フィールドに、イメージをダウンロードする URL を入力します。
      4. [Username] フィールドに、セキュア コピーのユーザ名を入力します。
      5. [Password] フィールドに、セキュア コピーのパスワードを入力します。 [Submit] をクリックします。 スイッチ ファームウェア イメージがダウンロードされるのを待ちます。
      ステップ 4   [Navigation] ペインで、[Download Tasks] をクリックします。 [Work] ペインで、[Operational] をクリックして、イメージのダウンロード状態を表示します。 [Navigation] ペインで、ダウンロードが 100% に達したら、[Firmware Repository] をクリックします。 [Work] ペインに、ダウンロードされたバージョン番号およびイメージ サイズが表示されます。
      ステップ 5   [Navigation] ペインで、[Fabric Node Firmware] をクリックします。 [Work] ペインに、ファブリック内で動作しているスイッチが表示されます。
      ステップ 6   [Work] ペインで、[Policy] > [Actions] > [Create Firmware Group] を選択します。 [Create Firmware Group] ダイアログボックスで、次の操作を実行します。
      1. [Nodes] の下にある [Select All] タブをクリックして、[Selected] 列のファブリック内の全ノードを選択します。 [Next] をクリックします。
      2. 「Firmware Group] の下にある [Group Name] フィールドにグループ名を入力します。
      3. [Ignore compatibility check] フィールドのチェックボックスをオンにします。
      4. [Target Firmware Version] フィールドで、ドロップダウン リストから、スイッチをアップグレードするための目的のイメージ バージョンを選択します。 [Next] をクリックします。
      5. [Maintenance Group] の下にある、[Select All] タブをクリックして、全スイッチに対する 1 つのメンテナンス グループを選択します。
      6. [Create Maintenance Group] タブをクリックします。
      7. [Create Maintenance Group] ダイアログボックスで、[Group Name] フィールドにグループ名を入力します。
      8. [Run mode] フィールドで、デフォルト モードである [Pause only Upon Upgrade Failure] オプション ボタンを選択します。
      9. [Submit] をクリックします。 [Finish] をクリックします。
      [Work] ペインに、全スイッチがアップグレードが予定されているファームウェア グループおよびメンテナンス グループの名前とともに表示されます。
      ステップ 7   [Navigation] ペインで、[Fabric Node Firmware] > [Firmware Groups] を展開し、作成したファームウェア グループの名前をクリックします。 [Work] ペインに、以前に作成されたファームウェア ポリシーの詳細が表示されます。
      ステップ 8   [Navigation] ペインで、[Fabric Node Firmware] > [Maintenance Groups] を展開し、作成したメンテナンス グループをクリックします。 [Work] ペインに、メンテナンス ポリシーの詳細が表示されます。
      ステップ 9   作成したメンテナンス グループを右クリックし、[Upgrade Now] をクリックします。
      ステップ 10   [Upgrade Now] ダイアログボックスで、「Do you want to upgrade the maintenance group policy now?」 に対する [Yes] をクリックします。 [OK] をクリックします。
      (注)     

      [Work] ペインで、[Status] にグループ内の全スイッチが同時にアップグレードされていく状況が表示されます。 グループ内のデフォルトの同時実行数は 20 に設定されます。 したがって、20 台のスイッチが同時にアップグレードされ、その後また 20 台のスイッチの組がアップグレードされます。 障害が発生した場合、スケジューラがサスペンドし、APIC 管理者の手動操作が必要になります。 スイッチのアップグレードには、グループごとに最長で 12 分かかります。 スイッチはアップグレードするとリブートし、接続が切断されて、クラスタ内のコントローラはグループ内のスイッチとしばらくの間、通信しません。 スイッチがリブート後にクラスタに再加入した場合、コントローラ ノードの下に全スイッチが一覧で表示されます。 クラスタに VPC コンフィギュレーションがある場合、アップグレード プロセスは VPC ドメインの 2 台のスイッチのうち一度に 1 台のスイッチのみをアップグレードします。

      ステップ 11   [Navigation] ペインで、[Fabric Node Firmware] をクリックします。 [Work] ペインで、一覧表示される全スイッチを確認します。 [Current Firmware] 列に、アップグレード イメージの詳細が、各スイッチに対して表示されます。 ファブリック内のスイッチが新しいイメージにアップグレードされることを確認します。

      GUI を使用したカタログ ソフトウェア バージョンのアップグレード

      通常、カタログ イメージは、APIC コントローラ イメージのアップグレード時にアップグレードされます。 ただし、管理者がカタログ イメージをアップグレードしなければならない場合もあります。

      手順
        ステップ 1   メニュー バーで、[ADMIN] > [Firmware] を選択します。 [Navigation] ペインで、[Catalog Firmware] をクリックします。
        ステップ 2   [Work] ペインで、[Actions] > [Change Catalog Firmware Policy] を選択します。
        ステップ 3   [Change Catalog Firmware Policy] ダイアログボックスで、次の操作を実行します。
        1. [Catalog Version] フィールドで、目的のカタログ ファームウェアの バージョンを選択します。
        2. ファームウェアをただちにアップグレードするために、[Apply Policy] フィールドの [Apply Now] オプション ボタンをクリックします。 [Submit] をクリックします。
        3. [Work] ペインで、[Target Firmware version] フィールドが [Current Firmware Version] フィールドのイメージ バージョンに一致する画像が表示されるまで待機します。 これでカタログのバージョンが、アップグレードされました。

        REST API を使用したソフトウェアのアップグレード

        REST API を使用した APIC コントローラ ソフトウェアのアップグレード

        手順


          ステップ 1   リポジトリに APIC イメージをダウンロードします。

          例:
          POST URL: https://<ip address>/api/node/mo/uni/fabric.xml
          <firmwareRepoP>
          	<firmwareOSource name="APIC_Image_download" proto="http" url="http://<ip address>/aci-apic-dk9.1.0.0.72.iso"/>
          </firmwareRepoP>
          
          ステップ 2   コントローラの目的のバージョンを設定するには、次のポリシーを POST 送信します。

          例:
          POST URL: https://<ip address>/api/node/mo/uni/controller.xml
          <firmwareCtrlrFwP
              version="apic-1.0(0.72)"
              ignoreCompat="true">
          </firmwareCtrlrFwP>
          ステップ 3   コントローラのアップグレードをただちに起動する次のポリシーを POST 送信します。

          例:
          POST URL : https://<ip address>/api/node/mo/uni/controller.xml
          <maintCtrlrMaintP
              adminState="up" adminSt="triggered">
          </maintCtrlrMaintP>

          REST API を使用したスイッチ ソフトウェアのアップグレード

          手順


            ステップ 1   リポジトリにスイッチ イメージをダウンロードします。

            例:
            POST URL: https://<ip address>/api/node/mo/uni/fabric.xml
            <firmwareRepoP>
            	<firmwareOSource name="Switch_Image_download" proto="http" url="http://<ip address>/aci-n9000-dk9.1.0.0.775.bin"/>
            </firmwareRepoP>
            
            ステップ 2   次のポリシーを、POST 送信することにより、ノード ID が 101、102、103、104 の スイッチから構成されるファームウェア グループを作成し、ノード ID 101、102、103、104 によるメンテナンス グループを作成します。

            例:
            POST URL : https://<ip address>/api/node/mo/uni/fabric.xml
            <fabricInst>
            <firmwareFwP
                name="AllswitchesFwP"
                version="n9000-1.0(0.775)"
                ignoreCompat="true">
            </firmwareFwP>
            
            <firmwareFwGrp
                name="AllswitchesFwGrp" >
                    <fabricNodeBlk name="Blk101"
                        from_="101" to_="101">
                    </fabricNodeBlk>
                    <fabricNodeBlk name="Blk102"
                        from_="102" to_="102">
                    </fabricNodeBlk>
                    <fabricNodeBlk name="Blk103"
                        from_="103" to_="103">
                    </fabricNodeBlk>
                    <fabricNodeBlk name="Blk104"
                        from_="104" to_="104">
                    </fabricNodeBlk>
            <firmwareRsFwgrpp
                tnFirmwareFwPName="AllswitchesFwP">
            </firmwareRsFwgrpp>
            </firmwareFwGrp>
            
            <maintMaintP
                name="AllswitchesMaintP"
                runMode="pauseOnlyOnFailures" >
            </maintMaintP>
            
            <maintMaintGrp
                name="AllswitchesMaintGrp">
                    <fabricNodeBlk name="Blk101"
                        from_="101" to_="101">
                    </fabricNodeBlk>
                    <fabricNodeBlk name="Blk102"
                        from_="102" to_="102">
                    </fabricNodeBlk>
                    <fabricNodeBlk name="Blk103"
                        from_="103" to_="103">
                    </fabricNodeBlk>
                    <fabricNodeBlk name="Blk104"
                        from_="104" to_="104">
                    </fabricNodeBlk>
            <maintRsMgrpp
                tnMaintMaintPName="AllswitchesMaintP">
            </maintRsMgrpp>
            </maintMaintGrp>
            </fabricInst>
            ステップ 3   Allswitches のアップグレードをただちに起動する次のポリシーを POST 送信します。

            例:
            POST URL : https://<ip address>/api/node/mo/uni/fabric.xml
            <maintMaintP
                name="AllswitchesMaintP" adminSt="triggered">
            </maintMaintP>

            ファームウェア バージョンおよびアップグレードの状態の確認

            確認内容 URL の例

            コントローラで現在実行中のファームウェアのバージョン

            GET URL:https://<ip address>/api/node/class/firmwareCtrlrRunning.xml

            スイッチで現在実行中のファームウェアのバージョン

            GET URL:https://<ip address>/api/node/class/firmwareRunning.xml

            コントローラとスイッチのアップグレードの状態

            GET URL:https://<ip address>/api/node/class/maintUpgJob.xml

            アップグレード プロセス中の障害のトラブルシューティング

            メンテナンス ポリシーごとに 1 つのスケジューラが存在します。 デフォルトでは、アップグレード障害が検出されるとスケジューラは停止し、そのグループのノードはもうアップグレードを開始しません。 スケジューラは、アップグレード障害の場合に手動介入によるデバッグを必要とします。 手動介入が完了したら、一時停止されたスケジューラを再開させる必要があります。

            APIC コントローラのアップグレード プロセス障害時の GUI による再起動

            APIC のアップグレード プロセスが失敗すると、[Scheduler Status] が [Paused] に設定されます。 [Scheduler Status] が [Paused] の場合、アップグレードをスケジュールされた他の APIC は、失敗したアップグレードが修正されるまでアップグレードされません。 他の APIC のアップグレードの再起動はできます。

            手順
              ステップ 1   [Work] ペインで、[Actions] をクリックして、[Resume Upgrade Scheduler] をクリックします。
              ステップ 2   もう一度 [Actions] をクリックして、[Upgrade Controller Policy] を選択します。
              ステップ 3   [Apply Now] を選択して、[Submit] をクリックします。 アップグレード プロセスが再起動します。

              APIC コントローラ メンテナンス ポリシーのためにスケジューラが一時停止されていることの REST API を使用した確認

              手順

              コントローラ メンテナンス ポリシーのためにスケジューラが一時停止されていることを確認するには、次の API を POST 送信します。

              例:
              https://<ip address>/api/node/class/maintUpgStatus.xml

              APIC コントローラ メンテナンス ポリシーのために一時停止したスケジューラの再開

              APIC コントローラ メンテナンス ポリシーのために一時停止したスケジューラの GUI を使用した再開

              手順


                ステップ 1   メニュー バーで、[ADMIN] > [Firmware] を選択します。
                ステップ 2   [Navigation] ペインで、[Fabric Node Firmware] > [Controller Firmware] を展開します。
                ステップ 3   [Work] ペインで、[Policy] タブをクリックします。
                ステップ 4   [Controller Maintenance Policy] 領域で、[Running Status] フィールドの表示が [Paused] であることを確認します。
                ステップ 5   [Actions] タブをクリックし、[Resume Upgrade Scheduler] をクリックします。

                APIC コントローラ メンテナンス ポリシーのために一時停止したスケジューラの REST API を使用した再開

                手順

                コントローラ メンテナンス ポリシーのために一時停止されたスケジューラを再開するには、次の API をPOST 送信します。

                この例では、メンテナンス ポリシーは ConstCtrlrMaintP です。



                例:
                URL: https://<ip address>/api/node/mo.xml 
                <maintUpgStatusCont>
                <maintUpgStatus polName="ConstCtrlrMaintP" status="deleted" />
                </maintUpgStatusCont>

                スイッチのメンテナンス ポリシーのために一時停止したスケジューラの再開

                スイッチ メンテナンス ポリシーのために一時停止したスケジューラの GUI による再開

                手順


                  ステップ 1   メニュー バーで、[ADMIN] > [Firmware] を選択します。
                  ステップ 2   [Navigation] ペインで、[Fabric Node Firmware] > [Maintenance Groups] > [maintenance_group_name] を展開します。
                  ステップ 3   [Work] ペインで、[Policy] タブをクリックします。
                  ステップ 4   [Maintenance Policy] 領域で、[Running Status] フィールドの表示が [Paused] であることを確認します。
                  ステップ 5   [Actions] タブをクリックし、[Resume Upgrade Scheduler] をクリックします。

                  スイッチ メンテナンス ポリシーのために一時停止したスケジューラの REST API による再開

                  手順
                  スイッチ メンテナンス ポリシーのために一時停止されたスケジューラを再開するには、次の API をPOST 送信します。

                  この例では、メンテナンス ポリシーは swmaintp です。



                  例:
                  URL: https://<ip address>/api/node/mo.xml 			 
                  <maintUpgStatusCont>
                  <maintUpgStatus polName="swmaintp" status="deleted" />
                  </maintUpgStatusCont>