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