9月3日,2019開放數據中心峰會在北京國際會議中心隆重開幕。智祺通信技術(上海)有限公司云平臺架構總監劉德明在會上帶來了《基于SONiC的數據中心網絡解決方案》分享。
智祺通信技術(上海)有限公司云平臺架構總監劉德明
各位嘉賓,各位專家,下午好,前面這些專家和來自學術界、實體界的講的大部分都是大趨勢、大發展、大系統或者大學問,我講得有點與眾不同,會具體一點。
何寶宏博士提到一個說法,在數據中心中,白盒交換機和和開源軟件的占有率已經達到20%,而這個占有率還在持續穩定的增長,我講這個題目是基于SONiC的數據中心網絡的解決方案,就屬于這類,也希望引起更多的關注。
智邦主營的產品包括交換機、服務器,還有互聯網的產品,其中子公司Edgecore Networks主要是面向歐美,經營的方向包括硬件平臺,也加上網絡操作系統的軟件,智祺通信(ATAN)是面向中國的市場,經營硬件平臺,也加上自主的軟件,軟件定義的網絡,還有VDI、VM等。Joy Tech是我們的生產基地,在深圳有23條生產線,同時我們還有一些致力于社會公益的組織和機構。
SONiC是一款運行于開放交換機平臺的開源網絡操作系統,是以微軟為主的一些公司和一些開源社區共同開發,提供幾乎所有的第二網絡層、第三網絡層的功能。目標是數據中心和云計算,適用于不同的交換機廠商生產的機型,也同時適應不同的交換芯片廠商他們提供的芯片類型。主要特點是軟件通過container來容器隔離,升級軟件的時候可以把不同的應用程序單獨來升級。
SAI,它是一個標準的API接口,不同的芯片生產商可以單獨實現它自己的模塊,但是他們提供了標準的API,好處就是可以支持不同廠商的ASIC,使得上層應用程序不需要知道ASIC的希捷。SONIC整體來講,它的結構是開放、松散、可靠,這里松散不是負面評價,變得依存度降低,更獨立。
講講重要構件,第一個是Syncd容器,實現ASIC和上層的隔離,所有想跟ASIC通信讀和寫,都要通過Syncd容器完成。SWSS,是交換機服務狀態的容器,包括一些同步和管理的應用程序,同步主要是從應用程序讀取信息,或者從Linux內核讀取信息,寫入database。
管理程序從數據庫讀取信息,然后去更新應用程序,這個叫數據的消費者。還一個最重要的組成部分是編配代理,主要目的是從數據庫當中,從應用程序數據庫讀取信息進行轉換,然后寫入ASIC數據庫。增加了隔離,如果orchagent發生故障,ASIC硬件不會受到影響。SAI是標準的API,使應用程序和ASIC硬件實現了隔離。這是BGP容器的例子,Syncd通過SAI API跟ASIC進行通信。
ASIC和設備的獨立,軟件系統怎么實現。從原程序目錄當中的子目錄有一個platform平臺,下面對應不同的ASIC生產廠商,你編譯的時候要指定廠商,比如Broadcom,編譯的時候就指定了,同時定義SAI不同的時限。從開放者的角度和使用者角度來觀察下SONiC,由于良好的隔離,對開發者來講開發一個程序是比較容易的,雖然很大,編譯完成大概有400-500M的程度,但是對每個應用程序來講,模式都是一樣的,開發的過程也是一樣的,修改起來也比較容易,加一個新的也比較容易。
一個應用程序如果執行錯誤,發生故障,很少能影響其他的程序。再從使用者角度觀察,就是一個Linux系統,添加工具也非常容易,第三方的工具也非常容易,停止一個服務或者一個應用,實際上就像服務一樣把它殺掉,和Linux無縫兼容,歐洲服務器租用,所有Linux的功能在這里都是可用的。
SONiC的缺點,因為和Linux無縫兼容—很多動了都有兩個拷貝,比如路由,在Linux看到本來有一個,但是在Redis也要存一個。Redis數據庫是單線程實現,效率比較低。SAI的實現,如果想加新的feature,如果沒有準備好,會產生一些延時。每個應用程序當中都有一個同步程序和管理程序,資源有點浪費,將來可以做一些改正和優化。這個本身不算是SDN的解決方案,因為Control Plane和Data Plane是在一起的。
我們的硬件平臺種類齊全,歷史也很長了,ASIC的供貨商包括Broadcom、Barefoot、Cavium等等,帶寬從1G到400G全系列都有。我們是OCP認證的10G/40G/100G交換機,也是OCP里第一個設計支持400G端口的交換機。
我們堅持開放開源的理念,也希望更多的產品類型支持SONiC。這是部分的白盒交換機類型,其中大部分都支持SONiC。說說軟實力,我們對SONiC支持非常及時,有了新的平臺相應的程序等,更新非常快,另外我們的產品在SONiC開源社區非常有名,很多工程師都使用它進行學習、測試、開發,我們努力推動,使SONiC和交換機達到完美的結合。現在我們公司支持SONIC現狀,大概有50多人的團隊做開發和測試,已經完成SWSS主要代碼的硬化質量工作。在Minipack上實現熱插拔的工作已經接近尾聲。利用gNMI RPC協議,在SONIC上實現了Openconfig的功能。
未來規劃,我們希望打造一個開放虛擬的綜合開發與測試環境,向用戶提供技術支持和服務,同時我們要理解用戶的需求,實現用戶的定制需求。