IRF簡介
IRF(Intelligent Resilient Framework,智能彈性架構)是H3C自主研發的軟件虛擬化技術。它的核心思想是將多台設備連接在一起,進行必要的配置后,虛擬化成一台設備。
使用這種虛擬化技術可以集合多台設備的硬件資源和軟件處理能力,實現多台設備的協同工作、統一管理和不間斷維護。
IRF的優點
1)簡化管理:IRF形成之后,用戶通過任意成員設備的任意端口都可以登錄IRF系統,對IRF內所有成員設備進行統一管理。
2)1:N備份:IRF由多台成員設備組成,其中,主設備負責IRF的運行、管理和維護,從設備在作為備份的同時也可以處理業務。一旦主設備故障,系統會迅速自動選舉新的主設備,以保證業務不中斷,從而實現了設備的1:N備份。
3)跨成員設備的鏈路聚合:IRF和上、下層設備之間的物理鏈路支持聚合功能,並且不同成員設備上的物理鏈路可以聚合成一個邏輯鏈路,多條物理鏈路之間可以互為備份也可以進行負載分擔,當某個成員設備離開IRF,
其它成員設備上的鏈路仍能收發報文,從而提高了聚合鏈路的可靠性。
4)強大的網絡擴展能力:通過增加成員設備,可以輕松自如地擴展IRF的端口數、帶寬。因為各成員設備都有CPU,能夠獨立處理協議報文、進行報文轉發,所以IRF還能輕松自如的擴展處理能力。
IRF的基本概念
1.成員設備的角色:
主設備:負責管理和控制整個IRF。
從設備:處理業務、轉發報文的同時作為主設備的備份設備運行。當主設備故障時,系統會自動從從設備中選舉一個新的主設備接替原主設備工作。
2.成員優先級
成員優先級是成員設備的一個屬性,主要用於角色選舉過程中確定成員設備的角色。優先級越高當選為主設備的可能性越大。
設備的缺省優先級均為1,如果想讓某台設備當選為主設備,則在組建IRF前,可以通過命令行手工提高該設備的成員優先級。
3.MAD
IRF鏈路故障會導致一個IRF分裂成多個新的IRF。這些IRF擁有相同的IP地址等三層配置,會引起地址沖突,導致故障在網絡中擴大。MAD(Multi-Active Detection,多Active檢測)機制用來進行
IRF分裂檢測、沖突處理和故障恢復,從而提高系統的可用性。
4.角色選舉
角色選舉中按照如下優先級順序選擇主設備:
1)當前的主設備優先,即IRF不會因為有新的成員設備加入而重新選舉主設備即使新的成員設備有更高優先級。該規則不適用於IRF形成時,此時所有加入的設備都認為自己是主設備。
2)成員優先級大的設備。
3) 系統運行時間長的設備。在IRF中,運行時間的度量精度為10分鍾,即如果設備的啟動時間間隔小於等於10分鍾,則認為它們運行時間相等。
4) CPU MAC地址小的設備。
通過以上規則選出的最優成員設備即為主設備,其它成員設備均為從設備。
IRF建立時,所有從設備必須重啟加入IRF。
獨立運行的IRF合並時,競選失敗方的所有成員設備必須重啟加入獲勝方。
5.IRF 的連接拓撲
IRF 的連接拓撲有兩種:鏈形連接和環形連接,如圖所示。
• 鏈形連接對成員設備的物理位置要求比環形連接低,主要用於成員設備物理位置分散的組網。
• 環形連接比鏈形連接更可靠。因為當鏈形連接中出現鏈路故障時,會引起IRF 分裂;而環形連接中某條鏈路故障時,會形成鏈形連接,IRF 的業務不會受到影響。
6.IRF 中的配置文件同步
IRF 技術使用了嚴格的配置文件同步機制,來保證IRF 中的多台設備能夠像一台設備一樣在網絡中工作,並且在主設備出現故障之后,其余設備仍能夠正常執行各項功能。
• IRF 中的從設備在啟動時,會自動尋找主設備,並將主設備的當前配置文件同步到本地並執行;如果IRF中的所有設備同時啟動,則從設備會將主設備的起始配置文件同步至本地並執行。
IRF從設備上的原配置文件還在,但不再生效,除非設備恢復到獨立運行模式。
• 在 IRF 正常工作后,用戶所進行的任何配置,都會記錄到主設備的當前配置文件中,並同步到IRF 中的各個設備執行。、
通過即時的同步,IRF 中所有設備均保存相同的配置文件,即使主設備出現故障,其它設備仍能夠按照相同的配置文件執行各項功能。
7.MAD功能
IRF 鏈路故障會導致一個IRF 變成多個新的IRF。這些IRF 擁有相同的IP 地址等三層配置,會引起地址沖突,導致故障在網絡中擴大。為了提高系統的可用性,當IRF 分裂時我們就需要一種機制, 能夠檢測出網絡中同時存在多個IRF,
並進行相應的處理,盡量降低IRF 分裂對業務的影響。MAD(Multi-Active Detection,多Active 檢測)就是這樣一種檢測和處理機制。MAD 主要提供分裂檢測、沖突處理和故障恢復功能。
1)分裂檢測
通過 LACP(Link Aggregation Control Protocol,鏈路聚合控制協議)、BFD(Bidirectional Forwarding Detection,雙向轉發檢測)、ARP(Address Resolution Protocol,地址解析協議)或者ND(NeighborDiscovery,鄰居發現)
來檢測網絡中是否存在多個IRF。同一IRF 中可以配置一個或多個檢測機制。
2)沖突處理
IRF 分裂后,通過分裂檢測機制IRF 會檢測到網絡中存在其它處於正常工作狀態的IRF。
• 對於 BFD MAD 和LACP MAD 檢測,沖突處理方式為:
a. 比較兩個IRF 中成員設備的數量,數量多的IRF 繼續工作,數量少的遷移到Recovery 狀態(即禁用狀態)。
b. 如果成員數量相等,則主設備成員編號小的IRF 繼續工作,其它IRF 遷移到Recovery 狀態。
• 對於 ARP MAD 和ND MAD 檢測,沖突處理方式為:
a. 主設備成員編號小的IRF 繼續工作;其它IRF 遷移到Recovery 狀態。
IRF 遷移到Recovery 狀態后會關閉該IRF 中所有成員設備上除保留端口以外的其它所有業務端口,以保證該IRF 不能再轉發業務報文。
3)MAD 故障恢復
IRF 鏈路故障導致IRF 分裂,從而引起多Active 沖突。因此修復故障的IRF 鏈路,讓沖突的IRF 重新合並為一個IRF,就能恢復MAD 故障。
IRF 鏈路修復后,系統會自動重啟處於Recovery 狀態的IRF。重啟后,原Recovery 狀態IRF 中所有成員設備以從設備身份加入原正常工作狀態的IRF,原Recovery 狀態IRF 中被強制關閉的業務接口會自動恢復到真實的物理狀態,整個IRF 系統恢復。
MAD檢測機制
1.設備支持的MAD 檢測方式有:LACP MAD 檢測、BFD MAD 檢測、ARP MAD 檢測和ND MAD 檢測。
2.LACP MAD 檢測
LACP MAD 檢測通過擴展LACP 協議報文實現,通常采用如圖所示的組網:
• 每個成員設備都需要連接到中間設備。
• 成員設備連接中間設備的鏈路加入動態聚合組。
• 中間設備需要支持擴展LACP 報文。
開啟LACP MAD 檢測后,成員設備通過LACP 協議報文和其它成員設備交互DomainID 和ActiveID 信息。
• 如果 DomainID 不同,表示報文來自不同IRF,不需要進行MAD 處理。
• 如果 DomainID 相同,ActiveID 也相同,表示沒有發生多Active 沖突。
• 如果 DomainID 相同,ActiveID 不同,表示IRF 分裂,檢測到多Active 沖突。
3.BFD MAD 檢測
BFD MAD 檢測通過BFD 協議實現。我們可以使用以太網端口或管理用以太網口來實現BFD MAD檢測。
使用管理用以太網口實現BFD MAD時必須使用中間設備(如圖1-9所示),並請注意如下組網要求:
• 每台成員設備都使用管理用以太網口和中間設備建立BFD MAD 檢測鏈路。
• 為每台成員設備的管理用以太網口配置MAD IP 地址。
使用以太網端口實現BFD MAD 時,請注意如下組網要求:
• 不使用中間設備時,每台成員設備必須和其它所有成員設備之間建立BFD MAD 檢測鏈路(如圖1-10 所示)。使用中間設備時(如圖1-9 所示),每台成員設備都需要和中間設備建立BFDMAD 檢測鏈路。
• 用於 BFD MAD 檢測的以太網端口加入同一VLAN 或同一三層聚合組,在該VLAN 接口視圖或三層聚合接口視圖下為每台成員設備配置MAD IP 地址。
需要注意的是:
• 建議首選管理用以太網口實現BFD MAD。
• BFD MAD 檢測鏈路和BFD MAD 檢測VLAN 或BFD MAD 檢測三層聚合接口必須是專用的,不允許配置任何其它特性。
• MAD IP 地址應該為同一網段內的不同IP 地址。
• 兩台以上設備組成IRF 時,請優先采用中間設備組網方式,避免特殊情況下全連接組網中可能出現的廣播環路問題。
• 使用三層聚合接口配置BFD MAD 時,聚合成員端口的個數不能超過聚合組最大選中端口數。否則,由於超出聚合組最大選中端口數的成員端口無法成為選中端口,會使BFD MAD 無法正常工作,工作狀態顯示為Faulty。
BFD MAD 實現原理如下:
• 當 IRF 正常運行時,只有主設備上配置的MAD IP 地址生效,從設備上配置的MAD IP 地址不生效,BFD 會話處於down 狀態;(使用display bfd session 命令查看BFD 會話的狀態。
如果Session State 顯示為Up,則表示激活狀態;如果顯示為Down,則表示處於down狀態)。
• 當 IRF 分裂形成多個IRF 時,不同IRF 中主設備上配置的MAD IP 地址均會生效,BFD 會話被激活,此時會檢測到多Active 沖突。
4.ARP MAD 檢測
ARP MAD 檢測是通過使用擴展ARP 協議報文交互IRF 的DomainID 和ActiveID 實現的。
使用管理用以太網口實現ARP MAD 時必須使用中間設備(如圖1-11 所示),並請注意如下組網要求:
• 每台成員設備都使用管理用以太網口連接到中間設備。
• 在中間設備上,所有連接成員設備的端口需要加入同一VLAN。
使用以太網端口實現ARP MAD 時,可以使用中間設備,也可以不使用中間設備。
• 使用中間設備時,每台成員設備都需要和中間設備建立連接,如圖1-11 所示。IRF 和中間設備之間需要運行生成樹協議。可以使用數據鏈路作為ARP MAD 檢測鏈路。
• 不使用中間設備時,每台成員設備必須和其它所有成員設備之間建立ARP MAD 檢測鏈路。
開啟 ARP MAD 檢測后,成員設備通過ARP 協議報文和其它成員設備交互DomainID 和ActiveID信息。
• 如果 DomainID 不同,表示報文來自不同IRF,不需要進行MAD 處理。
• 如果 DomainID 相同,ActiveID 也相同,表示沒有發生多Active 沖突。
• 如果 DomainID 相同,ActiveID 不同,表示IRF 分裂,檢測到多Active 沖突。
5.ND MAD 檢測
ND MAD 檢測是通過擴展ND 協議報文內容實現的,即使用ND 的NS 協議報文攜帶擴展選項數據來交互IRF 的DomainID 和ActiveID。
我們可以使用以太網端口或管理用以太網口實現ND MAD 檢測。
使用管理用以太網口實現ND MAD時必須使用中間設備(如圖1-12所示),並請注意如下組網要求:
• 每台成員設備都使用管理用以太網口連接到中間設備。
• 在中間設備上,所有連接成員設備的端口需要加入同一VLAN。
使用以太網端口實現ND MAD 時,可以使用中間設備,也可以不使用中間設備。
• 使用中間設備時,每台成員設備都需要和中間設備建立連接,如圖1-12 所示。IRF 和中間設備之間需要運行生成樹協議。
• 不使用中間設備時,每台成員設備必須和其它所有成員設備之間建立ND MAD 檢測鏈路。
開啟 ND MAD 檢測后,成員設備通過ND 協議報文和其它成員設備交互DomainID 和ActiveID 信息。
• 如果 DomainID 不同,表示報文來自不同IRF,不需要進行MAD 處理。
• 如果 DomainID 相同,ActiveID 也相同,表示沒有發生多Active 沖突。
• 如果 DomainID 相同,ActiveID 不同,表示IRF 分裂,檢測到多Active 沖突。
1)交換機A配置
(1)選定IRF物理端口並關閉這些端口
[FC-RX_5F-Core]int range t1/0/25 to t1/0/26 [FC-RX_5F-Core-if-range]shutdown
(2)配置IRF端口1/1,並將它與物理端口Ten-GigabitEthernet1/0/25和Ten-GigabitEthernet1/0/26綁定
irf-port 1/1 port group interface Ten-GigabitEthernet1/0/25 mode normal port group interface Ten-GigabitEthernet1/0/26 mode normal
(3)開啟Ten-GigabitEthernet1/0/25~Ten-GigabitEthernet1/0/26端口,並保存配置。
(4)激活IRF端口下的配置
[FC-RX_5F-Core]irf-port-configuration active
(5)配置irf優先級
irf member 1 priority 32
(6)常用配置
irf mac-address persistent timer irf auto-update enable undo irf link-delay
2)交換機B配置
(1)將Device B的成員編號配置為2,並重啟設備使新編號生效。
[FC-RX_5F-Core]irf member 1 renumber 2
Renumbering the member ID may result in configuration change or loss. Continue? [Y/N]:y
(2)同交換機A配置IRF接口
(3)配置irf優先級
irf member 2 priority 1
(4)常用配置
irf mac-address persistent timer irf auto-update enable undo irf link-delay
3)Device A和Device B間將會進行主設備競選,競選失敗的一方將重啟,重啟完成后,IRF形成。
5.查看irf配置
[FC-RX_5F-Core]dis irf configuration MemberID NewID IRF-Port1 IRF-Port2 1 1 Ten-GigabitEthernet1/0/25 disable Ten-GigabitEthernet1/0/26 2 2 disable Ten-GigabitEthernet2/0/25 Ten-GigabitEthernet2/0/26
[FC-RX_5F-Core]dis irf link Member 1 IRF Port Interface Status 1 Ten-GigabitEthernet1/0/25 UP Ten-GigabitEthernet1/0/26 UP 2 disable -- Member 2 IRF Port Interface Status 1 disable -- 2 Ten-GigabitEthernet2/0/25 UP Ten-GigabitEthernet2/0/26 UP
[FC-RX_5F-Core]dis irf topology Topology Info ------------------------------------------------------------------------- IRF-Port1 IRF-Port2 MemberID Link neighbor Link neighbor Belong To 2 DIS --- UP 1 f010-90db-7402 1 UP 2 DIS --- f010-90db-7402