傳統的二層(ceng)技(ji)術只有一個(ge)stp生成樹(shu)協議,生成樹(shu)協議保證了接(jie)入的冗余性,但是對帶寬(kuan)資源造成了一定的浪費。自身的機制問題只(zhi)能(neng)block掉一個(ge)接(jie)口,這個(ge)接(jie)口是無法轉發流量的。

現在的數據中(zhong)心的接入解決(jue)方案就同時解決(jue)了鏈路冗(rong)余和鏈路有效利用的問題。解決(jue)方式就是堆(dui)疊和鏈路虛擬聚合(he)。
1.先說堆(dui)疊:
各個廠商都有解決方案(an),思科(ke)的(de)叫stack,華(hua)為的叫istack(intelligent stack),華三的叫irf(Intelligent Resilient Framework,智能彈性架構)。功能上(shang)都(dou)是(shi)大(da)(da)同(tong)小異,可以(yi)把(ba)兩(liang)臺(tai)以(yi)上(shang)的設(she)(she)備(bei)通過堆(dui)疊線連(lian)在一(yi)起(qi)(qi),這(zhe)樣多(duo)(duo)個(ge)(ge)(ge)(ge)設(she)(she)備(bei)就變成了(le)一(yi)個(ge)(ge)(ge)(ge)設(she)(she)備(bei),控制平面(mian)只有一(yi)個(ge)(ge)(ge)(ge)。端口不(bu)夠用(yong)的話,再(zai)添加新的設(she)(she)備(bei),這(zhe)樣大(da)(da)大(da)(da)提高了(le)可擴(kuo)展性。多(duo)(duo)個(ge)(ge)(ge)(ge)設(she)(she)備(bei)堆(dui)疊在一(yi)起(qi)(qi),只通過一(yi)個(ge)(ge)(ge)(ge)管(guan)理(li)口進行配置,從(cong)配置上(shang)來(lai)看不(bu)同(tong)的設(she)(she)備(bei)就變成了(le)一(yi)個(ge)(ge)(ge)(ge)設(she)(she)備(bei)的不(bu)同(tong)模塊。從(cong)接入服(fu)務器的角度來(lai)看,他(ta)只接入了(le)一(yi)個(ge)(ge)(ge)(ge)網絡設(she)(she)備(bei):

于是(shi)堆疊之(zhi)前一個交換機24個端(duan)口,兩個設備一堆(dui)疊(die)就變(bian)成了48個端口,能接入的服務器(qi)翻了一倍。同時服務器(qi)雙上聯保證了鏈(lian)路(lu)和冗(rong)余(yu)性(xing)和網絡設備的冗(rong)余(yu)性(xing)。服務器(qi)和交換機進行lacp鏈路聚合協議進行捆綁(bang),流量可以負擔到不同的(de)鏈路上。
2.再看下虛擬鏈路聚合技術:
這里舉(ju)兩個廠家的例子(zi)。華為的解決(jue)方(fang)案叫(jiao)M-LAG(Multichassis Link Aggregation Group),思科的叫(jiao)VPC(virtual port channel)。物理架構上(shang)和堆疊(die)類似,不過接入(ru)只能是兩(liang)個設備連(lian)接在(zai)一起(qi)。中間(jian)通(tong)過心(xin)跳線keep alive連(lian)接進(jin)行主(zhu)備(bei)的選舉(ju),控(kong)制(zhi)類協議的交互,額外(wai)還有peer link線(xian)連接用于(yu)流(liu)量的轉發(fa)。同樣(yang)的對于(yu)接入的服(fu)務器而(er)言,這倆設(she)備也是虛擬(ni)成一個設(she)備。

但是對(dui)于管理(li)員來說,這(zhe)就(jiu)是兩(liang)個不同的設(she)備,每個設(she)備各有一(yi)(yi)個管理(li)口(kou),配置(zhi)需要單(dan)獨(du)進行配置(zhi)和維(wei)護。兩(liang)個設(she)備又有自己(ji)的一(yi)(yi)套控制和轉發平面(mian),只不過對(dui)于一(yi)(yi)個接入的服(fu)務器(qi)而言(yan),二者(zhe)的轉發平面(mian)又是同步的(如(ru)mac表(biao)、arp表是一樣(yang)的(de)),這樣(yang)流量不管到了哪個設備(bei)上,設備(bei)都可以把數據自(zi)動轉發給(gei)下面(mian)的(de)服(fu)務(wu)器。
從鏈(lian)路(lu)(lu)冗余上看,服務器(qi)兩條(tiao)鏈(lian)路(lu)(lu)上聯(lian),兩個交換機(ji)互(hu)為(wei)主備(bei)也保(bao)證了設(she)備(bei)級別的(de)冗余,一個設(she)備(bei)掛掉也不影響流量的(de)轉(zhuan)發。接入鏈(lian)路(lu)(lu)也可以進行lacp捆綁保證兩條鏈路都能承(cheng)載流量。從(cong)冗余性和(he)(he)鏈(lian)路利用情況來說,堆疊和(he)(he)虛(xu)擬(ni)鏈(lian)路聚合技術貌(mao)似是一樣的,甚至(zhi)堆疊看(kan)起來配(pei)置更加(jia)簡單(dan),而(er)且擴展(zhan)性更好,那么為什么還要(yao)有M-LAG或者vPC這種技術(shu)的出現呢?
就是因為堆疊這種技術耦合性太強,兩個設備受一個控制平面控制,一旦控制平面出問題,對整個堆疊系統就會造成影響。比如堆疊環境中主設備掛掉,備設備接管流量,但是主設備重啟后加入堆疊會導致兩個設備一起重啟,這是非常可怕的。同時在升級過程中堆疊的升級更繁瑣,先要拆堆疊,然后單獨升級,升級完成后再加入堆疊,這個過程中還要注意設備的主備,一旦順序錯誤就會造成兩個設備的重啟。即使完全按照最佳實踐來升級,業務也會有一定程度的中斷,時間至少在分鐘級。但是(shi)M-LAG這種(zhong)技(ji)術,畢竟是兩個設備,升級過程(cheng)中流量的中斷在秒級,用戶基本沒(mei)有感(gan)知(zhi)。
綜(zong)上,如(ru)果你(ni)的網絡(luo)環境比較簡單(dan),業務沒(mei)有(you)(you)那(nei)么敏感,運維(wei)人員素質也一般,那(nei)么建議選(xuan)擇堆疊方(fang)案。如(ru)果你(ni)的公司的業務很(hen)重要,對網絡(luo)的可靠性要求很(hen)高,有(you)(you)一支業務能力強的運維(wei)團(tuan)隊,那(nei)么就選(xuan)虛擬聚合(he)鏈(lian)路這種方(fang)案。