一些服務器虛擬化軟件可實現在兩台虛擬化的物理服務器之間對虛擬機做動態遷移,遷移至另一中心的虛擬機不僅保留原有IP地址,而且還保持遷移前的運行狀態(如TCP會話狀態),所以必須將涉及虛擬機,遷移的物理服務器接入同一個二層網絡(虛擬機在遷移前后的網關不變),這種應用場景要求構建跨中心的二層互聯網絡。
我的理解是,僅僅IP不變這一條件就要保證VLAN不改變(否則會引起路由動盪吧?),但這與保持遷移前的會話狀態有何關系?
==這是一個很好的問題,先來假設如果數據中心是三層互聯,會出現什么幺蛾子。假定服務器A的IP為10.1.1.10/24,網關為10.1.1.1,數據中心三層互聯,那三層連接的兩個數據中心不可能使用同一網段的IP,另外一個數據中心不會再使用10.1.1.0/24 這個網段,否則如何路由?(如果有人說用NAT可以解決地址沖突問題,當我這里的文字沒寫)所以如果做服務器在不同數據中心的遷移,必須要給服務器重新分配不同的IP。所以TCP連接肯定斷,另外增加網絡管理負擔。
如果數據中心是二層互聯,服務器遷移前后在同一個VLAN中,服務器A可以繼續使用10.1.1.10,如果只有一個網關GW1,假定服務器A從DC1遷移到DC2遷移前的雙向流量模型:
客戶端--->GW1---->A
A--->GW1---->客戶端
遷移后的雙向流量模型:
客戶端--->GW1---->DC1 二層ED1====>DC2 ED2 ---->A
A--->DC2 層ED2====>DC1 ED1 ---->GW1--->客戶端
圖中二層ED(Edge Device) 代表負責二層互聯的設備服務器遷移到新的DC,一般會發送主動ARP,即gratuitous ARP,可以刷新二層交換機的轉發表,即使不發ARP,流量數據可能會有一些丟失,很快服務器A會發送TCP retransmit ,流量包同樣可以刷新交換機的轉發表,即MAC對應交換機端口的映射表。
如果在每個DC都有GW,假定GW2為DC2的網關,流量模型很類似,有一點變化:
客戶端--->GW1---->DC1 二層ED1====>DC2 ED2 ---->A
A--->GW2--->客戶端==