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