分布式存儲往往采用分布式的系統(tǒng)結(jié)構(gòu),利用多臺存儲服務(wù)器分擔(dān)存儲負(fù)荷,利用位置服務(wù)器定位存儲信息。它不但提高了系統(tǒng)的可靠性、可用性和存取效率,還易于擴(kuò)展,將通用硬件引入的不穩(wěn)定因素降到最低。優(yōu)點(diǎn)如下:
1. 高性能
一個具有高性能的分布式存戶通常能夠高效地管理讀緩存和寫緩存,并且支持自動的分級存儲。分布式存儲通過將熱點(diǎn)區(qū)域內(nèi)數(shù)據(jù)映射到高速存儲中,來提高系統(tǒng)響應(yīng)速度;一旦這些區(qū)域不再是熱點(diǎn),那么存儲系統(tǒng)會將它們移出高速存儲。而寫緩存技術(shù)則可使配合高速存儲來明顯改變整體存儲的性能,按照一定的策略,先將數(shù)據(jù)寫入高速存儲,再在適當(dāng)?shù)臅r間進(jìn)行同步落盤。
2. 支持分級存儲
由于通過網(wǎng)絡(luò)進(jìn)行松耦合鏈接,分布式存儲允許高速存儲和低速存儲分開部署,或者任意比例混布。在不可預(yù)測的業(yè)務(wù)環(huán)境或者敏捷應(yīng)用情況下,分層存儲的優(yōu)勢可以發(fā)揮到最佳。解決了目前緩存分層存儲最大的問題是當(dāng)性能池讀不命中后,從冷池提取數(shù)據(jù)的粒度太大,導(dǎo)致延遲高,從而給造成整體的性能的抖動的問題。
3. 多副本的一致性
與傳統(tǒng)的存儲架構(gòu)使用RAID模式來保證數(shù)據(jù)的可靠性不同,分布式存儲采用了多副本備份機(jī)制。在存儲數(shù)據(jù)之前,分布式存儲對數(shù)據(jù)進(jìn)行了分片,分片后的數(shù)據(jù)按照一定的規(guī)則保存在集群節(jié)點(diǎn)上。為了保證多個數(shù)據(jù)副本之間的一致性,分布式存儲通常采用的是一個副本寫入,多個副本讀取的強(qiáng)一致性技術(shù),使用鏡像、條帶、分布式校驗等方式滿足租戶對于可靠性不同的需求。在讀取數(shù)據(jù)失敗的時候,系統(tǒng)可以通過從其他副本讀取數(shù)據(jù),重新寫入該副本進(jìn)行恢復(fù),從而保證副本的總數(shù)固定;當(dāng)數(shù)據(jù)長時間處于不一致狀態(tài)時,系統(tǒng)會自動數(shù)據(jù)重建恢復(fù),同時租戶可設(shè)定數(shù)據(jù)恢復(fù)的帶寬規(guī)則,最小化對業(yè)務(wù)的影響。
4. 容災(zāi)與備份
在分布式存儲的容災(zāi)中,一個重要的手段就是多時間點(diǎn)快照技術(shù),使得用戶生產(chǎn)系統(tǒng)能夠?qū)崿F(xiàn)一定時間間隔下的各版本數(shù)據(jù)的保存。特別值得一提的是,多時間點(diǎn)快照技術(shù)支持同時提取多個時間點(diǎn)樣本同時恢復(fù),這對于很多邏輯錯誤的災(zāi)難定位十分有用,如果用戶有多臺服務(wù)器或虛擬機(jī)可以用作系統(tǒng)恢復(fù),通過比照和分析,可以快速找到哪個時間點(diǎn)才是需要回復(fù)的時間點(diǎn),降低了故障定位的難度,縮短了定位時間。這個功能還非常有利于進(jìn)行故障重現(xiàn),從而進(jìn)行分析和研究,避免災(zāi)難在未來再次發(fā)生。多副本技術(shù),數(shù)據(jù)條帶化放置,多時間點(diǎn)快照和周期增量復(fù)制等技術(shù)為分布式存儲的高可靠性提供了保障。
5. 彈性擴(kuò)展
得益于合理的分布式架構(gòu),分布式存儲可預(yù)估并且彈性擴(kuò)展計算、存儲容量和性能。分布式存儲的水平擴(kuò)展有以下幾個特性:
(1) 節(jié)點(diǎn)擴(kuò)展后,舊數(shù)據(jù)會自動遷移到新節(jié)點(diǎn),實現(xiàn)負(fù)載均衡,避免單點(diǎn)過熱的情況出現(xiàn);
(2) 水平擴(kuò)展只需要將新節(jié)點(diǎn)和原有集群連接到同一網(wǎng)絡(luò),整個過程不會對業(yè)務(wù)造成影響;
(3) 當(dāng)節(jié)點(diǎn)被添加到集群,集群系統(tǒng)的整體容量和性能也隨之線性擴(kuò)展,此后新節(jié)點(diǎn)的資源就會被管理平臺接管,被用于分配或者回收。
6. 存儲系統(tǒng)標(biāo)準(zhǔn)化
隨著分布式存儲的發(fā)展,存儲行業(yè)的標(biāo)準(zhǔn)化進(jìn)程也不斷推進(jìn),分布式存儲優(yōu)先采用行業(yè)標(biāo)準(zhǔn)接口(SMI-S或OpenStack Cinder)進(jìn)行存儲接入。在平臺層面,通過將異構(gòu)存儲資源進(jìn)行抽象化,將傳統(tǒng)的存儲設(shè)備級的操作封裝成面向存儲資源的操作,從而簡化異構(gòu)存儲基礎(chǔ)架構(gòu)的操作,以實現(xiàn)存儲資源的集中管理,并能夠自動執(zhí)行創(chuàng)建、變更、回收等整個存儲生命周期流程?;诋悩?gòu)存儲整合的功能,用戶可以實現(xiàn)跨不同品牌、介質(zhì)地實現(xiàn)容災(zāi),如用中低端陣列為高端陣列容災(zāi),用不同磁盤陣列為閃存陣列容災(zāi)等等,從側(cè)面降低了存儲采購和管理成本。