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