隨著信息化程度的不斷提高,全球數(shù)據(jù)日益膨脹。面對當(dāng)前PB級的海量數(shù)據(jù)存儲(chǔ)需求,傳統(tǒng)的存儲(chǔ)系統(tǒng)在容量和性能的擴(kuò)展上存在瓶頸。云存儲(chǔ)以其擴(kuò)展性強(qiáng)、性價(jià)比高、容錯(cuò)性好等優(yōu)勢得到了業(yè)界的廣泛認(rèn)同。云存儲(chǔ)伴隨著云計(jì)算產(chǎn)生,作為云計(jì)算的先驅(qū),它很早就進(jìn)入了廣大研究人員的視野,由于其前瞻性,眾多企業(yè)都將其作為進(jìn)軍云計(jì)算的第一步。
文件系統(tǒng) 是操作系統(tǒng)的重要組成部分,用來管理和存儲(chǔ)大量的文件信息,負(fù)責(zé)對文件的存儲(chǔ)空間進(jìn)行分配和管理,并對存人其中的文件進(jìn)行保護(hù)和檢索,同時(shí)為用戶提供包括文件創(chuàng)建、刪除、命名、讀寫、訪問控制等一系列功能。此外,文件系統(tǒng)還可以根據(jù)存取權(quán)限及訪問操作類型來指定用戶對文件的存取。
分布式文件系統(tǒng)除了具有本地文件系統(tǒng)的所有功能外,還必須管理整個(gè)系統(tǒng)中所有計(jì)算機(jī)上的文件資源,從而把整個(gè)分布式文件資源以統(tǒng)一的視圖呈現(xiàn)給用戶。此外,分布式文件系統(tǒng)還需要隱藏內(nèi)部的實(shí)現(xiàn)細(xì)節(jié),對用戶和應(yīng)用程序屏蔽各個(gè)計(jì)算機(jī)節(jié)點(diǎn)底層文件系統(tǒng)之間的差異,以提供給用戶統(tǒng)一的訪問接口和方便的資源管理手段 。很顯然,作為一種典型的分布式系統(tǒng),云存儲(chǔ)需要分布式文件系統(tǒng)的底層支撐方能實(shí)現(xiàn)我們所希望的功能。
1 云計(jì)算技術(shù)
目前學(xué)術(shù)界以及工業(yè)界對云計(jì)算還沒形成一個(gè)統(tǒng)一的定義。在文獻(xiàn)[3]中,云計(jì)算被定義為一個(gè)包含大量可用虛擬資源的資源池,該資源池一般由基礎(chǔ)設(shè)施提供商按照服務(wù)等級協(xié)議采用按時(shí)付費(fèi)或按需付費(fèi)的模式進(jìn)行開發(fā)管理,其中的虛擬資源根據(jù)不同負(fù)載進(jìn)行動(dòng)態(tài)配置,以達(dá)到優(yōu)化資源利用率的目的。
在一定程度上,我們可以認(rèn)為云計(jì)算是分布式計(jì)算、并行計(jì)算和網(wǎng)格計(jì)算等計(jì)算概念的商業(yè)發(fā)展 ,其基本原理是用戶通過互聯(lián)網(wǎng)來應(yīng)用計(jì)算機(jī)集群上的資源。通過本地計(jì)算機(jī)連接互聯(lián)網(wǎng)向集群發(fā)送需求信息,遠(yuǎn)端的計(jì)算機(jī)集群資源收到用戶需求信息后,將為該用戶提供必要的資源并進(jìn)行運(yùn)算,最后將計(jì)算結(jié)果返回至本地計(jì)算機(jī)。在上述過程中,云計(jì)算向用戶提供的并非計(jì)算資源,而是一種服務(wù)。云計(jì)算屏蔽了它的內(nèi)部設(shè)備部署細(xì)節(jié)、網(wǎng)絡(luò)接口以及運(yùn)行在其上的軟件運(yùn)行機(jī)制,其只是把外部訪問接口暴露給用戶。用戶不需要了解云的內(nèi)部實(shí)現(xiàn)細(xì)節(jié),只需要通過互聯(lián)網(wǎng)連接其外部應(yīng)用接口即可獲得所需服務(wù)。
云計(jì)算具有規(guī)模龐大、資源虛擬化、高可靠性、可擴(kuò)展性、通用性、以用戶為中心以及計(jì)費(fèi)靈活等特點(diǎn)。云環(huán)境下,用戶面對的不再是復(fù)雜的硬件和軟件資源,而是最終所需的服務(wù),用戶從過去“購買產(chǎn)品”轉(zhuǎn)變到“購買服務(wù)”上來;用戶不需要購買硬件設(shè)施,也不需要為機(jī)房支付設(shè)備供電、空調(diào)制冷、專人維護(hù)等費(fèi)用,而只需支付相應(yīng)資源使用費(fèi)用,即可得到相應(yīng)服務(wù)。
目前云計(jì)算技術(shù)發(fā)展迅速,和傳統(tǒng)預(yù)先購置和部署設(shè)備的計(jì)算方式相比,其獨(dú)特的按需付費(fèi)和彈性擴(kuò)展的資源供給方式具有明顯的性能優(yōu)勢,因此,其必將成為未來最值得推廣和應(yīng)用的技術(shù)之一。
2 云存儲(chǔ)系統(tǒng)
云存儲(chǔ)是實(shí)現(xiàn)云計(jì)算系統(tǒng)架構(gòu)中的一個(gè)重要組成部分。隨著信息技術(shù)的不斷發(fā)展,全球數(shù)據(jù)規(guī)模日益膨脹。由于傳統(tǒng)的SAN (Storage Arew Network) 或NAS(Network Attached Storage) 存儲(chǔ)技術(shù)在存儲(chǔ)容量和可擴(kuò)展性上存在瓶頸,并且在硬件設(shè)備的部署數(shù)量上也存在一定限制,這使得用戶升級系統(tǒng)的成本大大增加。云存儲(chǔ)采用可擴(kuò)展的分布式文件系統(tǒng),并使用廉價(jià)的Pc機(jī)來進(jìn)行系統(tǒng)部署,從而使得整體存儲(chǔ)架構(gòu)能夠保持極低的成本。
云存儲(chǔ)是通過集群應(yīng)用、網(wǎng)格技術(shù)、分布式文件系統(tǒng)等,將網(wǎng)絡(luò)中大量類型各異的存儲(chǔ)設(shè)備整合起來,并對外提供數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪問功能的系統(tǒng)。簡單來說,云存儲(chǔ)是對虛擬化存儲(chǔ)資源的管理和使用。云存儲(chǔ)是存儲(chǔ)領(lǐng)域一個(gè)新的概念,其目前已成為學(xué)術(shù)界和工業(yè)界的一個(gè)研究熱點(diǎn)。區(qū)別于傳統(tǒng)的存儲(chǔ)技術(shù),云存儲(chǔ)提供了更好的可擴(kuò)展性,當(dāng)需增加存儲(chǔ)能力時(shí),只需添加服務(wù)器即可實(shí)現(xiàn),而不需要對存儲(chǔ)系統(tǒng)的結(jié)構(gòu)進(jìn)行重新設(shè)計(jì);同時(shí)隨著存儲(chǔ)能力的增加,云存儲(chǔ)系統(tǒng)的性能不會(huì)下降。
云存儲(chǔ)專注于解決云計(jì)算中海量數(shù)據(jù)的存儲(chǔ)問題,它既可以給云計(jì)算技術(shù)提供專業(yè)的存儲(chǔ)解決方案,又可以獨(dú)立發(fā)布存儲(chǔ)服務(wù)。云存儲(chǔ)將存儲(chǔ)作為服務(wù),它將分別位于網(wǎng)絡(luò)中不同位置的大量類型各異的存儲(chǔ)設(shè)備通過集群應(yīng)用、網(wǎng)格技術(shù)和分布式文件系統(tǒng)等集合起來協(xié)同工作,通過應(yīng)用軟件進(jìn)行業(yè)務(wù)管理,并通過統(tǒng)一的應(yīng)用接口對外提供數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪問功能。在使用一個(gè)獨(dú)立的存儲(chǔ)設(shè)備時(shí),我們需要了解該設(shè)備的型號、接口以及該設(shè)備所使用的傳輸協(xié)議;如果使用云存儲(chǔ),則不存在上述問題。對用戶來說,云存儲(chǔ)系統(tǒng)中的所有設(shè)備都是透明的,用戶不必關(guān)心云存儲(chǔ)系統(tǒng)內(nèi)部是如何實(shí)現(xiàn)的,也無需了解存儲(chǔ)的提供方式和底層基礎(chǔ),任何一個(gè)授權(quán)用戶都可以通過網(wǎng)絡(luò)來使用云存儲(chǔ)系統(tǒng)提供的數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪問服務(wù)。
目前,云存儲(chǔ)的興起正在顛覆傳統(tǒng)的存儲(chǔ)系統(tǒng)架構(gòu),其正以良好的可擴(kuò)展性、性價(jià)比和容錯(cuò)性等優(yōu)勢得到業(yè)界的廣泛認(rèn)同。
3 云存儲(chǔ)分布式文件系統(tǒng)
由上節(jié)討論可知,云存儲(chǔ)系統(tǒng)具有良好的可擴(kuò)展性、容錯(cuò)性,以及內(nèi)部實(shí)現(xiàn)對用戶透明等特性,這一切都離不開分布式文件系統(tǒng)的支撐,F(xiàn)有的云存儲(chǔ)分布式文件系統(tǒng)包括GFS、HDFS、Lustre、FastDFS、PVFS、GPFS、PFS、Ceph和TFS等。它們的許多設(shè)計(jì)理念類似,同時(shí)也各有特色。下面對現(xiàn)有的分布式文件系統(tǒng)進(jìn)行詳細(xì)介紹。
3.1 Google File System (GFS)
GFS是一個(gè)可擴(kuò)展的分布式文件系統(tǒng),其主要用于處理大的分布式數(shù)據(jù)密集型應(yīng)用。GFS的一大特色就是其運(yùn)行于大量普通的廉價(jià)硬件上,通過GFS文件系統(tǒng)提供容錯(cuò)功能,并給大量用戶提供可處理海量數(shù)據(jù)的高性能服務(wù)。和傳統(tǒng)標(biāo)準(zhǔn)相比,GFS文件規(guī)模巨大,其主要用來處理大文件。此外,GFS大多通過直接追加新數(shù)據(jù)來改變文件,而非覆蓋現(xiàn)有數(shù)據(jù),一旦數(shù)據(jù)寫入完成,文件就僅支持讀操作。
3.2 Lustre文件系統(tǒng)
Lustre文件系統(tǒng)是一種典型的基于對象存儲(chǔ)技術(shù) 的分布式文件系統(tǒng), 目前,該文件系統(tǒng)已經(jīng)廣泛用于國外許多高性能計(jì)算機(jī)構(gòu),如美國能源部、Sandia國家實(shí)驗(yàn)室、Pacific Northwest國家實(shí)驗(yàn)室等。Top500機(jī)器中有多臺均采用的是Lustre文件系統(tǒng)。
Lustre文件系統(tǒng)的大文件性能良好 ,其通過基于對象的數(shù)據(jù)存儲(chǔ)格式,將同一數(shù)據(jù)文件分為若干個(gè)對象分別存儲(chǔ)于不同的對象存儲(chǔ)設(shè)備。大文件I/O操作被分配到不同的對象存儲(chǔ)設(shè)備上并行實(shí)施,從而實(shí)現(xiàn)很大的聚合帶寬。此外,由于Lustre融合了傳統(tǒng)分布式文件系統(tǒng)的特色和傳統(tǒng)共享存儲(chǔ)文件系統(tǒng)的設(shè)計(jì)理念,因此其具有更加有效的數(shù)據(jù)管理機(jī)制、全局?jǐn)?shù)據(jù)共享、基于對象存儲(chǔ)、存儲(chǔ)智能化,以及可快速部署等一系列優(yōu)點(diǎn)。盡管如此,由于Lustre采用分布式存儲(chǔ)結(jié)構(gòu)將元數(shù)據(jù)和數(shù)據(jù)文件分開存儲(chǔ),訪問數(shù)據(jù)之前需要先訪問元數(shù)據(jù)服務(wù)器,這一過程增加了網(wǎng)絡(luò)開銷,從而使得Lustre的小文件I/O操作性能較差。
3.3 FastDFS文件系統(tǒng)
FastDFS是一個(gè)輕量級分布式文件系統(tǒng),其體系架構(gòu)如圖3所示,整個(gè)文件系統(tǒng)由客戶端(Cli—ent)、跟蹤器(Tracker)和存儲(chǔ)節(jié)點(diǎn)(Storage)三部分組成。系統(tǒng)服務(wù)端有Tracker和Storage兩個(gè)角色,Tracker用來負(fù)責(zé)作業(yè)的調(diào)度和負(fù)載均衡,Storage則用于存儲(chǔ)文件,并負(fù)責(zé)管理文件。為支持大容量的數(shù)據(jù)存儲(chǔ),Storage采用分卷或分組的數(shù)據(jù)組織方式;存儲(chǔ)系統(tǒng)可由一個(gè)或多個(gè)卷組成,一個(gè)卷可以由一臺或多臺存儲(chǔ)服務(wù)器構(gòu)建。同一個(gè)卷下的多臺存儲(chǔ)服務(wù)器中的數(shù)據(jù)文件都是相同的,卷與卷之間的文件則相互獨(dú)立,通過這種數(shù)據(jù)組織方式,可以很好地實(shí)現(xiàn)數(shù)據(jù)冗余備份以及系統(tǒng)負(fù)載均衡的目的。
圖 FastDFS文件系統(tǒng)體系結(jié)構(gòu)示意圖
3.4 Parallel Virtual File System (PVFS)
由Clemson大學(xué)設(shè)計(jì)并成功開發(fā)的PVFS是一種構(gòu)建在Linux操作系統(tǒng)之上的開源并行虛擬文件系統(tǒng)。PVFS基于傳統(tǒng)的C/S架構(gòu)進(jìn)行設(shè)計(jì),整個(gè)文件系統(tǒng)由管理結(jié)點(diǎn)、計(jì)算結(jié)點(diǎn)和I/0結(jié)點(diǎn)三大部分組成,管理結(jié)點(diǎn)負(fù)責(zé)處理文件的元數(shù)據(jù),計(jì)算節(jié)點(diǎn)用來執(zhí)行各種計(jì)算任務(wù),I/0結(jié)點(diǎn)則主要負(fù)責(zé)數(shù)據(jù)文件的存儲(chǔ)和讀寫,并負(fù)責(zé)給計(jì)算結(jié)點(diǎn)提供所需的數(shù)據(jù)。在整個(gè)集群系統(tǒng)范圍內(nèi),PVFS使用一致的全局命名空間,另外,PVFS應(yīng)用對象存儲(chǔ)的概念,將數(shù)據(jù)文件條塊化為多個(gè)對象并分別存儲(chǔ)到多個(gè)存儲(chǔ)結(jié)點(diǎn)上。由于在網(wǎng)絡(luò)通信方面,PVFS只支持TCP網(wǎng)絡(luò)通信協(xié)議,這使得其靈活性不足;此外,由于PVFS應(yīng)用對象存儲(chǔ)的概念進(jìn)行數(shù)據(jù)文件的存儲(chǔ),其在處理小文件時(shí)性能也不太理想。
3.5 General Parallel File System (GPFS)
GPFS的前身是Tiger Shark多媒體文件系統(tǒng),其是IBM專為Linux集群系統(tǒng)設(shè)計(jì)的并行共享文件系統(tǒng)。在系統(tǒng)結(jié)構(gòu)上,GPFS主要借鑒了IBM Linux集群系統(tǒng)中的虛擬共享磁盤技術(shù),計(jì)算節(jié)點(diǎn)可以通過使用交換網(wǎng)絡(luò)來同時(shí)并行訪問系統(tǒng)中多個(gè)磁盤中的數(shù)據(jù),并依賴這一訪問方式來實(shí)現(xiàn)較高的I/O帶寬。GPFS的主要特點(diǎn)包括:通過循環(huán)的方式將大文件存儲(chǔ)在不同的磁盤上,同時(shí)通過合并操作來處理小文件的讀寫,使用動(dòng)態(tài)選舉的元數(shù)據(jù)結(jié)點(diǎn)來管理元數(shù)據(jù);此外,GPFS還具有基于日志的失效節(jié)點(diǎn)的自動(dòng)恢復(fù)策略以及集中式的數(shù)據(jù)鎖機(jī)制。
3.6 Parallel File System (PFS)
Sun公司的PFS分布式文件系統(tǒng)可以很好地支持高性能和可擴(kuò)展的I/O操作,其主要設(shè)計(jì)思想是將文件分布在多個(gè)磁盤和服務(wù)器上,并將存放文件的多個(gè)設(shè)備邏輯上看成一個(gè)虛擬磁盤來統(tǒng)一管理。很顯然,PFS可以同時(shí)跨越多個(gè)存儲(chǔ)系統(tǒng),可以將整個(gè)PFS中的所有存儲(chǔ)設(shè)備都看成是這個(gè)虛擬磁盤的一部分;當(dāng)有多個(gè)節(jié)點(diǎn)同時(shí)訪問同一文件時(shí),PFS可以并行地為這些節(jié)點(diǎn)提供訪問服務(wù)。PFS分布式文件系統(tǒng)構(gòu)建于Solaris操作系統(tǒng)之上,主要包括宿主節(jié)點(diǎn)、計(jì)算節(jié)點(diǎn)、I/O從屬節(jié)點(diǎn)和I/O主機(jī)節(jié)點(diǎn)。宿主節(jié)點(diǎn)是PFS提供給其它系統(tǒng)的人口,只有成功登錄到宿主節(jié)點(diǎn)的用戶才是合法的,才可以訪問PFS內(nèi)部的數(shù)據(jù)文件。計(jì)算節(jié)點(diǎn)主要用來管理PFS系統(tǒng)的通信和內(nèi)存資源。L/O主機(jī)節(jié)點(diǎn)則主要負(fù)責(zé)文件系統(tǒng)的目錄管理和存儲(chǔ)塊管理,同時(shí)為存儲(chǔ)數(shù)據(jù)文件提供讀寫服務(wù)。I/O從屬節(jié)點(diǎn)僅用來處理磁盤的讀寫操作和空白塊的分配工作。
3.7 Ceph云存儲(chǔ)文件系統(tǒng)
Ceph是Califomia大學(xué)Santa Cruz分校的Sage Weil設(shè)計(jì)的一種云存儲(chǔ)分布式文件系統(tǒng)。Ceph云存儲(chǔ)文件系統(tǒng)的主要目標(biāo)是設(shè)計(jì)基于POSIX的無節(jié)點(diǎn)故障分布式文件系統(tǒng),并且數(shù)據(jù)文件具有容錯(cuò)和無縫復(fù)制功能。Ceph文件系統(tǒng)具有三大特點(diǎn),首先,其使用多個(gè)元數(shù)據(jù)服務(wù)器來構(gòu)建系統(tǒng)的命名空間,這顯著強(qiáng)化了元數(shù)據(jù)服務(wù)器的并發(fā)訪問功能;其次,在元數(shù)據(jù)服務(wù)器上,Ceph文件系統(tǒng)采用了動(dòng)態(tài)的子樹劃分技術(shù),并支持元數(shù)據(jù)服務(wù)器的負(fù)載遷移,可以很好地實(shí)現(xiàn)元數(shù)據(jù)的負(fù)載均衡;最后,Ceph文件系統(tǒng)提供基于對象存儲(chǔ)設(shè)備的對象文件系統(tǒng),并將數(shù)據(jù)文件作為一個(gè)存儲(chǔ)對象來對待,這有效地提高了數(shù)據(jù)文件的讀寫效率。
3.8 Taobao File System (TFS)
Taobao file system (TFS)是由淘寶開發(fā)的云存儲(chǔ)文件系統(tǒng),其主要面向海量非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)問題提供服務(wù)。TFS部署在普通的Linux集群上,為淘寶網(wǎng)提供高可靠、高并發(fā)的大量小文件數(shù)據(jù)存儲(chǔ)服務(wù)。TFS采用扁平化的數(shù)據(jù)組織結(jié)構(gòu)將文件名映射到文件的物理地址,簡化了文件訪問流程,一定程度上優(yōu)化了系統(tǒng)讀寫性能。
一個(gè)TFS集群由兩個(gè)NameServer節(jié)點(diǎn)和多個(gè)DataServer節(jié)點(diǎn)組成,TFS的服務(wù)程序都是作為一個(gè)用戶級的程序運(yùn)行在普通Linux機(jī)器上。TFS將眾多的小文件合并成大文件,并稱這個(gè)大文件為Block,Block存儲(chǔ)在DataServer上,每個(gè)Block在TFS系統(tǒng)內(nèi)均擁有唯一的Id號。NameServer負(fù)責(zé)維護(hù)block與DataServer之間的映射關(guān)系。NameServer采用HA結(jié)構(gòu),即雙機(jī)互為熱備份,來實(shí)現(xiàn)容災(zāi)功能,兩臺NameServer同時(shí)運(yùn)行,其中一臺為主節(jié)點(diǎn),另外一臺作為備用節(jié)點(diǎn)。當(dāng)主NameServer節(jié)點(diǎn)出現(xiàn)故障后,迅速將備份NameServer切換為主節(jié)點(diǎn)并對外提供服務(wù)。
4 結(jié)語
自云計(jì)算技術(shù)出現(xiàn)以來,隨著科學(xué)技術(shù)的不斷發(fā)展,以及學(xué)術(shù)界和工業(yè)界的不斷推進(jìn),云計(jì)算應(yīng)用不斷發(fā)展壯大,云存儲(chǔ)也逐漸從理論走向?qū)嵺`。本文首先對云計(jì)算技術(shù)進(jìn)行介紹,然后引出云存儲(chǔ)的概念,并對云存儲(chǔ)的技術(shù)原理、性能優(yōu)勢等進(jìn)行分析,同時(shí)指出分布式文件系統(tǒng)是實(shí)現(xiàn)云存儲(chǔ)系統(tǒng)高可擴(kuò)展、高容錯(cuò)性、高性價(jià)比等一系列性能優(yōu)勢的基礎(chǔ)保障。最后對現(xiàn)有的云存儲(chǔ)分布式文件系統(tǒng)進(jìn)行詳細(xì)而深入的討論。在云存儲(chǔ)的發(fā)展和應(yīng)用過程中,近年來不斷有新的熱點(diǎn)出現(xiàn)并被廣泛討論和研究,如云存儲(chǔ)數(shù)據(jù)中心部署、云存儲(chǔ)QoS控制、用戶請求區(qū)分、數(shù)據(jù)副本策略以及調(diào)度機(jī)制等很多方面。本文工作將為我們對云存儲(chǔ)技術(shù)進(jìn)行更深入的研究提供基礎(chǔ)支撐。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:云存儲(chǔ)及其分布式文件系統(tǒng)研究
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/1083977942.html