眾說(shuō)紛紜:NVMe over Fabrics陣列到底屬不屬于SAN?
SAN是什么,NVMe over Fabrics(簡(jiǎn)稱NVMeF)陣列又是否屬于SAN?Datrium公司表示否定,而E8方面則在一定程度上表示肯定。
根據(jù)維基百科的解釋,SAN全稱為存儲(chǔ)區(qū)域網(wǎng)絡(luò),是指“一套能夠?yàn)榻y(tǒng)一塊級(jí)數(shù)據(jù)存儲(chǔ)提供訪問(wèn)的網(wǎng)絡(luò)……SAN并不提供文件抽象機(jī)制,而僅提供數(shù)據(jù)塊級(jí)操作; 不過(guò)SAN之上的文件系統(tǒng)仍然能夠?qū)崿F(xiàn)文件級(jí)訪問(wèn),此類系統(tǒng)被稱為共享磁盤(pán)文件系統(tǒng)。”
Techopedia則解釋稱:“存儲(chǔ)區(qū)域網(wǎng)絡(luò)(簡(jiǎn)稱SAN)屬于一套安全高速數(shù)據(jù)傳輸網(wǎng)絡(luò),負(fù)責(zé)面向統(tǒng)一塊級(jí)存儲(chǔ)提供訪問(wèn)能力。SAN能夠使得多臺(tái)服務(wù)器訪問(wèn)同一存儲(chǔ)設(shè)備網(wǎng)絡(luò)。”
看起來(lái)概念非常簡(jiǎn)單,但NVMeF陣列卻存在一項(xiàng)影響性特質(zhì)。
Techterms指出,“SAN屬于一套能夠?yàn)槎嗯_(tái)計(jì)算機(jī)所訪問(wèn)的存儲(chǔ)設(shè)備網(wǎng)絡(luò)。網(wǎng)絡(luò)中的每臺(tái)計(jì)算機(jī)皆可訪問(wèn)SAN中的磁盤(pán)驅(qū)動(dòng)器,但前提是其屬于直接接入該計(jì)算機(jī)的本地磁盤(pán)。”
這種方式允許各磁盤(pán)驅(qū)動(dòng)器供多臺(tái)計(jì)算機(jī)使用,從而簡(jiǎn)化不同設(shè)備之間的信息共享流程。
對(duì)于Datrium公司來(lái)說(shuō),這正是主要問(wèn)題所在。該公司聯(lián)合創(chuàng)始人兼CTO Hugo Patterson在接受采訪時(shí)解釋稱,“共享機(jī)柜內(nèi)的NVMe看似一種內(nèi)部驅(qū)動(dòng)器——因此其無(wú)法實(shí)現(xiàn)數(shù)據(jù)共享。這并不屬于SAN。大家無(wú)法在此之上支持VMFS(即VMware文件系統(tǒng))。”
Datrium公司CTO Hugo Patterson
他進(jìn)一步指出,SAN用戶能夠?qū)崿F(xiàn)數(shù)據(jù)、驅(qū)動(dòng)器以及存儲(chǔ)機(jī)柜的共享。但NVMeF陣列用戶卻無(wú)法進(jìn)行數(shù)據(jù)或者驅(qū)動(dòng)器共享。為什么會(huì)這樣?
這種想法源自在計(jì)算機(jī)、客戶設(shè)備或者服務(wù)器當(dāng)中安裝本地驅(qū)動(dòng)器。其僅歸屬于所在主機(jī),而無(wú)法被其它計(jì)算機(jī)所訪問(wèn)。通過(guò)NVMe驅(qū)動(dòng)程序?qū)崿F(xiàn)的PCIe接入SSD就屬于此類作法。
而隨著NVMeF的出現(xiàn),NVMeF陣列內(nèi)的主機(jī)服務(wù)器與驅(qū)動(dòng)器之間建立起一條遠(yuǎn)程直接內(nèi)存訪問(wèn)連接。其中主機(jī)服務(wù)器會(huì)將該遠(yuǎn)程驅(qū)動(dòng)器視為另一塊本地驅(qū)動(dòng)器,且二者之間相互完成分配與映射。除此之外,沒(méi)有其它服務(wù)器會(huì)訪問(wèn)該驅(qū)動(dòng)器——意味著其它服務(wù)器無(wú)法訪問(wèn)該驅(qū)動(dòng)器上的數(shù)據(jù)。
那么,讓我們對(duì)此類驅(qū)動(dòng)器進(jìn)行抽象,并添加其它一些驅(qū)動(dòng)器/分卷管理器。在這里,我們將其湢至陣列控制器當(dāng)中; 其能夠查看全部驅(qū)動(dòng)器并接收一切IO請(qǐng)求。但如果要通過(guò)端到端NVMeF實(shí)現(xiàn),則意味著延遲會(huì)持續(xù)提升而IO操作時(shí)耗更長(zhǎng),NVMeF原本維持本地驅(qū)動(dòng)器訪問(wèn)速度不變的要求當(dāng)然無(wú)法實(shí)現(xiàn),而控制器也將如Datrium發(fā)布的演示文稿所說(shuō)成為其中的性能瓶頸。
如果大家能夠通過(guò)NVMeF直接讓主機(jī)服務(wù)器訪問(wèn)該陣列上的驅(qū)動(dòng)器,則這套陣列在實(shí)際上即屬于無(wú)控制器類別——或者簡(jiǎn)稱JBOF,即簡(jiǎn)單閃存捆綁。Datrium為此繪制了以下圖示:
Datrium公司支持NVMe驅(qū)動(dòng)器,但卻并沒(méi)有在自家產(chǎn)品線中推出NVMeF陣列。該公司指出,內(nèi)置有NVMeF的陣列并不能解決主機(jī)-陣列網(wǎng)絡(luò)延遲這一難題。
E8公司的觀點(diǎn)
Datrium方面并不具備N(xiāo)VMeF陣列,但另一方面初創(chuàng)企業(yè)E8則擁有此類產(chǎn)品——這是一套雙端口NVMeF JBOF,配備24塊6.4 TB SSD。那么在E8公司眼中,NVMeF陣列或者說(shuō)JBOF是否屬于SAN?
該公司創(chuàng)始人兼CEO Zivan Ori指出,“對(duì)于這類與光纖通道及SCSI有所關(guān)聯(lián)的SAN,我將其稱為NVMeF。這是一種SAN的替代方案或者可以稱作下一代SAN。我認(rèn)為將其稱為SAN可能會(huì)引起誤解。”
在他看來(lái),雙控制器陣列無(wú)法獲得如NVMeF般的競(jìng)爭(zhēng)優(yōu)勢(shì),除非其具備能夠驅(qū)動(dòng)RDMA鏈接的直連服務(wù)器。但在不具備直連服務(wù)器的情況下,其無(wú)法介入RDMA路徑而只能使用陣列控制器堆棧,這無(wú)疑會(huì)造成額外的延遲提升。Ori認(rèn)為這正是Pure公司將要面臨的重要問(wèn)題之一。
那么如果E8的客戶希望在E8 JBOF當(dāng)中共享數(shù)據(jù),又該如何實(shí)現(xiàn)?集群化文件系統(tǒng)正是一個(gè)可能的答案,他同時(shí)亦提到可以提供一套運(yùn)行有SAS統(tǒng)計(jì)分析應(yīng)用程序的數(shù)據(jù)倉(cāng)庫(kù)。在安裝E8系統(tǒng)之前,SAS應(yīng)用程序運(yùn)行在配備有本地NVMe SSD的服務(wù)器之上:
但在安裝GPFS——即IBM的Spectrum Scale并行文件系統(tǒng)軟件——以替代XFS之后,各SAS節(jié)點(diǎn)將能夠以并發(fā)方式實(shí)現(xiàn)指向 E8共享NVMe存儲(chǔ)的IO訪問(wèn)。
分配控制器級(jí)智能
E8公司的系統(tǒng)在每臺(tái)訪問(wèn)服務(wù)器當(dāng)中設(shè)置一個(gè)代理,具體如下圖左側(cè)所示:
有趣的是,Datrium公司也擁有類似的概念——其在陣列分布式上游內(nèi)提供面向訪問(wèn)服務(wù)器的控制器邏輯。該公司認(rèn)為,必須要利用這樣的訪問(wèn)服務(wù)器邏輯方可在NVMe JOBF環(huán)境當(dāng)中提供存儲(chǔ)陣列控制器型功能:
以上Datrium演示提出的最后結(jié)論在于:“服務(wù)器支持型數(shù)據(jù)管理必須具備更多功能。”
根據(jù)我們的理解,這里所指的是原本依靠陣列控制器實(shí)現(xiàn)的分卷控制類功能必須在訪問(wèn)服務(wù)器中以其它形式實(shí)現(xiàn),而后再由該服務(wù)器對(duì)NVMeF IO請(qǐng)求加以處理。
另外,當(dāng)有多臺(tái)服務(wù)器同時(shí)訪問(wèn)NVMeF JBOF時(shí),這一分卷管理功能還應(yīng)當(dāng)能夠在各訪問(wèn)服務(wù)器上進(jìn)行分布,從而協(xié)調(diào)具體數(shù)據(jù)訪問(wèn)操作。
Datrium公司此前曾經(jīng)通過(guò)七頁(yè)演示文稿解釋了為何NVMeF JBOF并不屬于數(shù)據(jù)共享SAN,百我們懷疑該公司也許正在開(kāi)發(fā)能夠解決這一難題的技術(shù)方案。畢竟,如果仍然沒(méi)有解決辦法,其為什么要大費(fèi)周章地拿出七頁(yè)演示進(jìn)行說(shuō)明?