陳廣清
(廣東電網(wǎng)有限責(zé)任公司梅州供電局,廣東梅州 514021)
基于分布式的網(wǎng)絡(luò)存儲(chǔ)和數(shù)據(jù)保護(hù)系統(tǒng)
陳廣清
(廣東電網(wǎng)有限責(zé)任公司梅州供電局,廣東梅州 514021)
持續(xù)增長(zhǎng)的數(shù)據(jù)存儲(chǔ)需求帶動(dòng)了存儲(chǔ)技術(shù)的快速發(fā)展,分布式存儲(chǔ)技術(shù)應(yīng)運(yùn)而生。所研究的基于分布式的網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)和數(shù)據(jù)保護(hù)系統(tǒng)對(duì)于電力系統(tǒng)有重要的實(shí)際意義。針對(duì)梅州供電局現(xiàn)存的存儲(chǔ)設(shè)備問(wèn)題及實(shí)際情況,開(kāi)展分布式存儲(chǔ)技術(shù)及數(shù)據(jù)保護(hù)系統(tǒng)的研究,以改進(jìn)存儲(chǔ)系統(tǒng)管理,降低成本。
分布式;網(wǎng)絡(luò)存儲(chǔ);數(shù)據(jù)保護(hù)系統(tǒng)
分布式存儲(chǔ)技術(shù)應(yīng)具備以下特點(diǎn):高性能、可靠性、可擴(kuò)展性、透明性及自治性。分布式存儲(chǔ)系統(tǒng)的設(shè)計(jì)必須考慮采用高效的文件Cache機(jī)制,減小帶寬延遲,為用戶提供高性能存儲(chǔ)服務(wù),稱為“高性能”;系統(tǒng)應(yīng)該采用有效的容錯(cuò)機(jī)制,當(dāng)出現(xiàn)網(wǎng)絡(luò)不穩(wěn)定或者某些節(jié)點(diǎn)狀態(tài)處于不在線狀態(tài)情況時(shí),用戶仍然能夠獲得所需要的數(shù)據(jù)副本,稱為“可靠性”[1-2];分布式存儲(chǔ)系統(tǒng)之所以能夠支持超大容量數(shù)據(jù)存儲(chǔ),是由于它能夠通過(guò)增加節(jié)點(diǎn)的方式擴(kuò)大存儲(chǔ)容量,稱為“可擴(kuò)展性”;分布式存儲(chǔ)系統(tǒng)使用起來(lái)的感覺(jué)應(yīng)該和本地用戶沒(méi)有區(qū)別,稱為分布式存儲(chǔ)系統(tǒng)的“透明性”[3];系統(tǒng)包含大量的節(jié)點(diǎn)和存儲(chǔ)對(duì)象,人工維護(hù)難度很大,因此系統(tǒng)必須具有自維護(hù)、自恢復(fù)的功能,稱為“自治性”。
Network Attached Storage(NAS)是目前極具發(fā)展前途的一種存儲(chǔ)技術(shù),安裝簡(jiǎn)單、易于管理,并且具備高擴(kuò)展性等優(yōu)點(diǎn),適用于局域網(wǎng)使用,但成本較高;Storage Area Network(SAN)是指由光纖通道FC(Fiber Channel)連接的存儲(chǔ)設(shè)備網(wǎng)絡(luò),具有高帶寬、低延遲、低誤碼率等優(yōu)點(diǎn),但是成本較高,因此不適用于本文的研究方案;Internet是一個(gè)Overlay網(wǎng)絡(luò)[4],其本質(zhì)上是通過(guò)Internet互聯(lián)各種底層網(wǎng)絡(luò)構(gòu)成IP層,底層網(wǎng)絡(luò)包括以太網(wǎng)、令牌環(huán)網(wǎng)絡(luò)等。
P2P(Peer-to-Peer)計(jì)算也稱為對(duì)等計(jì)算,是指兩個(gè)節(jié)點(diǎn)進(jìn)行資源共享,盡可能減少中心控制,其中節(jié)點(diǎn)稱為Peer。與P2P模式相對(duì)應(yīng)的是CS模式,相對(duì)于P2P而言,C/S模式中客戶端是一個(gè)啞設(shè)備,所有計(jì)算和處理均在服務(wù)器端完成,而P2P中的節(jié)點(diǎn)處于對(duì)等位置,并不區(qū)分是客戶端節(jié)點(diǎn)還是服務(wù)端節(jié)點(diǎn)。
P2P網(wǎng)絡(luò)是指節(jié)點(diǎn)處于對(duì)等位置,并不區(qū)分服務(wù)器節(jié)點(diǎn)和客戶端節(jié)點(diǎn),通過(guò)P2P模式進(jìn)行連接形成網(wǎng)絡(luò),例如Chord和Tapstry都是P2P網(wǎng)絡(luò)。P2P網(wǎng)絡(luò)可以用于構(gòu)造基于Internet的分布式存儲(chǔ)系統(tǒng)。
目前處于發(fā)展階段中的P2P海量數(shù)據(jù)存儲(chǔ)系統(tǒng)主要有OceanStore系統(tǒng),Past系統(tǒng)和CFS系統(tǒng)[5]。國(guó)內(nèi)有“燕星”系統(tǒng),OceanStore系統(tǒng)是基于Tapstry算法發(fā)展形成的存儲(chǔ)系統(tǒng);Past系統(tǒng)是基于Pastry算法發(fā)展形成的存儲(chǔ)系統(tǒng);而CFS系統(tǒng)是在Chord路由算法基礎(chǔ)之上建立起來(lái)的文件存儲(chǔ)系統(tǒng)。
1.1 P2P分布式存儲(chǔ)機(jī)制
得益于Internet迅速發(fā)展,P2P模型得到了快速發(fā)展,基于P2P存儲(chǔ)技術(shù)的分布式存儲(chǔ)系統(tǒng)不僅具備高可靠性,同時(shí)具備高可擴(kuò)展性,因此受到了廣泛關(guān)注。
1.2 數(shù)據(jù)保護(hù)系統(tǒng)
網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)對(duì)可用性和持久性有很高的要求,也就是存儲(chǔ)系統(tǒng)的可靠性。計(jì)算機(jī)軟硬件故障、病毒黑客攻擊、人為操作故障或資源不足引起計(jì)劃性停機(jī)都有可能導(dǎo)致數(shù)據(jù)丟失。
數(shù)據(jù)保護(hù)系統(tǒng)可靠性指標(biāo)主要有三項(xiàng):穩(wěn)定性、安全性和可用性。穩(wěn)定性(Stability)是指作為存儲(chǔ)系統(tǒng)必須有能力為用戶持續(xù)、24小時(shí)不間斷服務(wù)的能力。
安全性(Security)是指系統(tǒng)中數(shù)據(jù)在運(yùn)行中保持安全可靠,數(shù)據(jù)應(yīng)該保證完整并可靠地進(jìn)行存儲(chǔ),一旦出現(xiàn)故障,不能影響數(shù)據(jù)的可用性和一致性,保證數(shù)據(jù)的安全有效。
可用性(Availability)表示存儲(chǔ)系統(tǒng)能夠提供正常服務(wù)的時(shí)間百分比,在可用時(shí)間段內(nèi),能夠確保存儲(chǔ)系統(tǒng)的正常、穩(wěn)定工作。
本文通過(guò)采用P2P技術(shù),將梅州供電局的零散計(jì)算機(jī)通過(guò)Internet連接起來(lái),通過(guò)整合資源,形成一套可靠性高、穩(wěn)定性好、低成本的分布式存儲(chǔ)系統(tǒng)。
按照系統(tǒng)功能進(jìn)行分類,P2P系統(tǒng)可以分為應(yīng)用層、會(huì)話層、數(shù)據(jù)層、路由層和物理層,如圖1所示。
圖1 P2P系統(tǒng)體系結(jié)構(gòu)
應(yīng)用層的作用是使用戶沒(méi)有遠(yuǎn)程操作的感覺(jué),和本地存儲(chǔ)一樣對(duì)存儲(chǔ)系統(tǒng)進(jìn)行操作,提供了一個(gè)面向用戶的對(duì)外接口。
會(huì)話層主要是實(shí)現(xiàn)節(jié)點(diǎn)管理機(jī)制,檢查是否每個(gè)節(jié)點(diǎn)在線,是否能夠獲取節(jié)點(diǎn)中的數(shù)據(jù)等。
數(shù)據(jù)層主要負(fù)責(zé)副本數(shù)據(jù)動(dòng)態(tài)管理,并且要注意避免“搭便車”及“公共悲劇”等常見(jiàn)的現(xiàn)象,影響數(shù)據(jù)的可靠性及可用性。
路由層通過(guò)路由機(jī)制和拓?fù)渌惴ǎ?fù)責(zé)提高搜索的高效性,減小獲取副本數(shù)據(jù)的時(shí)間延遲。
物理層也就是每個(gè)節(jié)點(diǎn)(計(jì)算機(jī))及計(jì)算機(jī)節(jié)點(diǎn)之間的網(wǎng)絡(luò)硬件連接,是整個(gè)P2P分布式存儲(chǔ)機(jī)制的最底層,也是硬件基礎(chǔ)設(shè)施。
2.1 P2P存儲(chǔ)系統(tǒng)分類
根據(jù)結(jié)構(gòu)關(guān)系可以將P2P系統(tǒng)細(xì)分為四種拓?fù)湫问剑褐行幕負(fù)?,半分布式拓?fù)?,全分布式非結(jié)構(gòu)化拓?fù)?,全分布式結(jié)構(gòu)化拓?fù)渌姆N類型。其中,中心化拓?fù)銹2P存儲(chǔ)系統(tǒng)結(jié)構(gòu)盡管其可維護(hù)性最好、發(fā)現(xiàn)算法效率最高,但是考慮到其可靠性差、可擴(kuò)展性差,不予采用;半分布式拓?fù)銹2P存儲(chǔ)系統(tǒng)結(jié)構(gòu)的可靠性、可擴(kuò)展性、可維護(hù)性及算法效率均處于一般水平,本文不予采用;全分布式非結(jié)構(gòu)化拓?fù)浣Y(jié)構(gòu)由于其可擴(kuò)展性差,不適合應(yīng)用于電力系統(tǒng);全分布式結(jié)構(gòu)化拓?fù)浣Y(jié)構(gòu)不僅可靠性高、可擴(kuò)展性好,而且便于維護(hù),并且具有較高的搜索效率,因此本文采用全分布式結(jié)構(gòu)化拓?fù)浣Y(jié)構(gòu)的P2P存儲(chǔ)系統(tǒng)模型。
2.2 選擇副本放置策略
一份完整的數(shù)據(jù)可以通過(guò)分割成不同副本的形式存儲(chǔ)在不同的網(wǎng)絡(luò)節(jié)點(diǎn)中;當(dāng)某個(gè)節(jié)點(diǎn)需要獲取數(shù)據(jù)時(shí),可以將所需副本從其他節(jié)點(diǎn)獲取并完成數(shù)據(jù)恢復(fù)。副本在節(jié)點(diǎn)中存儲(chǔ)的方式稱為副本放置策略。
副本放置策略通常有兩種,順序放置策略和隨機(jī)放置策略。順序放置算法是指按照一定順序選擇當(dāng)前節(jié)點(diǎn)及與當(dāng)前節(jié)點(diǎn)相鄰的K-1個(gè)節(jié)點(diǎn),將副本進(jìn)行順序存儲(chǔ);隨機(jī)放置策略是指隨機(jī)選擇K個(gè)節(jié)點(diǎn)對(duì)副本進(jìn)行存儲(chǔ),并建立索引表便于掌握數(shù)據(jù)副本的存放位置。兩種副本放置策略各自有優(yōu)缺點(diǎn),隨機(jī)放置策略的優(yōu)點(diǎn)是數(shù)據(jù)恢復(fù)效率較高,但缺點(diǎn)是需要建立索引表,并需要維護(hù)索引表的正確性及一致性;順序放置策略的缺點(diǎn)是恢復(fù)數(shù)據(jù)效率較低,但優(yōu)點(diǎn)是可靠性高,不需要建立和維護(hù)索引表,設(shè)計(jì)簡(jiǎn)便??紤]到電力系統(tǒng)對(duì)可靠性要求較高,因此本文的設(shè)計(jì)采用順序放置的副本放置策略。
2.3 分布式網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)訪問(wèn)模型
圖2給出了分布式存儲(chǔ)訪問(wèn)模型,客戶機(jī)通過(guò)Internet與Internet存儲(chǔ)訪問(wèn)服務(wù)器連接和交互,Internet存儲(chǔ)訪問(wèn)服務(wù)器則通過(guò)局域網(wǎng)與分布式存儲(chǔ)系統(tǒng)中的每一個(gè)節(jié)點(diǎn)計(jì)算機(jī)進(jìn)行連接和交互,Internet負(fù)責(zé)接收與處理來(lái)自用戶的存儲(chǔ)訪問(wèn)服務(wù)請(qǐng)求。
圖2 分布式存儲(chǔ)訪問(wèn)模型
分布式存儲(chǔ)訪問(wèn)模型使用戶實(shí)現(xiàn)遠(yuǎn)程分布式存儲(chǔ)系統(tǒng)進(jìn)行操作具備了可能性。
由于分布式存儲(chǔ)系統(tǒng)中的節(jié)點(diǎn)可能因故障或下線等原因?qū)е码x開(kāi)網(wǎng)絡(luò)系統(tǒng),為了保障數(shù)據(jù)的安全性和可靠性,設(shè)計(jì)分布式存儲(chǔ)系統(tǒng)最大的挑戰(zhàn)是怎樣在不可靠節(jié)點(diǎn)集合中實(shí)現(xiàn)可靠的存儲(chǔ)服務(wù)。
3.1 數(shù)據(jù)丟失原因
導(dǎo)致系統(tǒng)數(shù)據(jù)的丟失或破壞的原因主要有計(jì)算機(jī)軟硬件故障、病毒黑客攻擊、人為操作故障、資源不足引起計(jì)劃性停機(jī)等。導(dǎo)致數(shù)據(jù)丟失的原因主要有硬件或系統(tǒng)故障、人為操作錯(cuò)誤、軟件問(wèn)題和故障、計(jì)算機(jī)病毒和自然災(zāi)難,其中硬件或系統(tǒng)故障占56%,人為操作錯(cuò)誤占26%。
3.2 數(shù)據(jù)冗余策略
數(shù)據(jù)冗余策略是指同樣的數(shù)據(jù)文件擁有多個(gè)備份,并將不同的備份存儲(chǔ)在多個(gè)不同的節(jié)點(diǎn)上,當(dāng)某個(gè)節(jié)點(diǎn)因故障或不在線等原因?qū)е缕鋽?shù)據(jù)文件不可使用時(shí),可以通過(guò)其他節(jié)點(diǎn)上的備份完成數(shù)據(jù)重構(gòu)。
糾刪碼冗余策略和復(fù)制冗余策略是當(dāng)前廣泛使用的兩種冗余策略。復(fù)制冗余策略相對(duì)于糾刪碼冗余策略比較簡(jiǎn)單,只需將副本復(fù)制多個(gè)備份存儲(chǔ)到系統(tǒng)的多個(gè)節(jié)點(diǎn)中,當(dāng)部分節(jié)點(diǎn)發(fā)生故障或不在線時(shí),只要有一個(gè)節(jié)點(diǎn)的副本可用,該副本文件就可以被獲取到,從而完成數(shù)據(jù)重構(gòu)。由于以上特點(diǎn),復(fù)制冗余策略的可靠性比較高,存儲(chǔ)方法也比較簡(jiǎn)單,其可靠性與副本備份數(shù)量成正比,只要通過(guò)增加副本數(shù)據(jù)就可以提高可靠性。
糾刪碼編解碼原理如圖3所示。糾刪碼冗余策略相比復(fù)制冗余策略更加復(fù)雜,糾刪碼冗余策略上是將文件分割成為n份,并將n份副本編碼生成m個(gè)編碼塊,m個(gè)節(jié)點(diǎn)上分別存儲(chǔ)一個(gè)編碼塊,且m大于n,通過(guò)糾刪碼冗余策略可以在m個(gè)編碼塊中任意挑選n個(gè)編碼塊,成功完成原始數(shù)據(jù)重構(gòu)。
復(fù)制與糾刪碼兩種冗余策略各自有不同的有點(diǎn),糾刪碼所需的存儲(chǔ)和網(wǎng)絡(luò)開(kāi)銷較小[6],可擴(kuò)展性更好[7],但是比較復(fù)雜;復(fù)制策略實(shí)現(xiàn)過(guò)程簡(jiǎn)單,可靠性高,研究表明某些特殊情況下,如系統(tǒng)節(jié)點(diǎn)可用性極端低下,糾刪碼冗余策略的運(yùn)行效率反而比復(fù)制冗余策略低下[8],因此本文選用簡(jiǎn)便的復(fù)制策略。
圖3 糾刪碼編解碼原理圖
3.3 數(shù)據(jù)保護(hù)的相關(guān)技術(shù)研究
在分布式存儲(chǔ)系統(tǒng)中,由于維修、定期維護(hù)等原因,總會(huì)遇到需要進(jìn)行數(shù)據(jù)遷移的情況。生活中經(jīng)常會(huì)用到數(shù)據(jù)遷移,例如將目標(biāo)文件從計(jì)算機(jī)拷貝到U盤(pán),就完成了一次數(shù)據(jù)遷移的過(guò)程。所謂數(shù)據(jù)遷移就是將目標(biāo)數(shù)據(jù)從一個(gè)存儲(chǔ)介質(zhì)移動(dòng)到另一個(gè)存儲(chǔ)介質(zhì)的過(guò)程。當(dāng)前數(shù)據(jù)遷移的方式主要有在線遷移和離線遷移。在線遷移是指不中斷正常業(yè)務(wù)的情況下同時(shí)進(jìn)行數(shù)據(jù)遷移,但是數(shù)據(jù)遷移操作可能會(huì)增加系統(tǒng)開(kāi)銷,對(duì)正常業(yè)務(wù)造成干擾,甚至造成業(yè)務(wù)停頓;離線遷移是指在業(yè)務(wù)停止的時(shí)候以離線的方式集中執(zhí)行,但是對(duì)于本文研究的電力系統(tǒng)這種需要不間斷服務(wù)的業(yè)務(wù)不適用。針對(duì)本文研究的電力系統(tǒng),可以采取在線遷移手段。
重復(fù)數(shù)據(jù)越多意味著系統(tǒng)需要消耗更大的存儲(chǔ)空間和管理成本。因此刪除重復(fù)數(shù)據(jù)可以減小存儲(chǔ)需求。當(dāng)數(shù)據(jù)重復(fù)度較高時(shí),重復(fù)數(shù)據(jù)刪除的工作效果就體現(xiàn)得更為明顯。
本文針對(duì)電力系統(tǒng)可靠性要求高的特點(diǎn),同時(shí)考慮到節(jié)點(diǎn)的可用性與存儲(chǔ)額外開(kāi)銷都無(wú)法精確描述,選擇復(fù)制冗余策略進(jìn)行數(shù)據(jù)保護(hù);在副本放置策略選擇過(guò)程中,選擇設(shè)計(jì)簡(jiǎn)便、可靠性高的順序放置策略;引入數(shù)據(jù)分布管理、數(shù)據(jù)遷移技術(shù)及重復(fù)數(shù)據(jù)刪除技術(shù)等數(shù)據(jù)保護(hù)技術(shù),針對(duì)電力系統(tǒng)需要不中斷正常業(yè)務(wù)的情況下進(jìn)行數(shù)據(jù)遷移,優(yōu)先選擇在線遷移技術(shù)。本文研究成果對(duì)分布式網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)具有一定指導(dǎo)意義。
[1]MukeshSinghal and Niranjan G-shi?varatri.Advanced Concepts in Oper?ating System,Distributed,Data?base,and Multiprocessor Operat?ing Systems[M].McGraw-Hid,INC,1994.
[2]Andrew S.Tanenbaum.現(xiàn)代操作系統(tǒng)[M].北京:機(jī)械工業(yè)出版社,1999.
[3]陳曉宇,蘇中義.具有副本透明性的分布式文件系統(tǒng)模型的討論[J].華東交通大學(xué)學(xué)報(bào),2000,17(1)51-55.
[4]D.G.Andersen,H.Balakrishnan,M.Kaashoek,et al. Resilient overlay networks[C].In Proc.18th ACM SO?SP,Banff,Canada,October 2001.
[5]Frank Dabek,M.FransKaashoek,David Karger,et al. Wide-area Cooperative Storage with CFS[C].In SO?SP,Oct.2001.
[6]H.Weatherspoon,J.Kubiatowicz.Erasure coding vs.rep?lication:A quantitative comparison[C].Proceeding of IPTPS’02,Cambridge,Massachusetts,March 2002.
[7]A.G.Dimakis,P.G.Godfrey,M.J.Wainwright,et al.Net?work coding for peer-to-peer storage[C].Proceeding of INFOCOM,Anchorage,Alaska,May 2007.
[8]A.Dandoush, S.Alouf,P.Nain.Simulation analysis of download and recovery processes in p2p storage systems[R].Research Report RR-6858,INRIA,2009.
Research of Network Storage and Data Protection System Based on Distributed Technology
CHEN Guang-qing
(Meizhou Power Supply Bureau,Meizhou514021,China)
Storage technology develops rapidly with the growth of data storage demand,distributed storage technology comes to being. Research of Network storage and data protection system based on distributed technology in this paper has important practical significance for the research of power system.According to the current storage equipment and the actual situation of Meizhou power supply bureau,distributed storage technology and data protection system are researched in order to improve the storage system management and reduce the cost.
distributed;network storage;data protection system
TM73
:A
:1009-9492(2014)12-0155-04
10.3969/j.issn.1009-9492.2014.12.039
陳廣清,男,1981年生,廣東梅州人,碩士,工程師。研究領(lǐng)域:信息安全、云計(jì)算、云平臺(tái)。
(編輯:向 飛)
2014-11-14