互聯(lián)網(wǎng)+戰(zhàn)略的實(shí)施,讓分布式存儲(chǔ)受到了前所未有的關(guān)注。與傳統(tǒng)存儲(chǔ)相比,分布式存儲(chǔ)橫向擴(kuò)展的能力備受傳統(tǒng)企業(yè)青睞,它能夠讓企業(yè)更加敏捷、靈活,能夠滿足了企業(yè)業(yè)務(wù)快速發(fā)展的需要,特別是在成本節(jié)省上,分布式存儲(chǔ)優(yōu)勢(shì)明顯,加上互聯(lián)網(wǎng)企業(yè)的成功實(shí)踐,這都為傳統(tǒng)企業(yè)轉(zhuǎn)型提供了新的思路。
如今,以超融合為代表的分布式存儲(chǔ)發(fā)展迅速,國(guó)內(nèi)外提供超融合產(chǎn)品解決方案的廠商眾多,如VMware VSAN、EVO:RAIL、EMC ScaleIO、Nutanix、Maxta、SimpliVity、Scale Computing、Pivot3、Stratoscale、Gridstore、Atlantis Computing、華三、達(dá)沃時(shí)代、華為FusionStorage 、SMARTX、深信服、華云網(wǎng)際、凱翔科技等都提供了各種不同的分布式存儲(chǔ)產(chǎn)品和方案。
在對(duì)外宣傳上,各家廠商稱謂也不相同,從超融合、分布式存儲(chǔ)、融合存儲(chǔ)、到ServerSAN、云存儲(chǔ)、軟件定義存儲(chǔ),總之五花八門,讓人眼花繚亂,總之一句話:都是將存儲(chǔ)管理軟件安裝在多臺(tái)x86存儲(chǔ)服務(wù)器上,管理存儲(chǔ)資源,并讓服務(wù)器協(xié)調(diào)合作,對(duì)外呈現(xiàn)出統(tǒng)一的存儲(chǔ)接口。如果根據(jù)存儲(chǔ)接口不同,又可以細(xì)分為對(duì)象存儲(chǔ)(Key-Value Store)、Server SAN(分布式塊設(shè)備),NoSQL數(shù)據(jù)庫(kù)存儲(chǔ)等。
在我看來(lái),其實(shí)不必糾結(jié)稱謂和定義。從應(yīng)用的角度出發(fā),它提供了有別于傳統(tǒng)存儲(chǔ)的新的選擇,用戶可以根據(jù)自己的業(yè)務(wù)需要進(jìn)行判斷和選擇。
對(duì)于新的存儲(chǔ)系統(tǒng)而言,由于技術(shù)較新,用戶了解有限,因此市場(chǎng)產(chǎn)品魚目混珠、濫竽充數(shù)是在所難免的。在這種情況下,用戶應(yīng)該如何選擇適合的產(chǎn)品呢?本文中,我將從技術(shù)的角度談?wù)剛€(gè)人的看法,以饗讀者。
在我看來(lái),評(píng)價(jià)一個(gè)分布式存儲(chǔ)系統(tǒng)的優(yōu)劣可以從性能(Performance)、可擴(kuò)展性(Scalability)、系統(tǒng)可用性(Availability)和數(shù)據(jù)安全性(Data Reliability即數(shù)據(jù)不丟失)4個(gè)方面加以看量。
一個(gè)總的結(jié)論是完美的產(chǎn)品是不存在的,即沒(méi)有一個(gè)產(chǎn)品能同時(shí)確保四個(gè)方面都很突出。因?yàn)檫@四個(gè)方面在一定程度上是互相矛盾的,例如數(shù)據(jù)安全性越高,需要的數(shù)據(jù)備份數(shù)量就越多,但與此同時(shí),系統(tǒng)性能就會(huì)降低。比如兩副本系統(tǒng)的數(shù)據(jù)安全性,通常會(huì)低于3副本系統(tǒng),但是系統(tǒng)的讀寫性能,2副本通常高于3副本。因此優(yōu)秀的分布式存儲(chǔ)系統(tǒng)是需要根據(jù)產(chǎn)品本身的對(duì)外特性,在上述4個(gè)方面進(jìn)行合理的取舍。
通常說(shuō)來(lái), ServerSAN產(chǎn)品對(duì)系統(tǒng)性能(IOPS)要求比較高,勢(shì)必會(huì)犧牲一定的數(shù)據(jù)安全性;而對(duì)象存儲(chǔ)產(chǎn)品不得不犧牲一定的IOPS或讀寫的延遲,來(lái)?yè)Q取對(duì)象存儲(chǔ)所需要的數(shù)據(jù)高可靠性。
在本文所推薦的幾個(gè)原則,是透過(guò)ServerSAN產(chǎn)品體系架構(gòu)的分析,來(lái)判斷和比較產(chǎn)品的優(yōu)劣。除了技術(shù)分析之外,盡可能為大家提供一些簡(jiǎn)單的判斷方法,希望能夠有所幫助。
首先是通過(guò)塊數(shù)據(jù)存取方法來(lái)判斷系統(tǒng)的性能和效率。
眾所周知,ServerSAN主要處理塊數(shù)據(jù),以計(jì)算虛擬化、數(shù)據(jù)庫(kù)等應(yīng)用為主,更多涉及企業(yè)的OLTP業(yè)務(wù)應(yīng)用,大多屬于關(guān)鍵業(yè)務(wù)應(yīng)用。對(duì)于這類業(yè)務(wù)應(yīng)用而言,系統(tǒng)的可靠性、安全性至關(guān)重要。在滿足了這些條件的前提下,性能將是最終決定因素,這也是產(chǎn)品之間來(lái)開差距的指標(biāo)。
如果僅僅從現(xiàn)有應(yīng)用著眼,會(huì)有用戶對(duì)于性能的效率和能力不以為意,但從長(zhǎng)遠(yuǎn)的發(fā)展眼光,塊數(shù)據(jù)存取方法的不同,技術(shù)設(shè)計(jì)架構(gòu)的差異,所表現(xiàn)出的能力會(huì)有較大的區(qū)分。
目前ServerSAN系統(tǒng)存取塊數(shù)據(jù),對(duì)于存儲(chǔ)介質(zhì)的訪問(wèn)存在直接和間接的訪問(wèn)方式的區(qū)分。所謂間接的訪問(wèn)方式,就是借助ext2、ext3、ext4或者ZFS等Linux的文件系統(tǒng),來(lái)存儲(chǔ)和管理塊數(shù)據(jù),或者利用對(duì)象存儲(chǔ)系統(tǒng)將塊數(shù)據(jù)以對(duì)象的方式存取。
這種數(shù)據(jù)訪問(wèn)方式實(shí)現(xiàn)起來(lái)相對(duì)簡(jiǎn)單,但它們無(wú)法針對(duì)塊數(shù)據(jù)的特點(diǎn),以及設(shè)備的特性進(jìn)行性能優(yōu)化,訪問(wèn)過(guò)程中需要對(duì)用戶的塊數(shù)據(jù)進(jìn)行多次轉(zhuǎn)換,比如將塊數(shù)據(jù)傳遞給文件系統(tǒng),由文件系統(tǒng)再將數(shù)據(jù)寫入存儲(chǔ)介質(zhì)。這種多層次的傳遞會(huì)造成系統(tǒng)性能損耗。
用對(duì)象存儲(chǔ)來(lái)實(shí)現(xiàn)塊設(shè)備存儲(chǔ)存在更多問(wèn)題,因?yàn)閷?duì)象存儲(chǔ)中的對(duì)象通常是Immutable(不可改變的),而且對(duì)象存儲(chǔ)系統(tǒng)更加強(qiáng)調(diào)吞吐率,而塊設(shè)備中的數(shù)據(jù)是在不停的被修改的,并且塊設(shè)備更強(qiáng)調(diào)IOPS。因此,間接的訪問(wèn)存儲(chǔ)介質(zhì)的方式其性能很難達(dá)到最優(yōu)。
與之相比,直接存儲(chǔ)方式會(huì)自己實(shí)現(xiàn)一個(gè)適合塊設(shè)備特性的精簡(jiǎn)文件系統(tǒng),直接對(duì)磁盤裸設(shè)備(Raw Device)直接操作和控制,可以在最大程度上充分利用磁盤設(shè)備的IOPS,從而達(dá)到系統(tǒng)硬件的極限。
既然存在這樣的區(qū)分,因此對(duì)于用戶來(lái)說(shuō),很重要的一個(gè)任務(wù)就是能夠識(shí)別出哪些才是專業(yè)的九段產(chǎn)品,避免業(yè)余九段渾水摸魚。但在工作實(shí)踐的過(guò)程中,有什么樣的方法能夠幫助我們進(jìn)行鑒別呢?
在此,個(gè)人給大家推薦的辦法是:就看ServerSAN系統(tǒng)管理的存儲(chǔ)介質(zhì)上,是否安裝了文件系統(tǒng)。如果存儲(chǔ)介質(zhì)上有文件系統(tǒng),那么便是間接訪問(wèn)方式。這種鑒別方法未必100%準(zhǔn)確,但絕大多數(shù)情況下是有效的。
總之,用戶對(duì)于系統(tǒng)存儲(chǔ)介質(zhì)的訪問(wèn)方式需要保持高度的重視。