ESXi與物理交換機靜態鏈路聚合配置過程中的小陷阱


作者:陸斌
文章來自微信公眾號:平台人生

內容簡介:ESXi與物理交換機之間配置靜態鏈路聚合時,因為靜態鏈路聚合的特點,在進行down網卡和從虛擬交換機移除網卡的操作時,可能會無法完成故障流量切換,影響到虛擬機的運行。本文對其中的原理進行了分析。

鏈路聚合(link aggregation)是將多個物理端口綁定為單一邏輯組的行為。在日常應用中,鏈路聚合的配置模式有兩種:靜態模式和動態模式。動態聚合的鏈路聚合,即大名鼎鼎的LACP,不再多做介紹,這里我們主要聊聊靜態模式的鏈路聚合。靜態模式,顧名思義,配置即生效,沒有協商,聚合組創建之后立刻顯示為“啟動”狀態,即使線路另一端的對應端口沒有正確配置,也依然為“啟動狀態”,就是這么任性。
當我們配置vSphere ESXi主機虛擬標准交換機(VSS)時,如果采用了雙網卡綁定,並想使用“基於IP HASH 哈希的路由”這一負載平衡策略,必要條件是——與ESXi主機上行鏈路相連的物理交換機必須配置靜態模式的鏈路聚合。只有物理交換機配置了鏈路聚合,ESXi主機VSS網卡綁定使用的“基於IP HASH哈希的路由”負載平衡策略才能夠將網絡流量均衡的分配到兩塊物理網卡,實現上行鏈路網絡流量均衡和上行物理鏈路冗余。如果要問為什么不配置動態模式的鏈路聚合,原因很簡單,虛擬標准交換機(VSS)不支持LACP協商,我們的選擇只有一個——靜態模式的鏈路聚合。


圖1.基於IP哈希的路由負載均衡策略

圖2. ESXi與物理交換機靜態鏈路聚合配置示例

一切配置就緒,總得測試一把,按照正常情況,鏈路聚合組中的一個端口失效后,網絡流量應該會發生故障切換,那么從ESXi這邊看,怎樣才能使鏈路聚合組中的一個端口失效呢,我們很快會想到如下辦法:down網卡(使用命令esxcli network nic down –n vmnicX)、從虛擬交換機移除網卡。當我們進行上述兩個操作時,會發現物理交換機上與被down掉或被移除網卡對應的端口並沒有失效,端口狀態依然為UP,流量也沒有發生故障切換,這是怎么回事?


圖3.從虛擬交換機移除網卡

原來,一切就源於“靜態模式”鏈路聚合。在配置靜態模式鏈路聚合后,物理交換機端檢測聚合端口是否生效,是通過鏈路的物理狀態,即電信號,只要鏈路的電信號存在,端口即被認為是UP狀態,而不管對端有沒有正確配置。由此,我們可以得出如下分析:
(1)當down掉ESXi上的一塊網卡時,如果網卡的驅動程序不能切斷網卡的電信號,那么上聯物理交換機並不會感知到相連對端虛擬交換機聚合組中有成員被down掉,還是繼續從被down掉網卡對應的端口發送數據,不會發生故障流量切換。
(2)當從虛擬交換機移除網卡時,該網卡只是不再被ESXi使用,但是其電信號依然存在,上聯物理交換機並不會感知相連對端虛擬交換機聚合組中有成員被移除,還是繼續從被移除網卡對應的端口發送數據,也不會發生故障流量切換。

通過以上的分析可以看出,在配置靜態鏈路聚合后,如果要使聚合組中的成員失效,必須要切斷其對應物理鏈路的電信號,否則物理交換機就會認為相應端口在聚合組中的狀態為UP,不會發生故障流量切換。這就是我們發現的ESXi與物理交換機靜態鏈路聚合配置過程中的小陷阱。
在發現以上“小陷阱”后,我們又在多種型號服務器和物理交換機組合上對拔網線、down網卡、從虛擬交換機移除網卡這三種操作進行了測試,得出了以下結論:
(1)拔網線,能夠保證使物理交換機靜態鏈路聚合組中的成員狀態為Down,發生故障流量切換。
(2)down網卡,與服務器使用的網卡型號和驅動程序相關,如果網卡的驅動程序在執行down網卡操作時能夠切斷網卡的電信號,那么就可以使物理交換機靜態鏈路聚合組中的成員狀態為Down,發生故障流量切換;否則無法發生故障流量切換。
(3)從虛擬交換機移除網卡,物理交換機始終會認為相應的物理鏈路電信號正常,不會發生故障流量切換。

知道了以上小陷阱后,如果我們的環境中配置了靜態鏈路聚合,在進行down網卡和從虛擬交換機移除網卡的操作時,就要小心了。如果有重要的虛擬機在運行,且上行鏈路配置了靜態鏈路聚合,強烈建議您不要輕易進行down網卡和從虛擬交換機移除網卡的操作,以防發生不測。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM