近年來,隨著公有云的規(guī)模逐步擴大,業(yè)界各種大數(shù)據(jù)業(yè)務(wù)架構(gòu)日益增多,部分客戶對IAAS層的存儲性能提出了更高的要求。本地盤憑借著大帶寬、低時延、免占母機帶寬等天然優(yōu)勢在一些大數(shù)據(jù)型業(yè)務(wù)場景下備受客戶青睞。
但隨著云和數(shù)據(jù)中心的單個CPU核數(shù)越來越大,物理盤又無法單獨做拆分,導致單個虛擬機實例的核數(shù)也隨之增多,每個虛擬機對應(yīng)均要占用一個PCIe槽位。
基于以上問題,為了更加靈活的為客戶提供各種規(guī)格的本地盤,騰訊云硬件導入團隊對多種方案進行了討論驗證,并決定從業(yè)界中找尋出可以支持SR-IOV的NVMe SSD,經(jīng)過對不同供應(yīng)商的深度調(diào)研與比對,最終選出憶聯(lián)進行技術(shù)方案的測試和驗證工作。
最終,經(jīng)過騰訊云服務(wù)器與供應(yīng)鏈NPI團隊、騰訊云服務(wù)器虛擬化團隊、憶聯(lián)公司一起配合努力,在騰訊云的實驗室機房進行了長達兩個月的全面測試驗證工作,驗證結(jié)果表明SR-IOV特性在公有云場景下可以帶來一定的價值。
一、SSD之SR-IOV的簡單介紹
1、SR-IOV
先簡單介紹一下SR-IOV,SR-IOV(Single-Root I/O Virtualization,單根 I/O虛擬化)是一種基于硬件的虛擬化解決方案,通過利用PF和VF的屬性,將一個設(shè)備虛擬出多個PCIe設(shè)備,利于虛擬機操作,從而大大減輕宿主機的CPU負荷,提高性能和可伸縮性,幫助系統(tǒng)解決虛擬機SSD盤的QoS問題,可支持更多數(shù)量的虛擬機業(yè)務(wù)。
傳統(tǒng)虛擬化系統(tǒng)使用Hypervisor(或者VMM)軟件對虛擬機進行管理,軟件層既消耗CPU資源,又有較深的調(diào)用棧,使得PCIe設(shè)備的性能優(yōu)勢無法徹底發(fā)揮。而SR-IOV可以實現(xiàn)多個虛擬機共享物理資源,且bypass Hypervisor(或者VMM)軟件層,使得虛擬機可以使用到NVMe SSD的高性能。
對比傳統(tǒng)虛擬化系統(tǒng),在有SR-IOV技術(shù)的云業(yè)務(wù)虛擬機應(yīng)用場景下,VM可直接與VF通信,不需要Hypervisor接入IO處理,節(jié)約 vCPU資源的同時,又可以實現(xiàn)不同VF之間性能相互隔離,互不影響。
*傳統(tǒng)虛擬機與SR-IOV虛擬機對比
可以總結(jié)得出SR-IOV優(yōu)勢在于:
1,實現(xiàn)SR-IOV之后,VMM把中斷交給虛擬機處理,提高了I/O性能;
2,虛擬機直接和PCIe設(shè)備交互,bypass掉中間的Hypervisor/VMM層,減輕物理主機CPU負擔,使之有能力承載更多虛擬機;
3,SR-IOV虛擬化技術(shù)可以減少客戶所需PCIe設(shè)備數(shù)量,進而節(jié)省PCIe插槽;
4,SR-IOV可以與其他的I/O虛擬化技術(shù)進行結(jié)合,提供一個更加完整的兼具高性能和安全性的解決方案;
比如,當前一塊NVMe SSD容量可以達到十幾TB,而IOPS可以達到100萬以上,延時也降低到了微秒級,SR-IOV可以使NVMe SSD直接被上層多個VM所用,SSD的性能優(yōu)勢也可以直接被上層應(yīng)用感知到。
如下圖,在虛擬化分區(qū)方式場景下,通過SR-IOV技術(shù)將一片PCIe 4.0 7.68TB SSD(綁定16個CPU核)配置為2個容量為3.84TB VF(綁定8個CPU)。
*虛擬化分區(qū)方式場景
二、憶聯(lián)SSD技術(shù)驗證
1、性能測試驗證
目前,SR-IOV在虛擬化中的應(yīng)用較為成熟,被廣泛應(yīng)用于網(wǎng)卡以及對網(wǎng)絡(luò)性能、傳輸速度要求極高的應(yīng)用場景中。而基于SR-IOV的SSD許多廠商已做過多種嘗試,比如定義namespace后進行上層虛擬機的關(guān)聯(lián),多家SSD廠商都已支持。但如何做到1塊物理SSD硬盤基于SR-IOV虛擬化成幾塊虛擬SSD硬盤后,依然能保障QoS的性能隔離和性能保障,是其中最大的挑戰(zhàn)。
據(jù)悉,憶聯(lián)在早期規(guī)劃SR-IOV特性時就從控制器層面做了很多優(yōu)化設(shè)計,基于硬件能力規(guī)劃了QoS的能力,可以做到多塊虛擬SSD硬盤之間性能隔離。
為了驗證QoS的能力,我們在1分8的場景下,進行了充分的性能測試驗證,從以下數(shù)據(jù)顯示:
*1分8場景
在SR-IOV特性上,憶聯(lián)的QoS能力依然表現(xiàn)不俗,隔離效果明顯,基本可以做到在業(yè)務(wù)使用場景下相互之間并無影響,確保使用SR-IOV以后,也依然可以保障虛擬SSD盤的大帶寬、低時延。
2、產(chǎn)品化驗證——可靠性驗證
滿足性能的同時,在產(chǎn)品化過程中SR-IOV是否可以滿足高可靠性也同樣重要。例如在對命令支持方面,虛擬化SSD盤和物理SSD盤有何區(qū)別?在物理盤掉電之后,數(shù)據(jù)是否會丟失?物理盤掉盤異常之后, SR-IOV配置如何快速保留和恢復?
因此,憶聯(lián)在設(shè)計SR-IOV之初,為了保障產(chǎn)品的高性能與高可靠性,對業(yè)務(wù)使用流程上的需求也進行了全面的考慮與分析,使得憶聯(lián)的SR-IOV特性得以在各種業(yè)務(wù)流程和異常場景中都有應(yīng)對的方案和措施。
具體測試流程及驗證結(jié)果如下:
*配置流程
通過以上測試驗證,我們可以比較明確憶聯(lián)的SR-IOV在新盤接入,盤片掉電恢復,異常換盤三種場景下均有比較高的可靠性保障方案。
三、SR-IOV未來可期
未來,隨著單臺服務(wù)器的CPU核數(shù)增加,網(wǎng)卡帶寬增加到100G,單個SSD硬盤容量越來越大,使用SR-IOV提供各種容量規(guī)格的本地盤的必要性也越來越高。
一方面,本地盤場景下使用大容量SSD盤的SR-IOV特性,可以減少小容量NVMe SSD的數(shù)量,有效降低單臺服務(wù)器的TCO;
另一方面,使用SR-IOV技術(shù)可以讓底層的NVMe SSD盤資源跟隨上層碎片化的CPU核數(shù)進行更靈活的售賣,提升整體的售賣率,降低單臺虛擬機的成本。
未來,憶聯(lián)會繼續(xù)在NVMe SSD的SR-IOV特性方面進行更深入的探索和投入,助力用戶推進NVMe SSD盤的SR-IOV在更多場景下的應(yīng)用,并基于用戶的實際應(yīng)用需求場景,持續(xù)提供有競爭力的產(chǎn)品和服務(wù),幫助用戶創(chuàng)造更多價值。
地址:深圳市南山區(qū)記憶科技后海中心B座19樓
電話:0755-2681 3300
郵箱:support@unionmem.com