天天看點

《Cisco IOS XR技術精要》一2.5 程序遷移

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

cisco ios xr技術精要

在cisco crs-1和cisco xr 12000系列路由器中,除了主備rp之外,還可以向系統中添加額外的路由處理器。額外的rp可以用來減緩活動rp(或rp對)的負載,有效地提高系統的整體處理能力。額外的rp對也可以構成主備的形式。程序從一台rp移動到另一台rp的過程被稱為程序遷移(process placement)。

在crs-1的環境中,分布式路由處理器(drp)卡提供了額外的靈活性和性能。活動rp安放在指定的槽位中。

在xr 12000的環境中,用作主處理器的prp可以充當drp的角色來提供額外的性能。prp可以安放在任何線卡槽位中。

程序遷移允許将資源密集的程序從活動rp遷移至drp上,進而實作系統性能的提升。drp并不執行任何機框指定之類的操作,該操作通常由rp來完成。在單框或多框的系統中,隻有活動rp才能成為指定機框控制器(dsc)。

被稱為placed(place守護程序)的程序管理着程序遷移特性。每個sdr上隻有一個placed程序。程序遷移能夠提供更優的系統資源分布能力,并增加系統的可用性。

配置程序遷移僅需要少量的指令便可實作,而且不要求對親源關系有着深入的了解。所謂親源(affinity),是指兩個不同種類事物之間的相似性或吸引力。可以将親源值了解成一種優先級,用來決定哪個程序将會被特定的rp吸引或排斥。程序遷移操作既可以是觸發的,也可以是手動執行的。程序遷移可以配置成當記憶體門限達到上限時,為避免系統不穩定而觸發、通過設定親源值使資源密集程序吸引另一節點時觸發,或被rp(drp)排斥時觸發。

cisco文檔詳細介紹了影響程序遷移操作的可配置的4種親源。下列親源資訊援引自ios xr軟體的程序遷移文檔。

可配置的4種親源如下。

affinity location set

affinity location type

affinity program

affinity self

affinity location set定義了運作在特定節點對上的程序的優先級。節點對(node pair)既可以是rp或drp上的一組主備節點,也可以是drp或drp上無備援備節點的單個主節點。

affinity location type定義了運作在特定類型位置上的程序的優先級。可用的位置類型如下。

paired:具有備節點的rp節點。

primary:sdr的活動rp節點(也被稱為特定安全域路由器機框控制器,dsdrsc)。

current:目前節點,這種方式會保留目前節點的程序類源優先級。

使用者可以配置遷移政策來允許某些程序保持現狀(current)或是通過指定不同的親源值将其遷移至其他位置。親源值越大,程序運作在特定位置的吸引力就越強烈。親源值較低或為零表示程序運作在特定位置的需求很低(或無需求)。

affinity program定義了當某一程序與另一程序運作在同一節點或不同節點時,該程序的優先級。當某些程序運作在相同節點(吸引)或不同節點彼此分開(排斥)時,會運作得更好。在上述環境中,使用者可能會用到這一親源。

affinity self用來調整當啟用了多個程序執行個體環境下的遷移行為。吸引親源(正數)表示設定的優先級将應用到程序運作在相同節點上的所有執行個體中,而排斥親源(負數)表示優先級将應用到程序運作在不同節點上的所有執行個體中。

指令show placement program all可以顯示出所有程序或線程分别所屬于哪個節點。如果想要以手動方式将程序從rp的預設位置遷移到drp,可以通過修改程序對節點的親源值(吸引力)來實作。在例2-13中,bgp程序被手動遷移到了路由器1(crs1-1)2槽的drp上。

例2-13 指令show placement program all輸出

《Cisco IOS XR技術精要》一2.5 程式遷移

我們在另外一台路由器(crs1-4)上再看一看預設的bgp程序遷移政策。指令show placement policy program < process-name> instance [x]可以檢視某個程式(程序)已配置或預設的遷移政策。建議使用者在使用這條指令的時候加上執行個體編号,否則會列出所有執行個體。例2-14給出了bgp程序的遷移政策。其中,rp上預設位置的affinity location type值為600。

例2-14 指令show placement policy program bgp instance 1輸出

《Cisco IOS XR技術精要》一2.5 程式遷移

在例2-15中,配置了路由器crs1-1将bgp程序遷移到2槽的drp上。例子中給出了配置指令并解釋了bgp程序是如何被“吸引”到drp上的。配置中,使用了affinity location set指定機框上的節點,并将親源值配置成了大于預設值(600)來吸引bgp程序。

例2-15 配置bgp程序遷移

《Cisco IOS XR技術精要》一2.5 程式遷移

在例2-15中,bgp程序被安置在了drp上。由于rp上帶有600的親源值(隻是比drp上的親源值小),是以rp上對程序的吸引力仍是有效的。如果drp出現故障或服務中斷,bgp程序将會遷移回rp。由于程序被遷移并在新位置上重新啟用,是以bgp peer的流量會有一定程度的丢失,業務中斷時間取決于配置了何種高可用(ha)特性。

在調整路由器的親源關系時,指令placement reoptimize也是必不可少的。配置這條指令後,系統将會比較所有的親源值,并執行必要的程序遷移修改。在cisco ios xr作業系統中配置了此指令并commit了之後,rp和drp節點上的程序會基于記憶體和cpu的使用率,重新優化可遷移程序。在未對配置進行修改的情況下,沒有必要使用此指令,ios xr作業系統會根據觸發的門限執行優化。

繼續閱讀