資料中心儲存架構

來源:果殼範文吧 3.25W

儲存系統是資料中心IT環境的核心基礎架構,是資料中心資料訪問的最終承載體。儲存在雲計算、虛擬化、大資料等相關技術進入後已經發生了巨大的改變,塊儲存、檔案儲存、物件儲存支撐起多種資料型別的讀取;集中式儲存已經不再是資料中心的主流儲存架構,海量資料的儲存訪問,需要擴充套件性、伸縮性極強的分散式儲存架構來實現。

資料中心儲存架構


在新的IT發展過程中,資料中心建設已經進入雲端計算時代,企業IT儲存環境已經不能簡單的從一般性業務運營需求來構建雲端計算的資料中心儲存環境。雲端計算資料中心的建設不是為了滿足某一個業務系統的特殊目標,是為了實現所有業務系統在雲平臺上能夠實現靈活的資源排程、良好的伸縮性、業務擴充套件的彈性以及快速交付性。因此,是一種自下而上的建設模式(如圖1所示),基於雲端計算平臺的建設先於應用系統需求,並不再與具體的業務捆綁,應用系統的建設、擴容、升級主要以軟體為主,硬體物理資源向資源池申請,儲存系統成為雲資料中心的可分配、可排程的資源,在這種情況下,有助於消除瓶頸、提高處理速度,使得業務系統穩定、高效、持久執行。

圖1 資料中心的系統建設發展

一、資料中心儲存架構的演進

隨著資料中心從最初的孤立系統企業級應用,發展到網際網路化階段的大規模雲端計算服務,其儲存架構也不斷髮展(如圖2所示)。從滿足關鍵系統的效能與容量需求,到以虛擬化架構來整合資料中心儲存資源,提供按需的儲存服務和自動化運維,並進一步向儲存系統的智慧化、敏捷化演進,應用需求的變化是儲存架構不斷改進提升的驅動力,豎井式、虛擬化、雲端儲存三種架構並存是當前現狀,軟體定義儲存架構的出現則是後雲端計算時代的儲存發展階段。

圖2 儲存系統系統架構和管理演進

豎井式架構

對於早期的系統,在主機架構下,資料和邏輯是一體的,採用面向過程的設計方法,每個應用是一個孤立的系統,維護相對容易,難於相互整合;客戶機/伺服器架構將邏輯與資料進行了分離(不論C/S還是B/S模式,本質都是客戶機/伺服器架構),同樣採用面向物件的設計方法,每個應用是一個孤立的系統,提供了一定後臺整合的能力。這種架構的儲存也隨著系統的建設形成了自身的獨立性,業務平臺的硬體裝置按照規劃期內最大使用者數來配置,而在業務初期和業務發展情況難預測的情況下,無法真實評估儲存的規模與效能要求,這往往會浪費不少硬體裝置資源和空間、動力等資源,並且硬體資源不能靈活排程。 每個業務上線都需要經過軟體選型、評估資源、硬體選型、採購和實施等環節,業務上線流程長、時間跨度大,不利於業務發展。

儲存虛擬化

隨著業務發展,資料中心儲存不可避免形成大量的異構環境,標準化的管理流程難以實施。儲存虛擬化架構實現對不同結構的儲存裝置進行集中化管理,統一整合形成一個儲存池,向伺服器層遮蔽儲存裝置硬體的特殊性,虛擬化出統一的邏輯特性,從而實現了儲存系統集中、統一而又方便的管理。使得儲存池中的所有儲存卷都擁有相同的屬性,如效能、冗餘特性、備份需求或成本,並實現自動化(如LUN管理)以及基於策略的集中儲存管理。

同時,儲存資源的自動化管理為使用者提供更高層次策略的選擇。在儲存池中可以定義多種儲存工具來代表不同業務領域或儲存使用者的不同服務等級。另外,還允許使用者以單元的方式管理每一儲存池內部的儲存資源,根據需要新增、刪除或改變,同時保持對應用伺服器業務系統的透明性。基於策略的儲存虛擬化能夠管理整個儲存基礎機構,保持合理分配儲存資源,高優先順序的應用有更高的儲存優先順序,使用效能最好的儲存,低優先順序的應用使用便宜的儲存。

雲端儲存架構

雲端儲存架構伴隨著大規模雲端計算的資料時代的到來,將儲存作為雲的服務提供,不論是企業私有云還是公有云的儲存,都著重於大量儲存資料的建立和分佈,並關注快速通過雲獲得資料的訪問。雲端儲存架構需要支援大規模的資料負載的儲存、備份、遷移、傳輸,同時要求巨大的成本、效能和管理優勢。

雲端儲存的技術部署,通過叢集應用或分散式檔案系統等功能,網路中大量各種不同型別的儲存裝置通過應用軟體集合起來協同工作,共同對外提供資料儲存和業務訪問功能的一個系統,保證資料的安全性,並節約儲存空間。

在大規模系統支撐上,分散式檔案系統、分散式物件儲存等技術,為雲端儲存的各種應用提供了高度可伸縮、可擴充套件和極大的彈性支撐和強大的資料訪問效能,並且因為這些分散式技術對標準化硬體的支援,使得大規模雲端儲存得以低成本的建設和運維。

雲端儲存不是要取代現有的盤陣,而是為了應付高速成長的資料量與頻寬而產生的新形態儲存系統,因此雲端儲存在構建時重點考慮的三點:擴容簡便、效能易於增長、管理簡易。

軟體定義儲存

軟體定義儲存當前還未有確切的定義,但軟體定義儲存代表了一種趨勢,即儲存架構中軟體和硬體的分離,也就是資料層和控制層的分離。對於資料中心使用者而言,通過軟體來實現對儲存資源的管理和排程,如靈活的卷遷移等而無需考慮硬體裝置本身。

通過軟體定義儲存實現儲存資源的虛擬化 、抽象化、自動化,能夠完整的實現資料中心儲存系統的部署、管理、監控、調整等多個要求,使得儲存系統具備靈活、自由和高可用等特點。

二、資料中心儲存的技術架構

1.資料型別

資料中心的儲存資料型別發生了很大的變化,按照結構化程度來分,可以大致分為以下三種。

○ 結構化資料的儲存及應用。這是一種使用者定義的資料型別,它包含了一系列的屬性,每一個屬性都有一個數據型別,儲存在關係資料庫裡。一般的業務系統都有大量的結構化資料,一般儲存在Oracle或MySQL的等的關係型資料庫中,在企業級資料中心,一般在集中儲存架構中儲存,或成為主儲存系統,以塊儲存訪問為主。

○ 非結構化資料的儲存及應用。相對於結構化資料而言,不方便用資料庫二維邏輯表來表現的資料即稱為非結構化資料,包括所有格式的辦公文件、文字、圖片、XML、HTML、各類報表、影象和音訊/視訊資訊等等,分散式檔案系統是實現非結構化資料儲存的主要技術。

○ 半結構化資料的儲存及應用。介於完全結構化資料(如關係型資料庫、面向物件資料庫中的資料)和完全無結構的資料(如聲音、影象檔案等)之間的資料,半結構化資料模型具有一定的結構性,但較之傳統的關係和麵向物件的模型更為靈活。半結構資料模型完全不基於傳統資料庫模式的嚴格概念,這些模型中的資料都是自描述的。由於半結構化資料沒有嚴格的語義定義,所以不適合用傳統的關係型資料庫進行儲存,適合儲存這類資料的資料庫被稱作"NoSQL"資料庫。

2.塊、檔案、物件

塊儲存

對於儲存系統,塊讀寫一般是在儲存介質上的資料概念,對於磁碟來說,塊資料的儲存單元是一個或多個磁碟扇區。因此塊級資料的讀寫,是面向最底層的物理層的,資料操作基於起始扇區編號、操作碼(讀、寫等)、連續扇區數量等,塊資料訪問介面是SCSI介面。有兩種常用的兩種塊儲存方式。

○ DAS(Direct Attach STorage)。是直接連線於主機伺服器的一種儲存方式,每一臺主機伺服器有獨立的儲存裝置,每臺主機伺服器的儲存裝置無法互通,需要跨主機存取資料時,必須經過相對複雜的設定,若主機伺服器分屬不同的作業系統,要存取彼此的資料,更是複雜,有些系統甚至不能存取。通常用在單一網路環境下且資料交換量不大,效能要求不高的環境下,是早期的技術實現。

○ SAN(Storage Area Network)。是一種用高速網路聯接主機伺服器與儲存裝置的一種儲存方式,儲存系統會位於主機群的後端,它使用高速I/O網路聯結方式,以FC、iSCSI、FCOE為當前主流形式。一般而言,SAN應用在對網路速度要求高、對資料的可靠性和安全性要求高、對資料共享的效能要求高的應用環境中,特點是代價高,效能好。它採用SCSI 塊I/O的命令集,在SAN網路級的資料訪問提供高效能的隨機I/O和資料吞吐率,具有高頻寬、低延遲的優勢,但是由於SAN系統的價格較高,且不具備大規模可擴充套件性,不能滿足大型雲端計算資料中心的儲存需求。

表1 幾種檔案系統

檔案儲存

對於檔案,是"按名存取"的,為了區分磁碟上各個不同的檔案,需要給每個檔案取一個確定的名字,稱為檔名,它用來表示磁碟上的檔案,以便於在磁碟上能夠"按名查詢"這些檔案。檔案的資料操作基於檔名、偏移量、讀寫位元組數等,但是檔案本身並無檔案自身的屬性、元資料資訊。基於對不同環境的檔案儲存發展了多種形式的檔案系統(如表1所示)。

物件儲存

物件是自完備的,包含元資料、資料和屬性,可以進行自我管理,物件本身是平等的。也就是說,物件分佈在一個平坦的空間中,而非檔案系統那樣的樹狀邏輯結構之中,物件儲存以ID為基礎,根據ID可以直接訪問資料,核心是將資料通路(資料讀或寫)和控制通路(元資料)分離,並且基於物件儲存裝置(Object-based Storage Device,OSD)構建儲存系統,每個物件儲存裝置具有一定的智慧,能夠自動管理其上的資料分佈。典型代表:Swift、CEPH

從裝置級別看塊、檔案、物件儲存(如表2所示)

表2塊、檔案、物件儲存的裝置級訪問比較

3.主儲存架構

主儲存是資料中心的重要儲存系統,通常稱為Tier1儲存,用於儲存活動資料(經常需要訪問的資料)以及要求高效能、低延遲、高可用性的資料。主儲存通常用於支撐資料中心關鍵任務程式(如資料庫、電子郵件和事務處理)。大多數重要程式採用隨機資料訪問模式,具有不同的訪問要求,但是都能產生大量資料,企業可以利用這些資料完成業務。

即使在虛擬領域中出現越來越多的新的資料儲存技術,傳統的主儲存系統仍然普遍。DAS是最早的主儲存架構,但SAN已經成為當前使用最廣泛、也最為主流的儲存架構。而NAS則在資料中心用於檔案共享應用,並且也在後端採用了SAN的擴充套件。在資料中心領域,絕大多數廠商也均以SAN架構來部署面向高階使用者的主儲存解決方案,以及在此基礎上相關的容災備份方案和儲存虛擬化方案。

SAN的特點是效能高、穩定性強、價格高。在一些需要集中儲存的資料庫等實時服務要求高的重要應用領域,依然是當前的主流的技術,在儲存應用中,需要集中儲存的高階應用由SAN來承擔,基於檔案的小規模應用由NAS承擔更合適,使得SAN與NAS成為互補儲存架構出現。

最初的資料中心,大部分資料都是主資料。隨著資料的存在時間增長,大量資料會通常移動到次級和三級儲存。因此,隨著儲存各方面技術發展和業務的成熟,資料中心逐步開始尋求能夠減少主儲存的途徑,以充分利用容量,降低整個資料生命週期的成本。

4.分散式檔案儲存架構

分散式檔案系統主要的功能是用於儲存文件、影象、視訊之類的非結構化資料,該系統建立在網路之上的,以全域性方式管理系統資源,它可以任意排程網路中的儲存資源,並且排程過程是"透明"的。

分散式儲存系統採用可擴充套件的系統結構,利用多臺儲存伺服器分擔儲存負荷,利用位置伺服器定位儲存資訊,不但提高了系統的可靠性、可用性和存取效率,還易於擴充套件。以高效能、高容量為主要特性的分散式儲存系統。

HDFS(Hadoop Distributed File System)是開源專案Hadoop的家族成員,是谷歌檔案系統GoogleFS(Google File System)的開源實現,以下僅簡單介紹HDFS工作模式。

HDFS被設計成適合執行在通用硬體上的分散式檔案系統,是一個高度容錯性的系統,適合部署在廉價的機器上。HDFS能提供高吞吐量的資料訪問,非常適合大規模資料集上的非結構化資料、半結構化應用。執行在HDFS之上的程式有很大量的資料集,典型的HDFS檔案大小是GB到TB的級別,因此,HDFS被調整成支援大檔案。一個HDFS叢集是有一個Namenode和一定數目的Datanode組成(如圖3所示):

NameNode(名稱節點)是一個或一組中心伺服器,是HDFS的中樞,負責管理檔案系統的目錄名字空間資訊(namespace)和客戶端對檔案的訪問,並且管理所有的DataNode;

DataNode(資料節點)在HDFS中負責管理本節點上附帶的儲存Block(資料塊)。在HDFS內部,檔案不是放在一塊磁碟上,一個檔案其實分成多個block(資料塊),這些block儲存分散在Datanode組成的叢集中,NameNode記錄block對應在不同的DataNode上的對映關係。

NameNode接受客戶端的元資料請求,然後對DataNode發出Block Ops(塊操作)指令,檔案的建立、刪除和複製操作,同時決定block到具體Datanode節點的對映。Datanode在Namenode的管理下進行block的建立、刪除和複製。

圖3 HDFS經典體系架構圖示

HDFS可靠性和效能主要通過資料塊的副本來實現,並且HDFS採用一種稱之為Rack-aware(機架感知)的策略來改進資料的可靠性、有效性和網路頻寬的利用。

在通常副本數為3的情況下,HDFS的策略將一個副本存放在本地機架上,一個副本放在同一個機架上的另一個節點,最後一個副本放在不同機架上的一個節點。在讀取時,為了降低整體的頻寬消耗和讀延時,如果客戶端同一個機架上有一個副本,那麼就讀該副本。

HDFS依然是主從結構,Namenode成為整個系統的瓶頸和關鍵故障點,因此,眾多使用分散式檔案系統的使用者均在此基礎上不斷完善其高可用性,比如發展出無中心儲存架構。

5.分散式物件儲存架構

在物件儲存中,儲存的不僅是資料,還有與豐富的資料相關的屬性資訊。系統會給每一個物件分配一個唯一的OID(Object ID)。物件本身是平等的,所有的OID都屬於一個平坦的地址空間,而並非檔案系統那樣的樹狀邏輯結構。物件儲存空間訪問物件只通過一個唯一的OID標識即可,不需要複雜的路徑結構,沒有"路徑"他"資料夾"的概念。物件儲存架構有以下組成部分。

物件

物件是系統中資料儲存的基本單位。一個物件實際上就是檔案的資料和一組屬性資訊(Meta Data)的組合,這些屬性資訊可以定義基於檔案的RAID引數、資料分佈和服務質量等;而傳統的儲存系統中用檔案或塊作為基本的儲存單位,在塊儲存系統中還需要始終追蹤系統中每個塊的屬性,物件通過與儲存系統通訊維護自己的屬性。在儲存裝置中,所有物件都有一個物件標識,通過物件標識命令訪問該物件。通常有多種型別的物件,儲存裝置上的根物件標識儲存裝置和該裝置的各種屬性,組物件是儲存裝置上共享資源管理策略的物件集合等。

物件儲存裝置(OSD,Object Storage Device)

OSD有自己的CPU、記憶體、網路和磁碟系統,和塊裝置的區別不在於儲存介質,而在於兩者提供的訪問介面。OSD的主要功能包括資料儲存和安全訪問,目前國際上通常採用標準化計算單元結構實現物件儲存裝置。OSD執行從物件到塊的對映,這個動作允許本地實體以最佳方式決定怎樣儲存一個物件,OSD儲存節點不僅具備儲存功能,還包括智慧化的高階能力。傳統的儲存驅動只是作為Target響應客戶端的I/O請求,而物件儲存裝置是智慧裝置,它能同時執行Target和Initiator的功能,支援與其他物件儲存裝置的通訊和協作,如資料分配、複製與恢復。

元資料伺服器(MDS ,Metadata Server)

元資料伺服器的工作就是管理檔案系統的名稱空間、控制客戶端與OSD物件的互動,快取和同步分散式元資料。雖然元資料和資料兩者都儲存在物件儲存叢集,但兩者分別管理,支援可擴充套件性。

物件儲存系統的客戶端Client

為了有效支援Client支援訪問OSD上的物件,需要在計算節點實現物件儲存系統的Client,通常提供POSIX檔案系統介面,允許應用程式像執行標準的檔案系統操作一樣。

在客戶端,使用者使用檔案系統是透明的,Linux通過核心虛擬檔案系統交換(VFS)來進行底層的操作訪問。終端使用者訪問大容量的儲存系統,無需知道下面聚合成大容量儲存池的元資料伺服器、監視器、獨立的物件儲存裝置。檔案系統的智慧化處理分佈在節點上,這簡化了客戶端介面,可以支撐大規模動態擴充套件能力。

物件儲存構築在標準硬體儲存基礎設施之上,無需採用RAID(磁碟冗餘陣列),通過在軟體層面引入一致性雜湊技術和資料冗餘性,犧牲一定程度的資料一致性來達到高可用性和可伸縮性,支援多租戶模式、容器和物件讀寫操作,適合解決網際網路的應用場景下非結構化資料儲存問題。

與通常的分散式檔案系統一樣,放入物件儲存叢集中的檔案是條帶化的,依據特定的資料分散式演算法放入叢集節點中。應用程式可以通過RESTful介面與各OSD節點其通訊,將物件直接儲存在叢集中.

三、結束語

企業及網際網路資料以每年50%的速率在增長,新增資料中結構化資料總量有限,多數為非結構化、半結構化資料,資料中心儲存架構隨著業務發展需要極強的彈性適應能力,低成本、大容量(海量)擴充套件、高併發效能是面向大型雲資料中心運營儲存架構的基本技術屬性。如何進行數量龐大且雜亂無章的資料儲存與深度應用處理,並迅速提取有價值的資訊,形成迅速商業決策成為各型別企業生存基礎是今後儲存以及圍繞儲存架構不斷衍生的業務發展方向。因此資料儲存技術變革方向必然是分散式並行檔案系統,並行資料庫、高效統一的資料裝載及存取,多介面、靈活擴充套件、多業務承載的解決方案能力是大容量、海量儲存技術架構的關鍵。

熱門標籤