内容

概要

前提条件

要件

使用するコンポーネント

背景説明

ラック単位のアップグレードの概要

ラック1のシャットダウンフェーズ

ラック1のアクティブ化フェーズ

重要なフェールオーバーフェーズ

ラック0のアクティブ化フェーズ

クリーンアップフェーズ

設定

ネットワーク図

確認

トラブルシュート

警告

概要

このドキュメントでは、ASR 9000シリーズアグリゲーションサービスルータ(ASR)nVエッジクラスタで、スクリプト化されたラック単位のアップグレードを実行する方法、またはリロード用のSoftware Maintenance Upgrade(SMU)をアクティブにする方法について説明します。ラック単位のアップグレードは、新しいソフトウェアリリースまたはソフトウェアパッチ(SMU)を各ラックに一度に1つずつインストールするために使用できます。クラスタ内の各ラックに配線の冗長性を組み込んだネットワークトポロジのソフトウェアアップグレードでは、パケット損失を最小限に抑えることができます。

このドキュメントの最初の発行日である2014年5月の時点で、クラスタ上のSMUをアップグレードまたはアクティブ化するためにサポートされている方法は3つあります。

1. install activateコマンドを使用した標準のソフトウェアアップグレードまたはSMUアクティベーション。両方のラックの電源をオンにする必要があります。

2. ASR 9000の標準的なソフトウェアアップグレードまたはSMUアクティベーションでは、バックアップ指定シェルフコントローラ(DSC)ラックの電源を切り、プライマリDSCラックのソフトウェアをアップグレード（システムのリロード）し、バックアップDSCラックの電源を入れて同期する必要があります。

3. スクリプト化されたラック単位の方式。

このドキュメントでは、方法3について説明します。

注：スクリプトを使用せずにラック単位のアップグレードを実行することは推奨されません。

注:In-Service Software Upgrade(ISSU)は、SMUのアクティブ化に関しても、クラスタではサポートされません。

パケット損失は規模と機能によって異なりますが、8秒<> 180秒の範囲で発生すると予想されます。

前提条件

要件

次の項目に関する知識があることが推奨されます。

- リリース4.2.3 nV Edge Umbrella DDTSリリー#1

- リリース4.3.1以降
注:ASR 9001のサポートは、リリース4.3.2で追加されました。このスクリプトは、以前のリリースのASR 9001では使用しないでください。

注:ASR 9001では、Ethernet Out-of-Band Channel(EOBC)Unidirectional Link Detection(UDLD)リンクフラップ履歴(Control Link Manager(CLM)テーブルバージョン)のサポートがリリース5.1.0で追加されました。

- Linuxワークステーション

- コンソールサーバ

- クラスタ内に2台のASR 9000

使用するコンポーネント

このドキュメントの情報は、2台のASR 9001、Cisco IOS XRリリース4.3.2 ～ 5.1.0、およびUbuntu Linuxワークステーションに基づいています。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。

背景説明

ラック単位のアップグレードの概要

ラック1のシャットダウンフェーズ

- ラック1はクラスタおよび外部ネットワークから分離され、スタンドアロンノードになります。

- ラック間リンク(IRL)が無効になっています。

- 外部向けラインカード(LC)インターフェイスが無効になっている。

- コントロールリンクインターフェイスが無効になっている。

ラック1のアクティブ化フェーズ

- ターゲットソフトウェアはラック1でアクティブ化されます。

- Install Activateは、並列リロード方式でラック1で実行されます。

- Auto-FPD(Field Programmable Device)が設定されている場合は、ここで発生します。

重要なフェールオーバーフェーズ

- トラフィックはラック1に移行されます。

- ラック0のすべてのインターフェイスがシャットダウンされます。

- ラック1のすべてのインターフェイスがサービス状態になります。

- プロトコルは隣接ルータからルートを再学習し、コンバージェンスが開始されます。

ラック0のアクティブ化フェーズ

- ターゲットソフトウェアがラック0でアクティブ化されます。

- Install Activateは、並列リロード方式でラック0で実行されます。

クリーンアップフェーズ

- コントロールリンクが再びアクティブになります。

- IRLが再活性化する。

- ラック0はバックアップとしてクラスタに再参加します。

- アップグレードの一環として無効にされた外部リンクは、サービスに戻されます。

設定

ネットワーク図

注：このセクションで使用されているコマンドの詳細を調べるには、Command Lookup Tool(登録ユーザ専用)を使用してください。

注:ASR 9001には、シャーシあたり1つのコンソールポートしかありません。

1. スクリプトのコピーを取得します。
Enter into KSH and copy the script to disk0:

From exec mode type 'run' to enter KSH.

Copy the file from /pkg/bin/ folder using the following command:

cp /pkg/bin/nv_edge_upgrade.exp <destination>

eg: cp /pkg/bin/nv_edge_upgrade.exp /disk0:

After this the script can be copied off the router and modified.

2. Linuxサーバにexpectスクリプトソフトウェアをインストールします。
sudo yum install expect

または

sudo apt-get install expect

3. expectスクリプトがLinuxサーバのどこにインストールされているかを確認します。
root@ubuntu:~$ whereis expect

expect: /usr/bin/expect /usr/bin/X11/expect /usr/share/man/man1/expect.1.gz

root@ubuntu:~$

4. nv_edge_upgrade.expスクリプトの最初の行を、expectスクリプト・ソフトウェアの正しいホーム・ディレクトリと一致するように変更します。
#!/usr/bin/expect -f

5. コンソールサーバの設定に合わせてスクリプトを変更します。
注:ASR 9001クラスタをアップグレードする場合は、スタンバイアドレスを変更せずに残すことができます。スクリプトは、偽のスタンバイアドレッシングで正常に実行されます。

set rack0_addr      "172.18.226.153"

set rack0_port      "2049"

set rack0_stby_addr "172.27.152.19"

set rack0_stby_port "2004"

set rack1_addr      "172.18.226.153"

set rack1_port      "2050"

set rack1_stby_addr "172.27.152.19"

set rack1_stby_port "2007"

6. ログインクレデンシャルを含むようにスクリプトを変更します。
set router_username "cisco"

set router_password "cisco"

7. 新しいイメージリストを含むようにスクリプトを変更します
set image_list       "disk0:asr9k-mini-px-5.1.0  \

disk0:asr9k-fpd-px-5.1.0 \

disk0:asr9k-mpls-px-5.1.0 \

disk0:asr9k-mgbl-px-5.1.0 \

disk0:asr9k-bng-px-5.1.0 \ "

または、リロードSMUをアクティブにします。

set image_list       "disk0:asr9k-px-5.1.0-CSCxxXXXXX-1.0.0  \ "

8. IRLを含むようにスクリプトを変更します。リンクを確認するには、show nv edge data forwarding location 0/RSP0/CPU0コマンドを入力します。
set irl_list {{TenGigE 0/0/2/0} {TenGigE 0/0/2/1} {TenGigE 1/0/2/0} {TenGigE 1/0/2/1} }

9. Linux Telnetの接続解除シーケンスを含むようにスクリプトを変更します。8進数値35は、コンソールのリバースTelnet接続を正常に終了し、スクリプトが正常に完了するために使用されるCtrl-]キーの組み合わせと同じです。スクリプトの162行前後に変更する必要があります。
proc router_disconnect { } {

global debug_mode

global connected_rack

if {$debug_mode == 1} { return }

send -- "\35"

sleep 1

expect -exact "telnet> "

send -- "quit\r"

expect eof

set connected_rack -1

sleep 5

10. インストール新しいソフトウェアまたはSMUをASR 9000クラスタに追加します。
admin

install add tar ftp://cisco:cisco@10.118.12.236/5.1.0.tar sync

11. 追加インストール操作が完了した後に、クラスタのコンソールポートへのアクティブなターミナルセッションをすべて切断します。

12. Linuxサーバからスクリプトをアクティブにします。
root@ubuntu:~/nV$ expect nv_edge_upgrade.exp

########################

This CLI Script performs a software upgrade on

an ASR9k Nv Edge system, using a rack-by-rack

parallel reload method.  This script will modify

the configuration of the router, and will incur

traffic loss.

Do you wish to continue [y/n] y

確認

ここでは、設定が正常に機能しているかどうかを確認します。

スクリプト/アップグレードの進行状況は、Linuxワークステーションから確認できます。ラックバイラックのアップグレードは、完了までに約45 ～ 60分かかります。

ASR 9000で次の手順を実行して、ソフトウェアアップグレード/SMUのアクティベーションとnVエッジシステムのステータスを確認します。

1. XRソフトウェアを確認します。
RP/0/RSP0/CPU0:ASR9006#show install active summary

Mon Mar 31 12:43:43.825 EST

Default Profile:

SDRs:

Owner

Active Packages:

disk0:asr9k-fpd-px-5.1.0

disk0:asr9k-mgbl-px-5.1.0

disk0:asr9k-mpls-px-5.1.0

disk0:asr9k-mini-px-5.1.0

disk0:asr9k-bng-px-5.1.0

disk0:asr9k-px-5.1.0-CSCxxXXXXX-1.0.0

RP/0/RSP0/CPU0:ASR9006#show install committed summary

Mon Mar 31 12:44:07.250 EST

Default Profile:

SDRs:

Owner

Committed Packages:

disk0:asr9k-fpd-px-5.1.0

disk0:asr9k-mgbl-px-5.1.0

disk0:asr9k-mpls-px-5.1.0

disk0:asr9k-mini-px-5.1.0

disk0:asr9k-bng-px-5.1.0

disk0:asr9k-px-5.1.0-CSCxxXXXXX-1.0.0

2. データプレーンを確認します。
show nv edge data forwarding location all

<Snippet>

-----------------node0_RSP0_CPU0------------------

nV Edge Data interfaces in forwarding state: 4

TenGigE0_0_1_3                  <-->  TenGigE1_0_0_3

TenGigE0_1_1_3                  <-->  TenGigE1_1_0_3

TenGigE0_2_1_3                  <-->  TenGigE1_2_0_3

TenGigE0_3_1_3                  <-->  TenGigE1_3_0_3

<Snippet>

この出力では、IRLがフォワーディングステートであることが示されています。

3. コントロールプレーンを確認します。
show nv edge control control-link-protocols location 0/RSP0/CPU0

<Snippet>

Port enable administrative configuration setting: Enabled

Port enable operational state: Enabled

Current bidirectional state: Bidirectional

Current operational state: Advertisement - Single neighbor detected

Priority lPort             Remote_lPort      UDLD STP

======== =====             ============      ==== ========

0        0/RSP0/CPU0/0     1/RSP0/CPU0/0     UP   Forwarding

1        0/RSP0/CPU0/1     1/RSP1/CPU0/1     UP   Blocking

2        0/RSP1/CPU0/0     1/RSP1/CPU0/0     UP   On Partner RSP

3        0/RSP1/CPU0/1     1/RSP0/CPU0/1     UP   On Partner RSP

この出力から、「Current bidirectional state」は「Bidirectional」と表示され、ポートの1つだけがForwarding状態になっている必要があります。

4. クラスタのステータスを確認します。
RP/0/RSP0/CPU0:ASR9006#admin show dsc

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

Node  (     Seq)     Role       Serial State

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

0/RSP0/CPU0  (       0)   ACTIVE  FOX1613G35U PRIMARY-DSC

0/RSP1/CPU0  (10610954)  STANDBY  FOX1613G35U NON-DSC

1/RSP0/CPU0  (  453339)  STANDBY  FOX1611GQ5H NON-DSC

1/RSP1/CPU0  (10610865)   ACTIVE  FOX1611GQ5H BACKUP-DSC

このコマンドは、システム内のすべてのルートスイッチプロセッサ(RSP)のDSC（ラック間）ステータスと冗長性ロール（ラック内）の両方を表示します。

この例では、

- ラック0のRSP0はプライマリDSCであり、ラックのアクティブRSPです。

- ラック0のRSP1は非DSCであり、ラックのスタンバイRSPです。

- ラック1のRSP0は非DSCであり、ラックのスタンバイRSPです。

- ラック1のRSP1はバックアップDSCであり、ラックのアクティブRSPです。

注：DSCロールは、構成の適用やインストール作業の実行など、システム内で1回だけ完了する必要があるタスクに使用されます。

注：プライマリRSPの役割は、ラックとRSPのブート順序によって決まります。

トラブルシュート

現在、この設定に関する特定のトラブルシューティング情報はありません。

警告

- Rack-by-Rackアップグレードは、管理LANスプリットブレイン検出機能と互換性がありません。この機能は、このアップグレードの前に無効にする必要があります。

- Auto-FPDは、デフォルトではスクリプトによって有効になっていません。このアップグレードの前に、これを有効にする必要があります。

- 進行中のインストール操作は、このアップグレードの前に完了する必要があります。

- すべてのアクティブなパッケージは、このアップグレード手順(admin install commit)の前にコミットする必要があります。

- スクリプトは、発生したエラーの最小限のチェックを完了します。イメージのセットを検証するために、スクリプトを実行する前にルータでinstall activate testコマンドを入力することをお勧めします。

- アップグレードの前に、ルータの設定をバックアップすることを強く推奨します。

- ISSUは、SMUのアクティブ化に対してもクラスタ上でサポートされません。