在網路江湖上,乙太網和IP都有一個夢想,就是統一資料中心網路,一統網路江湖。但是,在儲存網路這塊,它們的進展不是很順利。FCoE曾經風光無限,當時大有統一資料中心網路的架勢,但由於FC的頑強抵抗,還是敗下陣來,現在基本被網路界拋棄。現在藉助NVMe-oF的發展,IP又找到了一個機會,在18年底,NVMe/TCP終於成為標準,這個標準的主要推動者之一,Lightbits Labs,一個Startup公司,也剛剛拿到了Dell參與投資的50m資金,正式走向公眾面前。
這兩天,不斷有朋友問我對這個公司包括NVMe/TCP的未來的看法,我今天就來聊一聊這個話題。
大家知道,NVMe-oF成為標準已經有幾年時間了,最初它只支援RDMA,後來加入了FC的支援,現在又加入了TCP的支援。
我們知道,NVMe採用PCIe連線,是基於記憶體對映的協議,而NVMe-oF卻實基於訊息的,但也可以支援共享記憶體。其中RDMA(包括IB,RoCE,iWarp)這兩種方式都支援,但FC和TCP,只支援訊息。
RDMA由於支援兩種機制,因此命令和回覆封裝都用訊息傳輸,但資料採用記憶體語意進行處理。
但FC和TCP只支援訊息,因此,資料也是採用訊息來傳輸的。
感覺TCP的功能沒有RDMA強大啊?為啥大家都熱衷發展NVMe/TCP,並且也把這種方式標準化了呢?這就是TCP的魅力了。因為TCP無處不在,大家都瞭解它,還有就是TCP支援長距離大規模的部署,雲環境下是唯一選擇。雖然在時延和效能抖動上有挑戰,但是也不是不可解決的。
NVMe/TCP其實原理也很簡單,就是把NVMe-oF的訊息封裝在TCP/IP報文裡作為負載進行傳輸。
這是NVMe-oF三種傳輸機制的封裝方式,我們看到,其實NVMe/TCP和NVMe/FC的傳輸機制是最像的。
從時延上,TCP的時延還是大於RDMA的,而且還有一個重要的incast問題,即發生擁塞後大家都停止傳送,然後等待一會,大家又同時開始傳送。
這是TCP典型的鋸齒樣式,因此,NVMe/TCP對網路的擁塞控制要求非常高。
還好現在新型的資料中心交換機都有優先順序控制或者流控功能,可以解決incast的問題。
常用的流控協議就是DCTCP和ECN這些,也就是如果你要用NVMe/TCP,請確認交換機支援這些特性並且做好規劃。
雖然NVMe/TCP需要現代的資料中心交換機,但是在host端,不需要支援RDMA的HCA卡,普通網絡卡就可以用,因此成本還是比RDMA要好得多,特別是host很多的情況下。因此,Lightbits和Facebook,Dell EMC,Intel等力推NVMe/TCP在2018年11月15日終於成為國際標準。
從時延的測試看,NVMe/TCP的時延是RDMA的兩倍。但是,由於都是微秒級別,大部分場景下都夠用,而且和iSCSI相比,要好太多了。因此,雲廠商Facebook和Google等都非常熱衷這項技術。
而Lightbits呢,抓住這個機會,開發了自己的NVMe/TCP儲存作業系統LightOS。
LightOS有傳統儲存豐富的企業特性,包括糾刪碼和資料縮減,QoS等。
為了進行效能加速,Lightsbits還開發了一塊加速卡,做EC和壓縮加速,也做TCP的解除安裝。剛開始我以為是一塊NVMe/TCP的加速網絡卡,後來發現沒有網口,因此,這個只做加速,還是需要配合網絡卡使用的。
目前,這塊加速卡和LightOS配合使用,組成一個高效能的NVMe/TCP的分散式儲存。
目前,Lightbits剛剛拿了50m的投資,除了Dell,還有Cisco和Micron等大牌IT廠商背書。
這是三個創始人,其CTO是半導體行業背景。
個人認為NVMe/TCP雖然有TCP的一些固有問題,但是由於雲廠商只能選擇這種機制,因此,不會遭遇FCoE一樣命運。
我們看到Pure Storage的NVMe-oF路標,今年支援RoCE v2,年底打算支援FC,然後明年打算支援NVMe/TCP。這個時間節奏我還是比較認可的。
但是,我個人認為,雖然NVMe/TCP不會死,但是短期也無法統一資料中心網路。因為傳統的資料中心運維人員,對FC都非常熟悉,因此,NVMe/FC還是很多傳統企業的首選演進路徑。因此,NVMe-oF的三種協議估計在企業資料中心都會存在:
- NVMe/FC:傳統儲存,如高階儲存,AFA等關鍵業務場景
- NVMe/RDMA:HPC等高效能,低延時場景
- NVMe/TCP:雲儲存,分散式儲存場景
但是,在公有雲上,別無選擇,只能選擇NVMe/TCP。但是,公有雲不會購買儲存系統,但是可能會購買某些部件。因此Lightbits在公有雲廠商只能賣一賣加速卡,銷售額估計不會太多。其未來真正要成功,必須要在企業資料中心取得成功才有可能。