1. 程式人生 > >網路“高速公路”首秀雙11 | 探祕阿里巴巴HAIL資料中心網路

網路“高速公路”首秀雙11 | 探祕阿里巴巴HAIL資料中心網路

對於技術人員而言,每年的雙11都是一次技術盛宴,是對系統性能的極致挑戰,對系統穩定性的終極考驗。從2009到2018這十年間,交易額達到今天的2135億,每秒訂單建立的峰值也是屢創新高,對於攻城獅來說,這不僅僅是數字的飛躍和世界記錄的重新整理。今天這個超級數字的背後,是交易、搜尋,到中介軟體、儲存、資料庫等等這些龐大分散式系統的計算和IO能力的飛躍。而支撐這些系統能力高速不間斷運轉的,則是底層網路技術。

資料中心網路作為這些大型分散式系統內部的高速公路,越來越多的承載著計算和儲存系統IO延伸的作用,網路即IO。更高的頻寬、更低延時才能給業務系統帶來更加極致的效能表現。

2018年雙11,阿里巴巴資料中心網路的主角,是阿里巴巴全新一代網路架構5.1,架構的專案代號為HAIL(1.0版本,後續還有region級別的架構演進HAIL2.0)。

HAIL代表“High Availability、Intelligence, and Low latency”,是5.1網路架構設計核心思想和目標的最直白體現。其中,RDMA、去堆疊、流量視覺化 等是HAIL 5.1網路架構的核心關鍵詞。

High Intelligence依託於network telemetry技術和自動化平臺的能力構建了整個5.1資料中心網路架構自動化和智慧化基石。關於這些方面,HAIL 5.1架構中有很多業界首創性的嘗試,由於各種原因不在本文中介紹。

High Availability的關鍵設計——去堆疊

高可用是基礎網路永恆的使命,而這個目標看起來簡單直接,卻並不是那麼容易做到。5.1網路架構的雙上聯去堆疊設計,為高可用的目標增加了強有力的支撐。

堆疊為我們帶來了什麼,為什麼去堆疊?

為了支援業務的高可用,阿里巴巴網路架構歷來都是採用雙上行接入的方式,從Server的接入link到TOR的層面都實現了雙活備份,使得一條link的故障,或者一臺TOR的故障對於業務系統的可用性影響降到最低,會出現高水位時效能的損失但是不會出現服務不可用。

傳統的雙活接入的方式,業界通用的方法都是通過兩臺TOR交換機實現vpc/mlag/堆疊這類技術來實現,而這種雙活技術要求兩臺交換機之間通過協議互動轉發表項資訊,甚至堆疊技術要求兩臺TOR在管理和轉發層面都merge成為一臺裝置,這在無形中增加了技術複雜度和出問題的概率。實際執行過程中也體現了這一點,兩臺TOR由於堆疊系統的軟硬體bug原因導致同時宕機的情況屢見不鮮,對業務系統的穩定性形成了很大的挑戰。

去堆疊設計

5.1網路架構中,我們創新性的實現了伺服器雙活接入+TOR去堆疊(如下圖),在保證伺服器雙活接入的可用性前提下,解決了堆疊系統本身穩定性所帶來的問題。支撐2018年雙11的所有5.1網路叢集和數以萬計的伺服器,都是執行在阿里自主設計開發的去堆疊技術之上, 使得5.1架構在雙11的流量壓力和高可用要求下,更加從容應對。

83827ddb8ed871cccb5e4b5e07c3622ddf2f2462

網路去堆疊設計的基本原則:在網路裝置上通過feature實現,使所有業務訪問均走三層轉發,利用三層轉發的路由傳遞能力覆蓋所有failover場景,同時保持伺服器的bond接入生態,在主機側做最小的改動。

網路側

· arp轉換為host路由。所有ASW上學習到的arp都轉換為/32主機路由(host-route);

· LACP sysID可設定。可以對兩臺ASW進行LACP sysID設定以達到兩臺ASW與下聯Server的兩條鏈路完成LACP協商;

· arp proxy。ASW使用自身mac地址代答所有主機或者虛擬主機的arp,使所有主機間的互訪在網路裝置上進行三層轉發。

主機側

· 我們在伺服器上實現arp報文在bond slave埠TX方向上的broadcast。如下圖所示

ac050ff3645c109a705df8719e834f51e9e75a50

這個模組實現對arp報文在多個bond slave上的broadcast,可以協助兩臺交換機來同步arp。

Low latency —— RDMA技術第一次大規模應用考驗

業務系統有兩個非常關鍵的業務指標,即Throughput(吞吐量,單位時間內可以處理的請求數或執行的任務數)和Latency(時延,系統在處理一個請求或一個任務時的延遲)。當然不同的業務場景中,對於Throughput和Latency的訴求也會不盡相同,側重點也會有所不同。然而無論如何,Low Latency是永恆的追求,Latency越小,在同等系統資源條件下,就能獲得更大的Throughput。

5.1網路架構在Low latency方面有兩個方面的設計實現。

1. scale out設計中,PSW裝置改為單晶片裝置,從轉發路徑上減小了PSW層面轉發的晶片數從而減小了轉發節點數,降低了一個pod內部互動的轉發時延。而以往架構採用框式裝置,一個PSW節點的轉發需要經過三跳。

2603c9d1ce836037bdd75725da8abca2bb617ebe

2. HAIL 5.1網路架構以POD為單位支援RDMA,給業務提供了目前業界最強的高效能低延時網路技術方案。(當然,1.中對PSW的單晶片設計也大大簡化了RDMA部署的複雜度,這兩個設計相輔相成)

近幾年,當我們討論Low latency時, RDMA是繞不開的話題。大家都在討論IB、iWrap、RoCE的優劣和取捨的時候,實際上阿里巴巴已經實現了業界最大規模的RDMA 部署,同時也經受了當今世界最嚴苛的技術考驗——天貓雙11.

目前執行在5.1RDMA平臺上的業務包括集團DB、阿里雲ESSD、阿里雲PolarDB、大資料PAI、高效能運算等,2018年雙11更是RDMA大顯身手的舞臺,100% 大促DB業務,和100% 大促ESSD儲存都執行在RDMA上,網路為業務系統的極致效能提供了最強的賽道!

5.1架構以POD為單位支援RDMA,使用了RoCEv2協議規範,以及DCQCN+Lossless網路的流控方案,目前已經在集團的儲存、DB、高效能運算、機器學習等業務場景中大規模使用。

HAIL5.1網路架構不僅僅實現了RDMA技術能力的落地,同時建立了RDMA業務支撐平臺和RDMA運營生態,這是RDMA作為一個落地生產的技術架構非常重要的部分。

· 向上層業務,我們提供了RDMA-Service的平臺化RDMA支撐模組,方便業務快速部署和使用RDMA,同時模組中集成了rdma關鍵引數的監控和校驗能力;

· RDMA自身的閉環運維能力。監控系統通過gRPC/erspan等通道從物理網路獲取實時的RDMA執行狀態,包括pfc/cnp/nak/buffer-usage/queue-drop/mmu-err/link-flap/crc/…,通過這些資料我們可以實時監控RDMA網路的執行狀態;自動化系統對監控資料進行分析,對監控事件進行響應,來實現快速的故障發現和定位,實現基於pfc拓撲的mmu異常點定位和隔離,基於nak/cnp來快速判斷網路丟包。

5701f448168d187b7dffa987d9fcc39501ba5b17

展望

接下來,阿里巴巴資料中心網路架構還將進行region級別的HAIL架構演進(架構代號HAIL2.0),實現更大範圍內的“高可用、智慧化、低延遲”網路,我們將在自研機、視覺化和RDMA領域持續發力,上線由自主研發的DC交換機組成的資料中心新一代架構,執行自主研發的RDMA流控方案和定製協議的智慧網絡卡,繼續引領新一代網路視覺化技術的發展和落地。阿里巴巴資料中心網路架構HAIL2.0,我們明年雙11見!


原文釋出時間為:2018-11-21

本文作者:網路研發

本文來自雲棲社群合作伙伴“AlibabaInfrastructure”,瞭解相關資訊可以關注“AlibabaInfrastructure”。