為什么NVMe/TCP是數(shù)據(jù)中心的更優(yōu)選擇
自從NVMe作為高性能固態(tài)硬盤(SSD)的最新協(xié)議出現(xiàn)以來,已經(jīng)改變了存儲(chǔ)行業(yè)。
本文引用地址:http://m.butianyuan.cn/article/202107/426738.htmNVMe最初是為高性能直連式PCIe SSD設(shè)計(jì)的,后來以NVMe over Fabrics(NVMe-oF)的形式進(jìn)行了擴(kuò)展,以支持機(jī)架級(jí)(rack-scale)的遠(yuǎn)程SSD池。
業(yè)界普遍認(rèn)為,這種新的NVMe-oF模式將取代iSCSI協(xié)議,作為計(jì)算服務(wù)器和存儲(chǔ)服務(wù)器之間的通信標(biāo)準(zhǔn),并成為解耦合存儲(chǔ)(disaggregated storage)方案的默認(rèn)協(xié)議。
然而,NVMe-oF最初的部署選項(xiàng)僅限于光纖通道(Fibre Channel)和遠(yuǎn)程直接內(nèi)存訪問(Remote Direct Memory Access,RDMA)結(jié)構(gòu)。
如果我們能夠提供一種新的、更強(qiáng)大的技術(shù),既能提供NVMe的速度和性能,又不需要高昂的部署成本和復(fù)雜性,將會(huì)如何?
NVMe over TCP(NVMe/TCP)就可以使用簡(jiǎn)單高效的TCP/IP結(jié)構(gòu)將NVMe擴(kuò)展到整個(gè)數(shù)據(jù)中心。
本文將描述NVMe/TCP如何成為面向現(xiàn)有數(shù)據(jù)中心的一種更優(yōu)技術(shù)及其可提供的優(yōu)勢(shì)。這些優(yōu)勢(shì)包括:
● 支持跨數(shù)據(jù)中心可用區(qū)域的解耦合
● 利用無處不在的TCP傳輸和低延遲、高并行的NVMe協(xié)議棧
● 無需在應(yīng)用服務(wù)器端進(jìn)行更改
● 可提供類似直連式SSD(DAS)性能和延遲的高性能NVMe-oF解決方案
● 針對(duì)NVMe優(yōu)化的高效、精簡(jiǎn)的塊存儲(chǔ)網(wǎng)絡(luò)軟件棧
● 可并行訪問針對(duì)當(dāng)今多核應(yīng)用/客戶服務(wù)器優(yōu)化的存儲(chǔ)
● 標(biāo)準(zhǔn)的NVMe-oF控制路徑操作
1. NVMe/TCP 概述
NVMe規(guī)范已經(jīng)成為高性能SSD的最新協(xié)議。
與SCSI、ISCSI、SAS或SATA 接口不同,NVMe實(shí)現(xiàn)了針對(duì)多核服務(wù)器 CPU 優(yōu)化的簡(jiǎn)化命令模式和多隊(duì)列體系結(jié)構(gòu)。NVMe-oF規(guī)范擴(kuò)展了NVMe,實(shí)現(xiàn)了通過網(wǎng)絡(luò)共享PCIe SSD,其最初是使用RDMA結(jié)構(gòu)來實(shí)現(xiàn)的。如今,Lightbits Labs與Facebook、英特爾和其他行業(yè)領(lǐng)先企業(yè)合作來擴(kuò)展NVMe-oF標(biāo)準(zhǔn),以支持與RDMA結(jié)構(gòu)互補(bǔ)的TCP/IP傳輸。
基于NVMe/TCP的解耦合存儲(chǔ)方案具有簡(jiǎn)單、高效等明顯優(yōu)勢(shì)。TCP具有普及性、可擴(kuò)展性和可靠性,對(duì)于短暫連接和基于容器的應(yīng)用而言是一種理想的選擇。
此外,通過NVMe/TCP遷移到共享閃存(Flash)也不需要更改數(shù)據(jù)中心的網(wǎng)絡(luò)基礎(chǔ)設(shè)施。無需更改基礎(chǔ)設(shè)施意味著可以輕松地跨數(shù)據(jù)中心進(jìn)行部署,因?yàn)閹缀跛袛?shù)據(jù)中心網(wǎng)絡(luò)都被設(shè)計(jì)為可支持TCP/IP。
基于NVMe/TCP協(xié)議的廣泛行業(yè)合作意味著該協(xié)議從設(shè)計(jì)之初就具有廣闊的生態(tài)系統(tǒng),并且支持任何操作系統(tǒng)和網(wǎng)絡(luò)接口卡(NIC)。NVMe/TCP Linux驅(qū)動(dòng)程序原生匹配Linux內(nèi)核,可以使用標(biāo)準(zhǔn)的Linux網(wǎng)絡(luò)協(xié)議棧和NIC,無需任何修改。
這種很有前景的新協(xié)議為超大規(guī)模數(shù)據(jù)中心量身定制,可以在不改變底層網(wǎng)絡(luò)基礎(chǔ)設(shè)施的情況下輕松實(shí)現(xiàn)部署。
圖1 NVMe/TCP可與Linux內(nèi)核中的現(xiàn)有NVMe協(xié)議無縫集成
2. 現(xiàn)在的數(shù)據(jù)中心如何處理存儲(chǔ)
2.1 直連式存儲(chǔ)架構(gòu)與NVMe
NVMe存儲(chǔ)協(xié)議旨在從固態(tài)驅(qū)動(dòng)器(SSD)中提取全部性能。
NVMe協(xié)議中所設(shè)計(jì)的并行能力有助于實(shí)現(xiàn)這種性能。NVMe并未使用單一隊(duì)列的iSCSI模式。取而代之的是,NVMe在CPU子系統(tǒng)和存儲(chǔ)之間可支持多達(dá)64000個(gè)隊(duì)列。
SSD是使用多個(gè)并行通信信道與多個(gè)SSD存儲(chǔ)位置相連接的并行設(shè)備,這意味著SSD可以在大規(guī)模的并行流中高效地接收數(shù)據(jù)。在NVMe/TCP協(xié)議出現(xiàn)之前,利用這種并行模式的最簡(jiǎn)單方法就是將NVMe SSD直接安裝到應(yīng)用服務(wù)器上。換句話說,你必須使用DAS模式來構(gòu)建自己的存儲(chǔ)基礎(chǔ)設(shè)施。
使用DAS方法,應(yīng)用可以受益于以下方面:
● 多個(gè)CPU
● 多個(gè)NVMe I/O隊(duì)列
● 并行SSD架構(gòu)
對(duì)業(yè)界而言,挑戰(zhàn)在于將SSD從可能具有多余容量的獨(dú)立服務(wù)器轉(zhuǎn)移到具有更高基礎(chǔ)設(shè)施利用率且不會(huì)損失DAS性能收益的共享存儲(chǔ)解決方案。因此,所有NVMe解耦合技術(shù)的目標(biāo)都是在共享NVMe解決方案中實(shí)現(xiàn)DAS性能。
2.2 前一代基于 IP 的存儲(chǔ)架構(gòu)
以前,iSCSI標(biāo)準(zhǔn)是通過TCP/IP網(wǎng)絡(luò)連接至塊存儲(chǔ)的唯一選擇。它是在世紀(jì)之交開發(fā)的,當(dāng)時(shí)大多數(shù)處理器都是單核器件。
在SCSI中,應(yīng)用(Initiator)和存儲(chǔ)(Target)之間只有一個(gè)連接。對(duì)于iSCSI,也是只有一個(gè)TCP套接字(socket)將客戶端連接至塊存儲(chǔ)服務(wù)器。
現(xiàn)在,數(shù)據(jù)中心的處理器都是大規(guī)模并行多線程器件。當(dāng)今處理器的這種復(fù)雜性要求對(duì)可用的存儲(chǔ)協(xié)議進(jìn)行徹底改革。其結(jié)果就是NVMe作為SATA和SAS(串行連接 SCSI)的替代者出現(xiàn)了。
所有那些早期協(xié)議的開發(fā)都是基于一個(gè)串行的旋轉(zhuǎn)型磁盤驅(qū)動(dòng)器。
非易失性存儲(chǔ)器(NVM)是一種并行存儲(chǔ)技術(shù),它不需要一個(gè)或多個(gè)盤片在一個(gè)或一組磁頭下面旋轉(zhuǎn)。使用 NVM存儲(chǔ)設(shè)備,可以并行訪問許多存儲(chǔ)單元,且具有較低的延遲。
毫無疑問,iSCSI仍然適用于具有低到中等存儲(chǔ)性能要求的應(yīng)用場(chǎng)景。然而,iSCSI卻不能滿足I/O密集型應(yīng)用的要求,這類應(yīng)用需要在大規(guī)模下實(shí)現(xiàn)低延遲。
2.3 其他替代方案和NVMe/TCP解耦合方案
RDMA、基于聚合以太網(wǎng)的RDMA(RoCE),以及基于光纖信道的NVMe(NVMe over FC),也是試圖解決解耦合問題的其他網(wǎng)絡(luò)存儲(chǔ)協(xié)議。然而,這些替代方案要求在兩端(應(yīng)用服務(wù)器和存儲(chǔ)服務(wù)器)都安裝昂貴的特殊硬件,例如具備RDMA功能的NIC。此外,安裝了RDMA硬件之后,在你具備RDMA功能的交換結(jié)構(gòu)中配置和管理流控制也是很復(fù)雜的。
RDMA確實(shí)提供了適用于某些高性能計(jì)算環(huán)境的性能,但它要求更高的成本,并且需要進(jìn)行非常復(fù)雜的部署。
TCP/IP已被證明可以在超大規(guī)模環(huán)境中可靠、高效地工作。NVMe/TCP繼承了這種可靠性和效率,它可以作為RDMA的互補(bǔ)解決方案與之共存,也可以完全取代RDMA。
3. 數(shù)據(jù)中心中的閃存解耦合和 NVMe/TCP解決方案
在DAS環(huán)境中,驅(qū)動(dòng)器是在部署到服務(wù)器中之前購買的或與服務(wù)器一起購買的,隨著時(shí)間的推移,它們的容量利用率增長(zhǎng)得很緩慢。另外,為了避免存儲(chǔ)用盡這種尷尬的局面出現(xiàn),DAS常常會(huì)有意將容量配置為過剩的狀態(tài)。
相比之下,將存儲(chǔ)從計(jì)算服務(wù)器中分離出來的數(shù)據(jù)中心會(huì)更加高效。這樣,存儲(chǔ)容量就可以獨(dú)立地進(jìn)行擴(kuò)展,并且可以根據(jù)需要分配給計(jì)算服務(wù)器。
隨著每GB閃存成本的降低,解耦合存儲(chǔ)方法更加經(jīng)濟(jì)高效,而且數(shù)據(jù)中心部署的前期成本也要低得多。通過動(dòng)態(tài)分配存儲(chǔ)資源,可以避免過度配置(over-provisioning)開銷,從而大大降低總體成本。
NVMe/TCP解決方案釋放了基于解耦合高性能固態(tài)硬盤(SSD)的云基礎(chǔ)設(shè)施的潛力。它使數(shù)據(jù)中心能夠從低效的直連式SSD模式轉(zhuǎn)為一種共享模式,在該模式中,計(jì)算和存儲(chǔ)可以獨(dú)立擴(kuò)展,以最大限度地提高資源利用率和運(yùn)行靈活性。
這種新的共享模式采用了創(chuàng)新的 NVMe/TCP標(biāo)準(zhǔn)。Lightbits Labs發(fā)明了這一概念,并且正在引領(lǐng)這一新標(biāo)準(zhǔn)的發(fā)展。
NVMe/TCP不會(huì)影響應(yīng)用的性能。實(shí)際上,它通常會(huì)改善應(yīng)用的尾部延遲,從而提升用戶體驗(yàn),并使云服務(wù)提供商能夠在相同的基礎(chǔ)設(shè)施上支持更多用戶。它也不需要對(duì)數(shù)據(jù)中心網(wǎng)絡(luò)基礎(chǔ)設(shè)施或應(yīng)用軟件進(jìn)行任何更改。它還可以降低數(shù)據(jù)中心的總體擁有成本(TCO),并使維護(hù)和擴(kuò)展超大規(guī)模數(shù)據(jù)中心變得更容易。Lightbits Labs正與其他市場(chǎng)領(lǐng)導(dǎo)者合作,以實(shí)現(xiàn)該標(biāo)準(zhǔn)在行業(yè)中的廣泛采用。
NVMe/TCP利用標(biāo)準(zhǔn)的以太網(wǎng)網(wǎng)絡(luò)拓?fù)?,?dú)立地?cái)U(kuò)展計(jì)算和存儲(chǔ),以實(shí)現(xiàn)最高的資源利用率,并降低TCO。
圖2 從直連式存儲(chǔ)(DAS)轉(zhuǎn)為解耦合存儲(chǔ)和計(jì)算
4. Lightbits Labs:在數(shù)據(jù)中心部署NVMe/TCP
Lightbits Labs的解決方案提供了如下性能優(yōu)勢(shì):
● 與直連式存儲(chǔ)(DAS)相比,尾部延遲減少多達(dá)50%
● SSD容量利用率翻倍
● 數(shù)據(jù)服務(wù)的性能提升2-4 倍
● 可擴(kuò)展至數(shù)萬個(gè)節(jié)點(diǎn)
● 可支持實(shí)現(xiàn)數(shù)百萬IOPS的性能,平均延遲低于200 μs
Lightbits解決方案在不影響系統(tǒng)穩(wěn)定性或安全性的情況下可實(shí)現(xiàn)如下改進(jìn):
● 應(yīng)用服務(wù)器及其存儲(chǔ)的物理分離
- 支持獨(dú)立部署、擴(kuò)展和升級(jí)
- 支持存儲(chǔ)基礎(chǔ)設(shè)施比計(jì)算基礎(chǔ)設(shè)施更快地?cái)U(kuò)展
- 提高應(yīng)用服務(wù)器和存儲(chǔ)的效率
- 通過對(duì)應(yīng)用服務(wù)器和存儲(chǔ)硬件進(jìn)行獨(dú)立的生命周期管理,可簡(jiǎn)化管理并降低TCO
● 提供與內(nèi)部NVMe SSD相當(dāng)?shù)母咝阅芎偷脱舆t
● 可利用現(xiàn)有的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,無需進(jìn)行更改
● 可在多跳(multi-hop)數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)中實(shí)現(xiàn)解耦合
圖3 NVMe/TCP可以跨數(shù)據(jù)中心將存儲(chǔ)節(jié)點(diǎn)連接至應(yīng)用服務(wù)器
5. Lightbits存儲(chǔ)解決方案的工作原理
Lightbits Labs為云和數(shù)據(jù)中心基礎(chǔ)設(shè)施提供了解耦合閃存平臺(tái)。
當(dāng)數(shù)萬或數(shù)十萬計(jì)算節(jié)點(diǎn)將直連式存儲(chǔ)的多個(gè)孤島鎖定在每個(gè)物理節(jié)點(diǎn)中時(shí),云級(jí)網(wǎng)絡(luò)就會(huì)暴露出其所存在的極端復(fù)雜性。
Lightbits的解決方案釋放了解耦合高性能 SSD解決方案的潛力。它使數(shù)據(jù)中心能夠從低效的直連式SSD模式轉(zhuǎn)為一種共享模式,在該模式中,計(jì)算和存儲(chǔ)可以獨(dú)立擴(kuò)展,以最大限度地提高資源利用率和靈活性。
在 Lightbits Labs發(fā)明NVMe/TCP時(shí),我們繼續(xù)使用DAS設(shè)備所用的 NVMe模式,然后將其映射到行業(yè)標(biāo)準(zhǔn)的TCP/IP協(xié)議組中。NVMe/TCP是將多個(gè)并行的NVMe I/O隊(duì)列映射到多個(gè)并行的TCP/IP連接上。這種NVMe和TCP之間的配對(duì)可以實(shí)現(xiàn)一種簡(jiǎn)單的、基于標(biāo)準(zhǔn)的、端到端的并行架構(gòu)。
圖4 針對(duì)并行云架構(gòu)打造的NVMe/TCP
這種新的共享模式使用了創(chuàng)新的NVMe/TCP標(biāo)準(zhǔn),該標(biāo)準(zhǔn)不會(huì)影響延遲,也不需要更改網(wǎng)絡(luò)基礎(chǔ)設(shè)施或應(yīng)用服務(wù)器軟件。Lightbits Labs正在與其他市場(chǎng)領(lǐng)導(dǎo)者合作,以推動(dòng)這一新的 NVMe/TCP 標(biāo)準(zhǔn)的采用。
利用Lightbits Labs的解耦合存儲(chǔ)解決方案,存儲(chǔ)可以精簡(jiǎn)的方式配置給應(yīng)用服務(wù)器。精簡(jiǎn)配置意味著管理員可以將任意大小的卷分配給客戶端。而且,只有當(dāng)應(yīng)用服務(wù)器寫數(shù)據(jù)時(shí),才會(huì)消耗底層存儲(chǔ)容量。因此,存儲(chǔ)在最后一刻(即需要它的時(shí)候)才會(huì)被使用。這將延遲對(duì)更多存儲(chǔ)資源的購買,從而進(jìn)一步降低成本。Lightbits還為以線速運(yùn)行的數(shù)據(jù)服務(wù)提供了一種硬件加速解決方案。
因此,當(dāng)使用 Lightbits精簡(jiǎn)配置技術(shù)和面向數(shù)據(jù)服務(wù)的硬件加速方案時(shí),存儲(chǔ)成本可以降低到只有性能相當(dāng)?shù)腄AS解決方案成本的一小部分。
5.1 適合閃存的寫算法
對(duì)于讀和寫操作而言,閃存介質(zhì)的延遲都很低。但是,SSD上的閃存控制器必須持續(xù)執(zhí)行“垃圾收集”操作,以便為即將到來的寫操作提供可用空間。與硬盤驅(qū)動(dòng)器的寫操作可以覆蓋現(xiàn)有數(shù)據(jù)不同,閃存驅(qū)動(dòng)器只允許將數(shù)據(jù)寫入以前未寫入或已擦除的閃存塊中。
垃圾收集操作會(huì)導(dǎo)致“寫入放大”。顧名思義,SSD控制器執(zhí)行垃圾收集時(shí),應(yīng)用服務(wù)器發(fā)出的單個(gè)寫操作會(huì)被進(jìn)行垃圾收集的SSD控制器在實(shí)際的閃存介質(zhì)上放大為更多的寫操作。寫入放大會(huì)增加閃存驅(qū)動(dòng)器的耗損,這將影響它的長(zhǎng)期使用。
此外,后臺(tái)的垃圾收集會(huì)導(dǎo)致即將到來的I/O的延遲增加,并且隨著更多隨機(jī)寫操作被寫入閃存驅(qū)動(dòng)器,垃圾收集會(huì)顯著增加。不幸的是,很大比例的I/O都是隨機(jī)的。總的來說,這意味著用戶無法獲得最好的性能或閃存耐久性。
Lightbits Labs的解決方案通過一個(gè)智能的管理層來解決這一問題,該層以不同的服務(wù)質(zhì)量(QoS)等級(jí)來管理SSD池。這種解決方案減少了SSD后臺(tái)操作,并使I/O更快速、更高效。
LightOS架構(gòu)將多種算法緊密結(jié)合在一起,以便優(yōu)化性能和閃存利用率。這包括將數(shù)據(jù)保護(hù)算法與用于數(shù)據(jù)服務(wù)的硬件加速解決方案以及我們的高性能讀寫算法緊密結(jié)合在一起。最終,跨SSD池管理和平衡所有I/O,從而極大地提高閃存利用率。
這種設(shè)計(jì)提高了總體性能,減少了尾部延遲、寫入放大和SSD上的耗損。這意味著LightOS可以為你的閃存存儲(chǔ)提供最高的投資回報(bào)率(ROI)。
5.2 高性能數(shù)據(jù)保護(hù)方案
要想實(shí)現(xiàn)存儲(chǔ)與應(yīng)用服務(wù)器的分離,還需要智能、高效且不影響性能的數(shù)據(jù)保護(hù)功能。
Lightbits結(jié)合了高性能數(shù)據(jù)保護(hù)方案,其可與用于數(shù)據(jù)服務(wù)的硬件加速解決方案和讀寫算法一起工作。
就如何將數(shù)據(jù)寫入SSD池而言,相比傳統(tǒng)的RAID 算法,Lightbits的數(shù)據(jù)保護(hù)方法可以防止過多的寫入, 以避免SSD遭受更多耗損。
6. 總結(jié)
Lightbits Labs實(shí)現(xiàn)了高效的閃存解耦合方案,在實(shí)施和運(yùn)行方面具有以下優(yōu)點(diǎn):
● 不需要任何昂貴的專用網(wǎng)絡(luò)硬件,Lightbits解決方案運(yùn)行在標(biāo)準(zhǔn)的TCP/IP 網(wǎng)絡(luò)上。
● 使用TCP/IP以機(jī)架規(guī)模在一個(gè)或多個(gè)局域網(wǎng)上運(yùn)行,沒有協(xié)議方面的限制。
● 提供與DAS相當(dāng)?shù)男阅芎脱舆t,包括尾部延遲比DAS尾部延遲低50%。
● 將高性能數(shù)據(jù)保護(hù)方案與其用于數(shù)據(jù)服務(wù)的硬件加速解決方案,以及可確保性能不受影響的讀寫算法結(jié)合在一起。
● 通過用于數(shù)據(jù)服務(wù)的硬件加速解決方案最大限度地提高閃存效率,該解決方案以全線速運(yùn)行,且不影響性能。
● 實(shí)現(xiàn)了精簡(jiǎn)配置的存儲(chǔ)卷,支持“按需付費(fèi)”的消費(fèi)模式。
Lightbits是NVMe/TCP的發(fā)明者,也是其廣泛采用的推動(dòng)者。
作為一種新理念的應(yīng)用,Lightbits的NVMe/TCP解決方案可以實(shí)現(xiàn)高效的閃存解耦合,從而獲得與 DAS相當(dāng)甚至更好的性能。Lightbits創(chuàng)造了一種現(xiàn)代的IP存儲(chǔ)架構(gòu)實(shí)現(xiàn)方式,可以最大限度地發(fā)揮應(yīng)用服務(wù)器、NVMe、TCP和SSD并行架構(gòu)的潛力。
通過Lightbits Labs的解決方案,云原生應(yīng)用可以實(shí)現(xiàn)云級(jí)性能,云數(shù)據(jù)中心可以降低其云級(jí)TCO。
評(píng)論