天天看點

《Cisco IOS XR技術精要》一2.6 Cisco IOS XR系統資料庫

本節書摘來自異步社群《cisco ios xr技術精要》一書中的第2章,第2.6節,作者 【美】mobeen tahir , mark ghattas , dawit birhanu , syed natif nawaz,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

cisco ios xr技術精要

由于ios xr是為大型分布式系統而設計的,是以,在配置和可操作資料上,使用一種分布式的資料存儲機制是至關重要的。在ios xr中,一套系統包括一台或多台安全域路由器(sdr)。每塊lc或rp隻能關聯到一台sdr上。不過,sdr可以共享某些常用硬體元件,包括機框、電源、風扇、風扇控制器,以及矩陣卡。

cisco ios xr系統資料庫(sysdb)為應用提供了如儲存、修改、通路系統資訊等常見機制。sysdb通過層次性的命名空間建構了完全分布的記憶體資料存儲。這是通過将sysdb命名空間分割成admin(管理)、shared(共享)和local(本地)三個獨立平面來實作的。每個sysdb伺服器程序隻與共享平面、本地平面或管理平面其中的某個精确地相關聯,并且隻能通路自己平面内的資料。sysdb用于存放配置(cfg)和運作狀态(oper)資料。cfg sysdb中通常是使用者可配置的資料,如接口ip位址。oper sysdb中存放系統的運作狀态資料,如接口協定的up/down狀态。

cisco ios xr sysdb可提供以下服務。

由階層化命名空間構成的分布式記憶體資料存儲。sysdb同時可存儲配置和運作狀态資料。

通路資料。應用元件(如bgp、arp、fib)和管理實體(如xml、cli、snmp)可以建立、删除、設定、擷取sysdb資料。cfg sysdb資料隻能由管理實體來建立、删除或修改。oper sysdb資料隻能由應用元件來建立、删除或修改。sysdb還可提供清單及查找操作。

當一個應用或管理實體試圖建立、更新或删除某條資料時,sysdb會向其注冊的應用發送一條确認消息。如果應用接受修改,sysdb将向應用發送一條執行消息,随後應用執行修改操作。

提供通告服務。當資料被建立、删除或修改時,相應的應用會收到通告資訊。

應用還可注冊成外部資料管理器(edm)來管理對sysdb命名空間分支(子樹)的通路。對已注冊edm子樹的通路請求将會被sysdb重定向到edm應用。

共有4種以分布方式運作的不同sysdb程序類型組成了sysdb的命名空間。表2-4列出了sysdb程序。圖2-7顯示了sysdb程序是如何與其他sysdb程序以及應用或管理程序進行互動的。

《Cisco IOS XR技術精要》一2.6 Cisco IOS XR系統資料庫

sysdb的功能及操作可以通過以下這個例子來解釋。比如某個使用者進入全局配置模式并修改了配置。注意在cisco ios xr中,使用者需要commit(送出)來使修改的配置應用到系統上。使用者修改了接口tengig0/2/0/0的ip位址并将其加入到ospf區域0中。接下來使用者試圖使用指令commit送出配置。下文解釋了當使用者commit配置之後,sysdb是如何工作的。

《Cisco IOS XR技術精要》一2.6 Cisco IOS XR系統資料庫

活動rp上的config程序發送一條消息給本地sysdb用戶端。sysdb用戶端會向共享平面sysdb伺服器發送一條ospf部分的配置确認消息,同時向2槽位(0/2/cpu0)的本地平面sysdb伺服器發送一條接口部分的配置确認消息。

在共享平面sysdb伺服器注冊了ospf配置資料确認消息之後,會向ospf程序發送一條消息。ospf程序接受配置修改後,sysdb伺服器将會向ospf程序發送配置應用請求。随後sysdb更新配置資料。

與此同時,0/2/cpu0上的本地sysdb伺服器注冊了接口配置資料确認消息之後,會向ipv4_ma程序發送一條消息。ipv4_ma程序負責管理本地節點上接口的ipv4相關配置。ipv4_ma接受配置修改後,sysdb伺服器會向ipv4_ma程序發送配置應用請求,随後sysdb更新配置資料。

總的來說,應用元件或管理實體可以通過與sysdb注冊來實作:

通路或提供配置資料;

通路或提供操作資料;

确認資料修改;

通告資料修改;

作為edm管理sysdb子樹。

sysdb提供了檢視通知、驗證注冊、連接配接、追溯,以及與sysdb用戶端和伺服器相關的cli指令。

比如想要确認sysdb中ipv4_static程序已注冊的驗證資訊,使用指令show sysdb registrations verification < ipv4_staticjid > shared-plane,如例2-16所示。

例2-16 sysdb驗證注冊

《Cisco IOS XR技術精要》一2.6 Cisco IOS XR系統資料庫

如果想要确認sysdb中bgp程序已注冊的通知資訊,使用指令show sysdb registrations notification < bgp jid> shared-plane,如例2-17所示。

例2-17 sysdb通知注冊

《Cisco IOS XR技術精要》一2.6 Cisco IOS XR系統資料庫

想要确認與用作edm的statsd程序注冊的是哪個sysdb子樹,使用指令show sysdb registrations emdjob < statsd jid> location < r/s/m>,如例2-18所示。

例2-18 使用sysdb注冊成edm的程序

《Cisco IOS XR技術精要》一2.6 Cisco IOS XR系統資料庫

對于管理平面sysdb伺服器,需要在admin模式下使用show sysdb指令。