最近在研究數據中心功能時發現思科有一個虛擬化技術叫vPC的技術,今天就把我研究的成果分享出來。什麼是vPC(virtual port channel)?研究了大半天,其實它就是一個可以跨不同設備的port-channel技術。它的作用:可以實現網絡冗余,可以跨設備進行端口聚合, 增加鏈路帶寬,當鏈路故障時比生成樹協議收斂時間還快。
下面我們就說說為什麼會出現vPC技術。
如上圖所示,在傳統的網絡拓撲中要實現網絡的冗余,一般都會使用雙鏈路上連的方式,而這種方式明顯有一個環路,在這種拓撲下都會開起生成樹協議, 這時就會有一種鏈路是block狀態的。所以這種方式實現冗余,並不會增加網絡帶寬。如果想用鏈路聚合方式來做雙鏈路上連到兩台不同的設備,port- channel功能又不支持跨設備聚合。所以在這種背景下就出現了vPC的概念,和port-channel功能相比區別是:vPC功能解決了傳統聚合端 口不能跨設備的問題。和傳統跨設備方案相比的區別是:即增強網絡冗余又能增加網絡帶寬。
vPC的部署拓撲如上圖所示,它與前面的傳統部署方案的優勢是:
1. 允許下行設備通過port channel跨兩個不同的上行設備。
2. 避免了以太網環路,也就不需要增加生成樹(STP)的功能,也就解決了因為生成樹功能而產生的block端口。
3. 增加了上行帶寬
4. 當鏈路或是設備出現故障可以實現快速的故障恢復
5. 確保高可靠性
6. 雙活工作機制
7. 實現網絡拓撲簡單化
目前據我所知在CISCO的Nexus 5000以上的型號都可以使用該功能。按上面的拓撲舉例如何在CISCO Nexus 5548上 配置vpc功能:
在Nexus01上配置如下:
Nexus01:
Nexus01#config t
Nexus01(config)# feature vpc //全局開啟vpc功能
Nexus01(config)# vpc domain 1
Nexus01(config-vpc-domain)# peer-keepalive destination 10.10.10.11 source 10.10.10.10 //指定peer的源和目標
Nexus01(config)# interface ethernet 1/31-32 //這兩個物理口加入channel 10
Nexus01(config-if-range)# switch mode trunk
Nexus01(config-if-range)# channel-group 10 mode active
Nexus01(config-if-range)# interface port-channel 10