存儲系統(tǒng)是數(shù)據(jù)中心IT環(huán)境的核心基礎(chǔ)架構(gòu),是數(shù)據(jù)中心數(shù)據(jù)訪問的最終承載體。存儲在云計(jì)算、虛擬化、大數(shù)據(jù)等相關(guān)技術(shù)進(jìn)入后已經(jīng)發(fā)生了巨大的改變,塊存儲、文件存儲、對象存儲支撐起多種數(shù)據(jù)類型的讀取;集中式存儲已經(jīng)不再是數(shù)據(jù)中心的主流存儲架構(gòu),海量數(shù)據(jù)的存儲訪問,需要擴(kuò)展性、伸縮性極強(qiáng)的分布式存儲架構(gòu)來實(shí)現(xiàn)。
在新的IT發(fā)展過程中,數(shù)據(jù)中心建設(shè)已經(jīng)進(jìn)入云計(jì)算時代,企業(yè)IT存儲環(huán)境已經(jīng)不能簡單的從一般性業(yè)務(wù)運(yùn)營需求來構(gòu)建云計(jì)算的數(shù)據(jù)中心存儲環(huán)境。云計(jì)算數(shù)據(jù)中心的建設(shè)不是為了滿足某一個業(yè)務(wù)系統(tǒng)的特殊目標(biāo),是為了實(shí)現(xiàn)所有業(yè)務(wù)系統(tǒng)在云平臺上能夠?qū)崿F(xiàn)靈活的資源調(diào)度、良好的伸縮性、業(yè)務(wù)擴(kuò)展的彈性以及快速交付性。因此,是一種自下而上的建設(shè)模式(如圖1所示),基于云計(jì)算平臺的建設(shè)先于應(yīng)用系統(tǒng)需求,并不再與具體的業(yè)務(wù)捆綁,應(yīng)用系統(tǒng)的建設(shè)、擴(kuò)容、升級主要以軟件為主,硬件物理資源向資源池申請,存儲系統(tǒng)成為云數(shù)據(jù)中心的可分配、可調(diào)度的資源,在這種情況下,有助于消除瓶頸、提高處理速度,使得業(yè)務(wù)系統(tǒng)穩(wěn)定、高效、持久運(yùn)行。
一、數(shù)據(jù)中心存儲架構(gòu)的演進(jìn)
隨著數(shù)據(jù)中心從最初的孤立系統(tǒng)企業(yè)級應(yīng)用,發(fā)展到互聯(lián)網(wǎng)化階段的大規(guī)模云計(jì)算服務(wù),其存儲架構(gòu)也不斷發(fā)展(如圖2所示)。從滿足關(guān)鍵系統(tǒng)的性能與容量需求,到以虛擬化架構(gòu)來整合數(shù)據(jù)中心存儲資源,提供按需的存儲服務(wù)和自動化運(yùn)維,并進(jìn)一步向存儲系統(tǒng)的智能化、敏捷化演進(jìn),應(yīng)用需求的變化是存儲架構(gòu)不斷改進(jìn)提升的驅(qū)動力,豎井式、虛擬化、云存儲三種架構(gòu)并存是當(dāng)前現(xiàn)狀,軟件定義存儲架構(gòu)的出現(xiàn)則是后云計(jì)算時代的存儲發(fā)展階段。
圖2 存儲系統(tǒng)系統(tǒng)架構(gòu)和管理演進(jìn)
豎井式架構(gòu)
對于早期的系統(tǒng),在主機(jī)架構(gòu)下,數(shù)據(jù)和邏輯是一體的,采用面向過程的設(shè)計(jì)方法,每個應(yīng)用是一個孤立的系統(tǒng),維護(hù)相對容易,難于相互集成;客戶機(jī)/服務(wù)器架構(gòu)將邏輯與數(shù)據(jù)進(jìn)行了分離(不論C/S還是B/S模式,本質(zhì)都是客戶機(jī)/服務(wù)器架構(gòu)),同樣采用面向?qū)ο蟮脑O(shè)計(jì)方法,每個應(yīng)用是一個孤立的系統(tǒng),提供了一定后臺集成的能力。這種架構(gòu)的存儲也隨著系統(tǒng)的建設(shè)形成了自身的獨(dú)立性,業(yè)務(wù)平臺的硬件設(shè)備按照規(guī)劃期內(nèi)最大用戶數(shù)來配置,而在業(yè)務(wù)初期和業(yè)務(wù)發(fā)展情況難預(yù)測的情況下,無法真實(shí)評估存儲的規(guī)模與性能要求,這往往會浪費(fèi)不少硬件設(shè)備資源和空間、動力等資源,并且硬件資源不能靈活調(diào)度。 每個業(yè)務(wù)上線都需要經(jīng)過軟件選型、評估資源、硬件選型、采購和實(shí)施等環(huán)節(jié),業(yè)務(wù)上線流程長、時間跨度大,不利于業(yè)務(wù)發(fā)展。
存儲虛擬化
隨著業(yè)務(wù)發(fā)展,數(shù)據(jù)中心存儲不可避免形成大量的異構(gòu)環(huán)境,標(biāo)準(zhǔn)化的管理流程難以實(shí)施。存儲虛擬化架構(gòu)實(shí)現(xiàn)對不同結(jié)構(gòu)的存儲設(shè)備進(jìn)行集中化管理,統(tǒng)一整合形成一個存儲池,向服務(wù)器層屏蔽存儲設(shè)備硬件的特殊性,虛擬化出統(tǒng)一的邏輯特性,從而實(shí)現(xiàn)了存儲系統(tǒng)集中、統(tǒng)一而又方便的管理。使得存儲池中的所有存儲卷都擁有相同的屬性,如性能、冗余特性、備份需求或成本,并實(shí)現(xiàn)自動化(如LUN管理)以及基于策略的集中存儲管理。
同時,存儲資源的自動化管理為用戶提供更高層次策略的選擇。在存儲池中可以定義多種存儲工具來代表不同業(yè)務(wù)領(lǐng)域或存儲用戶的不同服務(wù)等級。另外,還允許用戶以單元的方式管理每一存儲池內(nèi)部的存儲資源,根據(jù)需要添加、刪除或改變,同時保持對應(yīng)用服務(wù)器業(yè)務(wù)系統(tǒng)的透明性。基于策略的存儲虛擬化能夠管理整個存儲基礎(chǔ)機(jī)構(gòu),保持合理分配存儲資源,高優(yōu)先級的應(yīng)用有更高的存儲優(yōu)先級,使用性能最好的存儲,低優(yōu)先級的應(yīng)用使用便宜的存儲。
云存儲架構(gòu)
云存儲架構(gòu)伴隨著大規(guī)模云計(jì)算的數(shù)據(jù)時代的到來,將存儲作為云的服務(wù)提供,不論是企業(yè)私有云還是公有云的存儲,都著重于大量存儲數(shù)據(jù)的創(chuàng)建和分布,并關(guān)注快速通過云獲得數(shù)據(jù)的訪問。云存儲架構(gòu)需要支持大規(guī)模的數(shù)據(jù)負(fù)載的存儲、備份、遷移、傳輸,同時要求巨大的成本、性能和管理優(yōu)勢。
云存儲的技術(shù)部署,通過集群應(yīng)用或分布式文件系統(tǒng)等功能,網(wǎng)絡(luò)中大量各種不同類型的存儲設(shè)備通過應(yīng)用軟件集合起來協(xié)同工作,共同對外提供數(shù)據(jù)存儲和業(yè)務(wù)訪問功能的一個系統(tǒng),保證數(shù)據(jù)的安全性,并節(jié)約存儲空間。
在大規(guī)模系統(tǒng)支撐上,分布式文件系統(tǒng)、分布式對象存儲等技術(shù),為云存儲的各種應(yīng)用提供了高度可伸縮、可擴(kuò)展和極大的彈性支撐和強(qiáng)大的數(shù)據(jù)訪問性能,并且因?yàn)檫@些分布式技術(shù)對標(biāo)準(zhǔn)化硬件的支持,使得大規(guī)模云存儲得以低成本的建設(shè)和運(yùn)維。
云存儲不是要取代現(xiàn)有的盤陣,而是為了應(yīng)付高速成長的數(shù)據(jù)量與帶寬而產(chǎn)生的新形態(tài)存儲系統(tǒng),因此云存儲在構(gòu)建時重點(diǎn)考慮的三點(diǎn):擴(kuò)容簡便、性能易于增長、管理簡易。
軟件定義存儲
軟件定義存儲當(dāng)前還未有確切的定義,但軟件定義存儲代表了一種趨勢,即存儲架構(gòu)中軟件和硬件的分離,也就是數(shù)據(jù)層和控制層的分離。對于數(shù)據(jù)中心用戶而言,通過軟件來實(shí)現(xiàn)對存儲資源的管理和調(diào)度,如靈活的卷遷移等而無需考慮硬件設(shè)備本身。
通過軟件定義存儲實(shí)現(xiàn)存儲資源的虛擬化 、抽象化、自動化,能夠完整的實(shí)現(xiàn)數(shù)據(jù)中心存儲系統(tǒng)的部署、管理、監(jiān)控、調(diào)整等多個要求,使得存儲系統(tǒng)具備靈活、自由和高可用等特點(diǎn)。
二、數(shù)據(jù)中心存儲的技術(shù)架構(gòu)
1.數(shù)據(jù)類型
數(shù)據(jù)中心的存儲數(shù)據(jù)類型發(fā)生了很大的變化,按照結(jié)構(gòu)化程度來分,可以大致分為以下三種。
○ 結(jié)構(gòu)化數(shù)據(jù)的存儲及應(yīng)用。這是一種用戶定義的數(shù)據(jù)類型,它包含了一系列的屬性,每一個屬性都有一個數(shù)據(jù)類型,存儲在關(guān)系數(shù)據(jù)庫里。一般的業(yè)務(wù)系統(tǒng)都有大量的結(jié)構(gòu)化數(shù)據(jù),一般存儲在 Oracle或MySQL的等的關(guān)系型數(shù)據(jù)庫中,在企業(yè)級數(shù)據(jù)中心,一般在集中存儲架構(gòu)中保存,或成為主存儲系統(tǒng),以塊存儲訪問為主。
○ 非結(jié)構(gòu)化數(shù)據(jù)的存儲及應(yīng)用。相對于結(jié)構(gòu)化數(shù)據(jù)而言,不方便用數(shù)據(jù)庫二維邏輯表來表現(xiàn)的數(shù)據(jù)即稱為非結(jié)構(gòu)化數(shù)據(jù),包括所有格式的辦公文檔、文本、圖片、XML、HTML、各類報表、圖像和音頻/視頻信息等等,分布式文件系統(tǒng)是實(shí)現(xiàn)非結(jié)構(gòu)化數(shù)據(jù)存儲的主要技術(shù)。
○ 半結(jié)構(gòu)化數(shù)據(jù)的存儲及應(yīng)用。介于完全結(jié)構(gòu)化數(shù)據(jù)(如關(guān)系型數(shù)據(jù)庫、面向?qū)ο髷?shù)據(jù)庫中的數(shù)據(jù))和完全無結(jié)構(gòu)的數(shù)據(jù)(如聲音、圖像文件等)之間的數(shù)據(jù),半結(jié)構(gòu)化數(shù)據(jù)模型具有一定的結(jié)構(gòu)性,但較之傳統(tǒng)的關(guān)系和面向?qū)ο蟮哪P透鼮殪`活。半結(jié)構(gòu)數(shù)據(jù)模型完全不基于傳統(tǒng)數(shù)據(jù)庫模式的嚴(yán)格概念,這些模型中的數(shù)據(jù)都是自描述的。由于半結(jié)構(gòu)化數(shù)據(jù)沒有嚴(yán)格的語義定義,所以不適合用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫進(jìn)行存儲,適合存儲這類數(shù)據(jù)的數(shù)據(jù)庫被稱作"NoSQL"數(shù)據(jù)庫。
2.塊、文件、對象
塊存儲
對于存儲系統(tǒng),塊讀寫一般是在存儲介質(zhì)上的數(shù)據(jù)概念,對于磁盤來說,塊數(shù)據(jù)的存儲單元是一個或多個磁盤扇區(qū)。因此塊級數(shù)據(jù)的讀寫,是面向最底層的物理層的,數(shù)據(jù)操作基于起始扇區(qū)編號、操作碼(讀、寫等)、連續(xù)扇區(qū)數(shù)量等,塊數(shù)據(jù)訪問接口是SCSI接口。有兩種常用的兩種塊存儲方式。
○ DAS(Direct Attach STorage)。是直接連接于主機(jī)服務(wù)器的一種儲存方式,每一臺主機(jī)服務(wù)器有獨(dú)立的儲存設(shè)備,每臺主機(jī)服務(wù)器的儲存設(shè)備無法互通,需要跨主機(jī)存取資料時,必須經(jīng)過相對復(fù)雜的設(shè)定,若主機(jī)服務(wù)器分屬不同的操作系統(tǒng),要存取彼此的數(shù)據(jù),更是復(fù)雜,有些系統(tǒng)甚至不能存取。通常用在單一網(wǎng)絡(luò)環(huán)境下且數(shù)據(jù)交換量不大,性能要求不高的環(huán)境下,是早期的技術(shù)實(shí)現(xiàn)。
○ SAN(Storage Area Network)。是一種用高速網(wǎng)絡(luò)聯(lián)接主機(jī)服務(wù)器與存儲設(shè)備的一種儲存方式,存儲系統(tǒng)會位于主機(jī)群的后端,它使用高速I/O網(wǎng)絡(luò)聯(lián)結(jié)方式,以FC、iSCSI、FCOE為當(dāng)前主流形式。一般而言,SAN應(yīng)用在對網(wǎng)絡(luò)速度要求高、對數(shù)據(jù)的可靠性和安全性要求高、對數(shù)據(jù)共享的性能要求高的應(yīng)用環(huán)境中,特點(diǎn)是代價高,性能好。它采用SCSI 塊I/O的命令集,在SAN網(wǎng)絡(luò)級的數(shù)據(jù)訪問提供高性能的隨機(jī)I/O和數(shù)據(jù)吞吐率,具有高帶寬、低延遲的優(yōu)勢,但是由于SAN系統(tǒng)的價格較高,且不具備大規(guī)??蓴U(kuò)展性,不能滿足大型云計(jì)算數(shù)據(jù)中心的存儲需求。
表1 幾種文件系統(tǒng)
文件存儲
對于文件,是"按名存取"的,為了區(qū)分磁盤上各個不同的文件,需要給每個文件取一個確定的名字,稱為文件名,它用來表示磁盤上的文件,以便于在磁盤上能夠" 按名查找"這些文件。文件的數(shù)據(jù)操作基于文件名、偏移量、讀寫字節(jié)數(shù)等,但是文件本身并無文件自身的屬性、元數(shù)據(jù)信息?;趯Σ煌h(huán)境的文件存儲發(fā)展了多種形式的文件系統(tǒng)(如表1所示)。
對象存儲
對象是自完備的,包含元數(shù)據(jù)、數(shù)據(jù)和屬性,可以進(jìn)行自我管理,對象本身是平等的。也就是說,對象分布在一個平坦的空間中,而非文件系統(tǒng)那樣的樹狀邏輯結(jié)構(gòu)之中,對象存儲以ID為基礎(chǔ),根據(jù)ID 可以直接訪問數(shù)據(jù),核心是將數(shù)據(jù)通路(數(shù)據(jù)讀或?qū)?和控制通路(元數(shù)據(jù))分離,并且基于對象存儲設(shè)備(Object- based Storage Device,OSD)構(gòu)建存儲系統(tǒng),每個對象存儲設(shè)備具有一定的智能,能夠自動管理其上的數(shù)據(jù)分布。典型代表:Swift、CEPH
從設(shè)備級別看塊、文件、對象存儲(如表2所示)
表2塊、文件、對象存儲的設(shè)備級訪問比較
3.主存儲架構(gòu)
主存儲是數(shù)據(jù)中心的重要存儲系統(tǒng),通常稱為Tier1存儲,用于存儲活動數(shù)據(jù)(經(jīng)常需要訪問的數(shù)據(jù))以及要求高性能、低延遲、高可用性的數(shù)據(jù)。主存儲通常用于支撐數(shù)據(jù)中心關(guān)鍵任務(wù)程序(如數(shù)據(jù)庫、電子郵件和事務(wù)處理)。大多數(shù)重要程序采用隨機(jī)數(shù)據(jù)訪問模式,具有不同的訪問要求,但是都能產(chǎn)生大量數(shù)據(jù),企業(yè)可以利用這些數(shù)據(jù)完成業(yè)務(wù)。
即使在虛擬領(lǐng)域中出現(xiàn)越來越多的新的數(shù)據(jù)存儲技術(shù),傳統(tǒng)的主存儲系統(tǒng)仍然普遍。DAS是最早的主存儲架構(gòu),但 SAN已經(jīng)成為當(dāng)前使用最廣泛、也最為主流的存儲架構(gòu)。而NAS則在數(shù)據(jù)中心用于文件共享應(yīng)用,并且也在后端采用了SAN的擴(kuò)展。在數(shù)據(jù)中心領(lǐng)域,絕大多數(shù)廠商也均以SAN架構(gòu)來部署面向高級用戶的主存儲解決方案,以及在此基礎(chǔ)上相關(guān)的容災(zāi)備份方案和存儲虛擬化方案。
SAN的特點(diǎn)是性能高、穩(wěn)定性強(qiáng)、價格高。在一些需要集中存儲的數(shù)據(jù)庫等實(shí)時服務(wù)要求高的重要應(yīng)用領(lǐng)域,依然是當(dāng)前的主流的技術(shù),在存儲應(yīng)用中,需要集中存儲的高端應(yīng)用由SAN來承擔(dān),基于文件的小規(guī)模應(yīng)用由NAS承擔(dān)更合適,使得SAN與NAS成為互補(bǔ)存儲架構(gòu)出現(xiàn)。
最初的數(shù)據(jù)中心,大部分?jǐn)?shù)據(jù)都是主數(shù)據(jù)。隨著數(shù)據(jù)的存在時間增長,大量數(shù)據(jù)會通常移動到次級和三級存儲。因此,隨著存儲各方面技術(shù)發(fā)展和業(yè)務(wù)的成熟,數(shù)據(jù)中心逐步開始尋求能夠減少主存儲的途徑,以充分利用容量,降低整個數(shù)據(jù)生命周期的成本。
4.分布式文件存儲架構(gòu)
分布式文件系統(tǒng)主要的功能是用于存儲文檔、圖像、視頻之類的非結(jié)構(gòu)化數(shù)據(jù),該系統(tǒng)建立在網(wǎng)絡(luò)之上的,以全局方式管理系統(tǒng)資源,它可以任意調(diào)度網(wǎng)絡(luò)中的存儲資源,并且調(diào)度過程是"透明"的。
分布式存儲系統(tǒng)采用可擴(kuò)展的系統(tǒng)結(jié)構(gòu),利用多臺存儲服務(wù)器分擔(dān)存儲負(fù)荷,利用位置服務(wù)器定位存儲信息,不但提高了系統(tǒng)的可靠性、可用性和存取效率,還易于擴(kuò)展。以高性能、高容量為主要特性的分布式存儲系統(tǒng)。
HDFS(Hadoop Distributed File System)是開源項(xiàng)目Hadoop的家族成員,是谷歌文件系統(tǒng)GoogleFS(Google File System)的開源實(shí)現(xiàn),以下僅簡單介紹HDFS工作模式。
HDFS 被設(shè)計(jì)成適合運(yùn)行在通用硬件上的分布式文件系統(tǒng),是一個高度容錯性的系統(tǒng),適合部署在廉價的機(jī)器上。HDFS能提供高吞吐量的數(shù)據(jù)訪問,非常適合大規(guī)模數(shù)據(jù)集上的非結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化應(yīng)用。運(yùn)行在HDFS之上的程序有很大量的數(shù)據(jù)集,典型的HDFS文件大小是GB到TB的級別,因此,HDFS被調(diào)整成支持大文件。一個HDFS集群是有一個Namenode和一定數(shù)目的Datanode組成(如圖3所示):
NameNode(名稱節(jié)點(diǎn))是一個或一組中心服務(wù)器,是HDFS的中樞,負(fù)責(zé)管理文件系統(tǒng)的目錄名字空間信息(namespace)和客戶端對文件的訪問,并且管理所有的DataNode;
DataNode(數(shù)據(jù)節(jié)點(diǎn))在HDFS中負(fù)責(zé)管理本節(jié)點(diǎn)上附帶的存儲Block(數(shù)據(jù)塊)。在HDFS內(nèi)部,文件不是放在一塊磁盤上,一個文件其實(shí)分成多個block(數(shù)據(jù)塊),這些block存儲分散在Datanode組成的集群中,NameNode記錄block對應(yīng)在不同的DataNode上的映射關(guān)系。
NameNode接受客戶端的元數(shù)據(jù)請求,然后對DataNode發(fā)出Block Ops(塊操作)指令,文件的創(chuàng)建、刪除和復(fù)制操作,同時決定block到具體Datanode節(jié)點(diǎn)的映射。Datanode在Namenode的管理下進(jìn)行block的創(chuàng)建、刪除和復(fù)制。
HDFS可靠性和性能主要通過數(shù)據(jù)塊的副本來實(shí)現(xiàn),并且HDFS采用一種稱之為Rack-aware(機(jī)架感知)的策略來改進(jìn)數(shù)據(jù)的可靠性、有效性和網(wǎng)絡(luò)帶寬的利用。
在通常副本數(shù)為3的情況下,HDFS的策略將一個副本存放在本地機(jī)架上,一個副本放在同一個機(jī)架上的另一個節(jié)點(diǎn),最后一個副本放在不同機(jī)架上的一個節(jié)點(diǎn)。在讀取時,為了降低整體的帶寬消耗和讀延時,如果客戶端同一個機(jī)架上有一個副本,那么就讀該副本。
HDFS依然是主從結(jié)構(gòu),Namenode成為整個系統(tǒng)的瓶頸和關(guān)鍵故障點(diǎn),因此,眾多使用分布式文件系統(tǒng)的用戶均在此基礎(chǔ)上不斷完善其高可用性,比如發(fā)展出無中心存儲架構(gòu)。
5.分布式對象存儲架構(gòu)
在對象存儲中,存儲的不僅是數(shù)據(jù),還有與豐富的數(shù)據(jù)相關(guān)的屬性信息。系統(tǒng)會給每一個對象分配一個唯一的OID(Object ID)。對象本身是平等的,所有的OID都屬于一個平坦的地址空間,而并非文件系統(tǒng)那樣的樹狀邏輯結(jié)構(gòu)。對象存儲空間訪問對象只通過一個唯一的OID標(biāo)識即可,不需要復(fù)雜的路徑結(jié)構(gòu),沒有"路徑"他"文件夾"的概念。對象存儲架構(gòu)有以下組成部分。
對象
對象是系統(tǒng)中數(shù)據(jù)存儲的基本單位。一個對象實(shí)際上就是文件的數(shù)據(jù)和一組屬性信息(Meta Data)的組合,這些屬性信息可以定義基于文件的RAID參數(shù)、數(shù)據(jù)分布和服務(wù)質(zhì)量等;而傳統(tǒng)的存儲系統(tǒng)中用文件或塊作為基本的存儲單位,在塊存儲系統(tǒng)中還需要始終追蹤系統(tǒng)中每個塊的屬性,對象通過與存儲系統(tǒng)通信維護(hù)自己的屬性。在存儲設(shè)備中,所有對象都有一個對象標(biāo)識,通過對象標(biāo)識命令訪問該對象。通常有多種類型的對象,存儲設(shè)備上的根對象標(biāo)識存儲設(shè)備和該設(shè)備的各種屬性,組對象是存儲設(shè)備上共享資源管理策略的對象集合等。
對象存儲設(shè)備(OSD,Object Storage Device)
OSD 有自己的CPU、內(nèi)存、網(wǎng)絡(luò)和磁盤系統(tǒng),和塊設(shè)備的區(qū)別不在于存儲介質(zhì),而在于兩者提供的訪問接口。OSD的主要功能包括數(shù)據(jù)存儲和安全訪問,目前國際上通常采用標(biāo)準(zhǔn)化計(jì)算單元結(jié)構(gòu)實(shí)現(xiàn)對象存儲設(shè)備。OSD執(zhí)行從對象到塊的映射,這個動作允許本地實(shí)體以最佳方式?jīng)Q定怎樣存儲一個對象,OSD存儲節(jié)點(diǎn)不僅具備存儲功能,還包括智能化的高級能力。傳統(tǒng)的存儲驅(qū)動只是作為Target響應(yīng)客戶端的I/O請求,而對象存儲設(shè)備是智能設(shè)備,它能同時執(zhí)行Target 和Initiator的功能,支持與其他對象存儲設(shè)備的通信和協(xié)作,如數(shù)據(jù)分配、復(fù)制與恢復(fù)。
元數(shù)據(jù)服務(wù)器(MDS ,Metadata Server)
元數(shù)據(jù)服務(wù)器的工作就是管理文件系統(tǒng)的名稱空間、控制客戶端與OSD對象的交互,緩存和同步分布式元數(shù)據(jù)。雖然元數(shù)據(jù)和數(shù)據(jù)兩者都存儲在對象存儲集群,但兩者分別管理,支持可擴(kuò)展性。
對象存儲系統(tǒng)的客戶端Client
為了有效支持Client支持訪問OSD上的對象,需要在計(jì)算節(jié)點(diǎn)實(shí)現(xiàn)對象存儲系統(tǒng)的Client,通常提供POSIX文件系統(tǒng)接口,允許應(yīng)用程序像執(zhí)行標(biāo)準(zhǔn)的文件系統(tǒng)操作一樣。
在客戶端,用戶使用文件系統(tǒng)是透明的,Linux通過內(nèi)核虛擬文件系統(tǒng)交換(VFS)來進(jìn)行底層的操作訪問。終端用戶訪問大容量的存儲系統(tǒng),無需知道下面聚合成大容量存儲池的元數(shù)據(jù)服務(wù)器、監(jiān)視器、獨(dú)立的對象存儲設(shè)備。文件系統(tǒng)的智能化處理分布在節(jié)點(diǎn)上,這簡化了客戶端接口,可以支撐大規(guī)模動態(tài)擴(kuò)展能力。
對象存儲構(gòu)筑在標(biāo)準(zhǔn)硬件存儲基礎(chǔ)設(shè)施之上,無需采用RAID(磁盤冗余陣列),通過在軟件層面引入一致性散列技術(shù)和數(shù)據(jù)冗余性,犧牲一定程度的數(shù)據(jù)一致性來達(dá)到高可用性和可伸縮性,支持多租戶模式、容器和對象讀寫操作,適合解決互聯(lián)網(wǎng)的應(yīng)用場景下非結(jié)構(gòu)化數(shù)據(jù)存儲問題。
與通常的分布式文件系統(tǒng)一樣,放入對象存儲集群中的文件是條帶化的,依據(jù)特定的數(shù)據(jù)分布式算法放入集群節(jié)點(diǎn)中。應(yīng)用程序可以通過RESTful接口與各OSD節(jié)點(diǎn)其通信,將對象直接存儲在集群中.
三、結(jié)束語
企業(yè)及互聯(lián)網(wǎng)數(shù)據(jù)以每年50%的速率在增長,新增數(shù)據(jù)中結(jié)構(gòu)化數(shù)據(jù)總量有限,多數(shù)為非結(jié)構(gòu)化、半結(jié)構(gòu)化數(shù)據(jù),數(shù)據(jù)中心存儲架構(gòu)隨著業(yè)務(wù)發(fā)展需要極強(qiáng)的彈性適應(yīng)能力,低成本、大容量(海量)擴(kuò)展、高并發(fā)性能是面向大型云數(shù)據(jù)中心運(yùn)營存儲架構(gòu)的基本技術(shù)屬性。如何進(jìn)行數(shù)量龐大且雜亂無章的數(shù)據(jù)存儲與深度應(yīng)用處理,并迅速提取有價值的信息,形成迅速商業(yè)決策成為各類型企業(yè)生存基礎(chǔ)是今后存儲以及圍繞存儲架構(gòu)不斷衍生的業(yè)務(wù)發(fā)展方向。因此數(shù)據(jù)存儲技術(shù)變革方向必然是分布式并行文件系統(tǒng),并行數(shù)據(jù)庫、高效統(tǒng)一的數(shù)據(jù)裝載及存取,多接口、靈活擴(kuò)展、多業(yè)務(wù)承載的解決方案能力是大容量、海量存儲技術(shù)架構(gòu)的關(guān)鍵。