點擊下載用于Cisco Catalyst 6500系列的Cisco IOS軟件模塊化
本文旨在從技術角度出發,具體介紹用于Cisco? Catalyst? 6500系列交換機的Cisco IOS? 軟件模塊化的優勢、特性和功能。
簡介
當今的網絡設備必須提供最長的正常運行時間,以便服務于語音、視頻和數據應用等要害任務流量。盡管高可靠性一般是通過冗余系統在核心和分發層中提供的,但是鑒于單一網絡設備通常是所連接的終端設備的單故障點,使它們更具永續性已成為對配線間、數據中心接入和企業網絡的WAN邊緣來說最重要的任務。城域以太網接入網絡為滿足與客戶簽訂的服務水平協議(SLA)的嚴格要求,也有著類似的需求。此外,因為企業依靠于網絡應用,因此網絡操作員和治理員非常需要可靠性。
采用Cisco IOS軟件模塊化的Cisco Catalyst 6500系列通過演進式的軟件基礎設施增強,最大限度地縮短了停機時間,提高了運營效率。通過讓模塊化的Cisco IOS子系統作為獨立的進程運行,這個創新憑借可自行恢復的進程最大限度地縮短了計劃外停機時間,它還利用子系統運行中軟件升級(ISSU)簡化了軟件改動,并經由集成嵌入式事件治理器(EEM)實現了進程級的自動策略控制。
用于Cisco Catalyst 6500系列的Cisco IOS軟件模塊化
Cisco IOS的設計可滿足發展中網絡最為嚴格的ip服務和控制平面可擴展性要求。Cisco IOS軟件由數百個子系統組成,每個都定義了某項技術的某個組件,它們運行于共享內存空間,以實現最高的軟件轉發性能。
Catalyst 6500系列通過PFC或DFC上的ASIC,提供了基于硬件的轉發功能。Catalyst 6500系列的控制平面功能在MSFC網絡的專用CPU上運行。
圖1. Cisco IOS軟件模塊化的架構,顯示了Cisco Catalyst 6500系列控制和數據平面的分離,以及獨立的進程

完全獨立的數據平面可確保,即使控制平面運行中斷,只要軟件的智能特性足以對硬件編程,使之不間斷運營,就可持續轉發流量。憑借Cisco Catalyst 6500系列交換治理引擎的冗余性,在主交換治理引擎發生硬件故障時,Catalyst 6500系列的不間斷轉發(NSF)和狀態化切換(SSO)特性仍能提供持續運行的數據轉發平面。對故障隔離和分離控制及數據平面的要求,導致了OS級關注焦點的改變。非凡需注重的是,控制平面軟件中的改動或問題不應影響數據平面上的轉發。
Cisco IOS軟件模塊化將子系統組合為獨立的進程,增強了Cisco IOS軟件的內存架構,可提供進程級的故障隔離和子系統ISSU功能。這些改進在用于Catalyst 6500系列Supervisor Engine 720和 Supervisor Engine 32的Cisco IOS軟件中提供,同時保留了網絡操作員已經熟悉的豐富功能和操作環境。Cisco IOS軟件模塊化將首先在Cisco IOS 12.2(18)SXF的一個版本中提供。操作員將可從大量帶或不帶軟件模塊化的鏡像中進行選擇。在帶Cisco IOS軟件模塊化的鏡像與當前用于Catalyst 6500系列的Cisco IOS軟件版本的功能完全相同前,思科將保留不帶IOS軟件模塊化的并行鏡像。
運營一致性
雖然軟件模塊化為Catalyst 6500系列上的Cisco IOS軟件帶來了很多改進,但從運營角度無需作任何改變。命令行界面(CLI)以及SNMP或系統日志等治理界面仍與以前一樣。為支持新功能,添加了執行和配置模式的新命令以及show命令。軟件發布和重建也與以前相同,只是添加了對于子系統補丁的支持。
受保護內存
在軟件模塊化支持的內存架構中,進程使用受保護地址空間。每個進程及其相關的子系統都“運行”于獨立的內存空間中。同一進程的子系統能直接地相互通信,而進程間只可使用進程間通信(IPC)來傳輸信息。利用這種模式,就不會發生內存破壞波及多個進程的現象。同一進程中子系統的通信能直接進行,從而提供了一致的控制平面性能。
故障抑制
受保護內存空間的優勢在于,因為一個進程中的問題不會影響到系統的其他部分,所以提高了可靠性。例如,假如一個要害程度不高的系統進程發生故障或未按預期運行,并不會影響持續轉發分組所需的要害功能。具體來說,假如UDP進程發生故障,那么只有需使用UDP的特性會受到影響。
進程可重啟性
模塊化進程建立在受保護內存空間和故障抑制的基礎上,現在可單獨重啟。為進行測試或處理無響應進程,可使用一條CLI命令來手動重啟進程。這樣,無需中斷分組轉發,即可快速從暫時錯誤中恢復。
手動重啟進程很重要,而持續檢查進程的狀態也是至關重要的。一個集成的高可靠性子系統可持續檢查進程狀態,跟蹤在規定時間間隔內一個進程的重啟次數,從而完成這一任務。這種高可靠性子系統可通過重啟進程,盡快從各種故障中恢復。假如進程重啟仍無法恢復系統,那么高可靠性子系統會采取更高層次的行動,如進行交換治理引擎切換或重啟系統。
因為每個進程有自己的受保護環境,可按需提供狀態檢查點信息。檢查點架構能在進程重啟或故障切換過程中保留此信息。高可靠性子系統在進程重啟時會利用這一信息,實現狀態化恢復。當一個進程重啟時,它會利用檢查點信息(例如中間系統-中間系統[IS-IS]路由協議信息的狀態)來盡快進行恢復。檢查點信息僅在特定時間段內進程第一次重啟期間提供,以確保檢查點狀態信息本身不會導致錯誤。
            模塊化進程
部分控制平面功能已被模塊化,這其中包含了大多數常用的特性。模塊化進程包括但不限于:
因為該架構可實現進一步的Cisco IOS軟件模塊化,因此軟件模塊化的發展將增加獨立模塊化進程的數目。
增強此架構的計劃包括實現IPv6、MPLS和BFD等進程的模塊化。這其中部分特性可能暫時無法提供1。
子系統運行中軟件升級
毫無疑問,受保護內存空間和進程可重啟性的最重要優勢就是,用戶可在系統運行期間改動系統。Cisco IOS軟件模塊化增強了Cisco IOS軟件基礎設施,可通過單獨的補丁進行選擇性的系統維護。補丁是可影響一或多個子系統的單一修復。補丁最初將以維護包的形式提供-類似于適用于運營商級路由系統(CRS-1) 和Cisco XR 12000系列路由器的Cisco IOS XR軟件中的軟件維護升級(SMU)。一個維護包可包括一或多個能在運行時應用的補丁。軟件模塊化的初始版本將主要關注于產品安全事故報告小組(PSIRT)所提供的安全建議。
通過提供版本治理和補丁治理功能,無需重啟系統,即可下載、驗證、安裝和激活維護包。根據需要修補的OS部分,網絡操作員現在可以隨時、靈活地進行軟件改動,這是因為大多數補丁都不需要重啟系統。補丁只會影響修復某一特定軟件問題時所需的組件,因此大大縮短了代碼認證時間。網絡治理員現在只需驗證與修復相關的軟件部分。在作出應用某一維護包的決定后,網絡中的多個Cisco Catalyst 6500系列交換機都可憑借子系統ISSU特性快速升級。
1 更多信息請參見版本說明,網址是:http://www.cisco.com/univercd/cc/td/doc/PRodUCt/lan/cat6000/relnotes/index.htm。
軟件模塊化和Cisco Catalyst 6500系列硬件架構的配合使用
Cisco Catalyst 6500系列交換機利用ASIC在硬件中執行流量轉發。路由協議、終端連接(Telnet、SSH協議等)、SNMP等控制和治理任務需由交換機的CPU執行。因此“數據平面”和“控制平面”這兩個術語主要用于區分系統的這兩個部分。因為數據平面需獲得正確的路徑,來執行硬件轉發,所以它與控制平面對接,控制平面可通過路由協議獲取這類信息。在硬件中對這些路徑編程之后,只有更新部分需從控制平面發送到數據平面。
將軟件模塊化與這類架構,以及EIGRP、OSPF、IS-IS和BGP等路由協議的不間斷轉發(NSF)功能2相結合,可實現巨大優勢。即使只有單一交換治理引擎的系統也可利用NSF功能。軟件模塊化的重啟功能可重啟任意模塊化進程,如IP路由進程,而同時,系統的其余部分保持運行。以下步驟可說明一個系統是如何在不干擾用戶的情況下進行恢復的:
請注重,在上述恢復期間,數據平面一直在執行轉發。不過,需強調的是,此部署并不提供針對交換治理引擎的硬件故障的保護。如需從硬件故障中恢復,仍需要一個備用交換治理引擎。
運行模式
提供軟件模塊化的Cisco IOS軟件鏡像能以兩種不同模式運行-二進制鏡像或已安裝鏡像。大多數操作員都對從二進制鏡像運行系統較為熟悉,即在交換處理器和路由處理器中運行單一二進制Cisco IOS軟件鏡像。而假如系統運行一個已安裝鏡像,系統將從具有目錄和文件結構的文件系統運行。因為子系統ISSU僅在已安裝模式中提供,且此模式可更高效地利用內存,所以建議從已安裝鏡像運行系統。
2 有關Cisco Catalyst 6500系列的NSF實施的具體信息,請查看產品文檔/白皮書,網址為:http://www.cisco.com/go/catalyst6500
差別
表1列出了這兩種運營模式的差別。
表1 運營模式的差別
重打包功能使網絡治理員可將基本鏡像、所有所應用的補丁和包括標記的全部修補歷史都壓縮到一個二進制文件中。我們將在后面部分更具體地介紹重打包特性。
            運行已安裝鏡像的系統可以根據線卡的插拔來為其分配內存。它要求文件系統一直可用。在使用外部小型閃存時,小型閃存不能在運行期間拔除。運行二進制鏡像的系統在啟動時加載所有代碼,而運行已安裝鏡像的系統在運行時根據需要加載用于所配置特性的代碼。
安裝鏡像
安裝鏡像即是創建一個目錄結構,并將二進制文件解壓到該結構中。此操作由安裝程序執行,它是提供思科軟件模塊化的鏡像中添加的一個組件。
當運行一個支持Cisco IOS軟件模塊化的鏡像時,新鏡像可位于本地,也可位于遠程。從遠程安裝鏡像的選項包括TFTP、FTP和RCP。
3 DRAM中只加載必要的代碼。當插入一個新線卡時,會動態地加載相應的代碼。
使用以下命令安裝鏡像:

系統隨后將把壓縮的鏡像拷貝到內存,進行解壓,校驗檢查和,并將其寫入指定的文件系統。如需更具體的輸出結果,可選用要害字interactive 。
假設有足夠空間,一個文件系統也可放置多個版本的Cisco IOS軟件。以前這是通過將多個文件拷貝到一個介質而實現的。鑒于已安裝鏡像由一個包含多個文件的目錄結構組成,已安裝鏡像的差別由最頂層的目錄定義(在上例中,為/sys目錄)。每個文件系統有三個位置可以安裝鏡像,它們是: /sys、/newsys和/oldsys。新版本可安裝到/newsys位置并進行測試。認證后,以前的軟件版本可轉移到/oldsys位置,新軟件則從/newsys 移到 /sys。
改變啟動變量和綁定一個鏡像
運行二進制鏡像的系統使用bootvar變量,將ROMMON指向必須在啟動時加載的二進制文件。因為大多數情況下,只有一個文件,因此操作可直接進行。但是,假如某個啟動變量的定義錯誤,在電源中斷或重載后,系統可能會留在ROMMON中。很明顯,啟動字符串中的錯誤會導致嚴重的后果。
當系統運行已安裝鏡像時,會創建一個文件結構。該文件結構由OS本身治理,用戶無需了解目錄和文件結構。這種方式帶來的一個影響是bootvar變量需通過另一種途徑定義。
為簡化定義 bootvar 變量的過程,同時使其安全可靠,我們提出了“綁定”的概念。安裝鏡像時,會指定像disk0:/sys 這樣的目的地。一旦安裝了鏡像,系統就被綁定于此位置(讓ROMMON了解從何處啟動系統)。將系統綁定于某一位置,反過來即可自動定義相應的啟動字符串。例如:
此配置命令可定義OS的位置。
6500(config)#install bind disk0:/sys
使用以下命令,來確認配置中所增加的內容。請注重已插入了整個啟動字符串。盡管與運行二進制鏡像的系統相比,啟動字符串稍長,但用戶無需鍵入字符串,只需指定目錄即可。
6500# show running-config  include disk0:
install bind disk0:/sys
boot system disk0:/sys/s72033/base/s72033-ipservicesk9-vm
網絡治理員可隨時驗證系統綁定的位置,即OS的位置。
6500#show install bind
The following bindings are currently defined (in order or precedence) :
Location Search Root
--------------------------- ------------------------------
Entire System disk0:/sys
如上所述,多個“已安裝”版本可位于單一介質之中。此時可通過它們安裝的目錄來對它們進行區分。如想改變系統啟動的位置,應使用no install bind <location> 配置命令來刪除舊路徑。隨后即可指定新位置,如上例所所示。
文件系統的要求
除需要更大閃存空間外,Cisco IOS軟件模塊化對文件系統沒有任何非凡要求。為滿足對于更大閃存空間的需要,可使用小型閃存介質。思科系統公司?還提供了一個內部小型閃存適配器,它可替代內部閃存(也稱為sup-bootFlash: 和 bootflash:)。較大的內部閃存消除了外部小型閃存易被拆除所帶來的風險。同時,文件系統性能也得到了增強-例如,無需再進行耗時的擠壓操作。僅支持基于小型閃存的文件系統。
為受益于內部小型閃存適配器(產品編號CF-ADAPTER=),系統必須為交換處理器運行不低于8.4(2)版本的ROMMON,為路由處理器運行不低于12.2(17r)S4版本的ROMMON。文件系統的標記將分別從supbootflash:變為sup-bootdisk: ,從bootflash:變為bootdisk: 。Supervisor Engine 720可通過軟件升級ROMMON。這可遠程執行,且不必對硬件作任何改動。具體信息請參見Cisco.com上的ROMMON版本說明。
當系統運行已安裝鏡像時,文件系統必須一直可用。因為線卡代碼從文件系統動態加載,文件系統不可用就會導致嚴重的問題。
對于運行已安裝鏡像的系統,最低存儲容量為256 MB。建議介質容量為512 MB。
進程治理
Cisco IOS軟件模塊化可重啟模塊化進程。但一般來說,用戶無需重啟進程。此集成的高可靠性子系統可持續監控所有進程的狀態,并自動在需要時重啟進程。
您可隨時檢查進程的狀態。下面顯示了IP路由進程的狀態:

進程重啟可由用戶發起,但需謹慎進行。下面顯示了“process restart <process name>”命令的使用:
6500#process restart iprouting.iosproc
Restarting process iprouting.iosproc
            6500#
當進程重啟(即時發生),進程具體信息如下所示。

補丁
重啟進程是一個不必重啟系統即可實現故障恢復的重要機制,其主要目的是能在運行期間改動系統。這些子系統級軟件改動被稱為補丁。例如,補丁可通過單一漏洞修復或小規模功能改動,來升級網絡。在Cisco IOS軟件模塊化的初始版本中,補丁將以維護包的形式提供,僅用于公開公布的安全漏洞(PSIRT報警)。在未來的版本中,將提供對于任意修復類型的補丁的支持,甚或新功能。
在安裝了一個補丁后,使用子系統代碼的所有進程都需重啟,以便在系統中應用所作改動。假如有檢查點信息,它將可用于確保安裝所受到的干擾最小。在路由協議方面,NSF機制可防止鄰居刪除通過恢復中的系統了解到的路由。
下面是向系統應用一個補丁的過程。請注重這只適用于運行已安裝鏡像的系統。
1. 首先檢查系統上運行的是哪類基本鏡像和補丁。這可通過show install running命令確定:

2. 需從Cisco.com4下載維護包。找到適用于特定鏡像的維護包或補丁是非常方便的。將您的瀏覽器指向Cisco.com,即可在“Technical Support→Tools”下面找到“Patch Navigator”。下面的屏幕截圖顯示了補丁導航器可如何找到一個補丁的選項。
圖 2. 軟件模塊化補丁導航器

CiscoWorks需一個設備逐步升級(IDU)包,才能在CiscoWorks Resource Manager Essential (RME)中支持Cisco IOS軟件模塊化鏡像。如需有關補丁治理的具體信息,請查看CiscoWorks文檔和版本說明。
3. 維護包/補丁需拷貝到系統,再寫入文件系統。這可通過安裝程序完成,安裝程序會將文件拷貝到系統,驗證補丁是否適用,并將其插入文件系統結構。因為文件系統的治理是由安裝程序完成的,所以從文件系統的角度,無需對用戶進行任何培訓。維護包/補丁可手動拷貝到任意文件系統,或通過TFTP、FTP或RCP來訪問。下面給出了部分示例:
4.需登錄Cisco.com
6500#install file tftp://172.16.1.1/s72033-Yakhurana-00.pikespeak.pk_ptch disk0:/sys
Address or name of remote host [172.16.1.1]?
Source filename [s72033-Yakhurana-00.pikespeak.pk_ptch]?
!!!!!!!!!!!!
Verifying checksums of extracted files
Verifying installation compatibility
Gathering information for slot s72033_rp - Slot 5
!!!!!!!!!!!!
Activation will affect the following processes:
cdp2.iosproc
[output omitted]
4 Requires a Cisco.com login
Computing and verifying file checksums
!!!!!!!!!!!!
[DONE]
6500#
4. 在您激活補丁前,您可通過show install running命令來確認它處于等待安裝狀態。現在補丁可用install activate <systemlocation> 命令激活。請注重,系統將指出需重啟哪些進程。再次確認后,進程將重啟,子系統改動生效。


維護包的發布結構
開始時,思科將以維護包的形式提供補丁,維護包中會包括一或多個補丁。補丁的基礎是基本鏡像。因此,當發布了一個Cisco IOS軟件版本,就開始啟動相應的一個補丁集成分支(PAIB)。在圖3中,頂部箭頭表示發現軟件缺陷的時間點。稍后,Cisco.com上即會提供一個維護包。維護包中將涵蓋所有補丁,包括以前為此特定PAIB所提供的維護包。
只要修復了缺陷并發布了維護包,此修復也將會與基本軟件版本同步(以前提供的Cisco IOS版本也采取同樣的方式)。這確保了所有已知的缺陷都得到立即修復,并自動集成到下一個維護版本中。
圖3 維護包的發布結構

當像12.2(18)SXF這樣的軟件版本上的維護支持結束時,在不再發布維護包后,PAIB將至少再持續一個月。一旦進行了Cisco IOS軟件模塊化增強的新版本(如12.2(18)SXG)發布,就會啟動一個新PAIB。較早的PAIB中所有的補丁都將集成到這個新版本中。正常的版本進程和維護重建流程都不會受到影響。PAIB支持是正常思科軟件支持策略的擴展,相當于精確度較高的維護版本。
安裝程序
為治理補丁,Cisco IOS軟件基礎設施中添加了一個新組件—安裝程序。安裝程序不僅可以增刪維護包,而且可以設置標記和重打包鏡像。它會記錄一個系統的全部修補歷史,無論它是運行中的系統(綁定的系統)還是安裝在同一介質的另一系統,均可為其記錄。
檢查
向系統添加維護包時,系統會執行多項檢查:
            系統執行進一步的檢查,以確保系統和維護包的所有安裝問題都能解決。
上述步驟的優勢在于,使用戶只安裝適用的維護包。假如在下載或安裝過程中維護包被破壞,安裝程序會禁止此維護包安裝到系統中。
新聞熱點
疑難解答