自UCloud在5月28日的TIC大會上發布“快杰”云主機后,已經過去了近半年的時間,在這半年間,“快杰”憑借優越的性能與極高的性價比,在云主機市場中走出了自己的獨特道路。在這些成果背后,我們用兩個詞來闡述“快杰”的技術理念:All in one & One for all。
All in one & One for all
作為云計算的基石產品,云主機的核心特性決定了云上其它能力的拓展,也直接關乎于用戶的使用體驗。用戶選擇云計算的出發點在于:簡單性,速度和經濟性。但是由于互聯網與IT服務的場景多樣化,業內大多數廠商都是分別推出適應不同場景的云主機類型,但也因此帶給了用戶運維和采購的復雜度。
什么是“All in one”呢?“快杰”將自己定義為“簡單”的產品。簡單不僅意味著使用方便,還意味著多項軟硬件技術的融合,以此為用戶提供超高的產品性能。也就是說,當你面對各種業務場景下CPU、網絡、存儲的不同性能需求時,無需考慮太多因素,“快杰”均可滿足。
這是“快杰”的一組數據:全面搭載Intel最新一代Cascade Lake處理器,配備25G基礎網絡并采用全新的網絡增強2.0方案,支持RDMA-SSD云盤,網絡性能最高可達1000萬PPS,存儲性能最高可達120萬IOPS。
在產品上線之初,我們對“快杰”進行了跑分測試,測試結果顯示,同等規格的配置下,“快杰”的性能明顯優于市場上同類型的云主機產品。舉個例子,在同樣8核16G的配置下,“快杰”的網絡性能較友商高出3倍多,存儲性能有著近4倍的差異。
但是在這樣的高配下,“快杰”的價格提升卻不超過20%,部分配置機型的價格與普通機型價格基本持平或略有下降,云盤價格僅為市場同類產品的60%或者更低。“快杰”云主機用“One for all”的價格紅利將所有技術又通通回饋給了用戶。
“羅馬不是一天建成的”,不論是All in one 還是 One for all,在這些數據的背后,都離不開UCloud在技術上的持續探索和積累。接下來,我們就來聊聊“快杰”背后的技術進階之路。
一、 網絡增強2.0:4倍性能提升+3倍時延下降
網絡通道是嚴重制約云主機性能的瓶頸之一,在這里,值得一提的便是“快杰”在25G智能網卡網絡增強能力方面做出的技術突破。
? 硬件級別的網卡加速
基于云主機網絡性能提升的需求,25G網絡逐漸成為趨勢。但是由于傳統軟件Virtual Switch方案的性能瓶頸:當物理網卡接收報文后,是按照轉發邏輯發送給VHost線程,VHost再傳遞給虛擬機,因此VHost的處理能力就成為了影響虛擬機網絡性能的關鍵。
在調研了業界主流的智能網卡方案之后,我們最終采用了基于Tc Flower Offload的OpenvSwitch開源方案,為“快杰”提供了硬件級別的網卡加速。虛擬機網卡可直接卸載到硬件,繞過宿主機內核,實現虛擬機到網卡的直接數據訪問。相較于傳統方案,新的智能網卡方案在整個Switch的轉發性能為小包24Mpps,單VF的接收性能達15Mpps,使得網卡整體性能提升10倍以上,應用在云主機上,使得“快杰”的網絡能力提升至少4倍,時延降低3倍。
? 技術難點突破:虛擬機的熱遷移
在該方案落地之時,我們遇到了一個技術難題:虛擬機的熱遷移。因為各個廠商的SmartNIC都是基于VF passthrough的方案,而VF的不可遷移性為虛擬機遷移帶來了困難,在此將我們的解決方案分享給大家。
我們發現,用戶不需要手工設置bonding操作或者制作特定的鏡像,可以妥善的解決用戶介入的問題。受此啟發,我們采用了 VF+standby Virtio-net的方式進行虛擬機的遷移。具體遷移過程為:
1、創建虛擬機自帶Virtio-net網卡,隨后在Host上選擇一個VF 作為一個Hostdev的網卡,VPS租用,設置和Virtio-net網卡一樣的MAC地址,attach到虛擬機里面,這樣虛擬機就會對Virtio-net和VF網卡自動形成類似bonding的功能,此時,在Host上對于虛擬機就有兩個網絡Data Plane;
2、Virtio-net backend的tap device在虛擬機啟動時自動加入到Host的OpenvSwitch bridge上,當虛擬機網卡進行切換的時候datapath也需要進行切換。VF attach到虛擬機后,在OpenvSwitch bridge上將VF_repr置換掉tap device;
除此以外,UCloud針對25G智能網卡的其他技術創新可查看:https://mp.weixin.qq.com/s/FUWklPXcRJXWdrWpsQHzrg
二、RDMA-SSD云盤:提供120萬IOPS存儲能力