目錄

簡介

必要條件

需求

採用元件

背景資訊

逐機架升級概述

機架1關機階段

機架1啟用階段

關鍵故障切換階段

機架0啟用階段

清理階段

設定

網路圖表

驗證

疑難排解

注意事項

簡介

本文檔介紹如何在ASR 9000系列聚合服務路由器nV邊緣群集上執行指令碼式逐機架升級或啟用重新載入軟體維護升級(SMU)。逐機架升級可用於在每個機架上逐個安裝新的軟體版本或軟體補丁程式(SMU)。對於將佈線冗餘整合到集群中每個機架的網路拓撲，在軟體升級中可最大限度地減少資料包丟失。

截至本文檔最初發佈日期（2014年5月），有三種受支援的方法可以升級或啟用群集上的SMU:

1. 使用install activate命令進行標準軟體升級或SMU啟用。兩個機架都應通電。

2. ASR 9000的標準軟體升級或SMU啟用要求關閉備份指定擴展架控制器(DSC)機架的電源，升級主DSC機架上的軟體（系統重新載入），以及備份備份DSC機架的電源，以便進行同步。

3. 指令碼式逐機架方法。

方法三在本文中討論。

註：不執行指令碼不建議逐機架升級。

注意:集群上不支援服務中軟體升級(ISSU)，即使啟用SMU也不支援。

丟包率因規模和功能而異，但預計在8s <> 180s以外的任何位置。

必要條件

需求

思科建議您瞭解以下主題：

- 4.2.3版nV邊緣保護傘DDTS模#1

- 版本4.3.1及更高版本
註：版本4.3.2中增加了ASR 9001支援。早期版本中不應在ASR 9001上使用該指令碼。

註意：ASR 9001支援乙太網帶外通道(EOBC)單向鏈路檢測(UDLD)鏈路擺動歷史記錄(控制鏈路管理器(CLM)表版本)在5.1.0版中新增。

- Linux工作站

- 控制檯伺服器

- 集群中的兩個ASR 9000

採用元件

本文檔中的資訊基於兩個ASR 9001（Cisco IOS XR版本4.3.2至5.1.0）和Ubuntu Linux工作站。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路正在作用，請確保您已瞭解任何指令可能造成的影響。

背景資訊

逐機架升級概述

機架1關機階段

- 機架1與群集和外部網路隔離，並構成獨立節點。

- 已禁用機架間鏈路(IRL)。

- 外部對向線路卡(LC)介面已停用。

- 控制鏈路介面被禁用。

機架1啟用階段

- 目標軟體在機架1上啟用。

- 使用並行重新載入方法在Rack 1上執行Install Activate。

- 如果配置了自動FPD（現場可程式設計裝置），則會立即發生。

關鍵故障切換階段

- 流量遷移至機架1。

- 機架0上的所有介面均已關閉。

- 機架1上的所有介面均已啟用。

- 協定重新學習來自相鄰路由器的路由，然後開始收斂。

機架0啟用階段

- 目標軟體在機架0上啟用。

- 使用並行重新載入方法在Rack 0上進行Install Activate。

清理階段

- 控制鏈路重新啟用。

- IRL會重新啟用。

- 機架0將群集重新加入為備份。

- 在升級過程中禁用的任何外部鏈路均恢復服務。

設定

網路圖表

註：使用命令查詢工具(僅限註冊客戶)可獲取本節中使用的命令的詳細資訊。

註:ASR 9001每個機箱僅有一個控制檯埠。

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. 確定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斷開序列。八進位制值35相當於Ctrl-]鍵的組合，用於優雅地終止控制檯反向Telnet連線並允許指令碼成功完成。修改應位於指令碼的第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 Edge系統狀態：

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」，並且只有一個埠應處於「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角色用於僅在系統中完成一次的任務，例如應用配置或執行安裝活動。

註：主RSP的角色取決於機架和RSP的引導順序。

疑難排解

目前尚無適用於此組態的具體疑難排解資訊。

注意事項

- 逐機架升級與管理區域網拆分檢測功能不相容。升級前應禁用此功能。

- 預設情況下，指令碼不會啟用自動FPD。應該在此升級之前啟用此功能。

- 任何正在進行的安裝操作都需要在此升級之前完成。

- 所有活動軟體包都必須在此升級過程（管理員安裝提交）之前提交。

- 指令碼會完成對所發生錯誤的最少檢查。建議在執行指令碼之前，在路由器上輸入install activate test命令，以驗證映像集。

- 強烈建議您在升級之前備份路由器的配置。

- 即使在啟用SMU的情況下，群集也不支援ISSU。