當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]一種基于網絡磁盤陣列的高性能海量存儲系統

摘要:網絡磁盤陣列將傳統的以服務器為中心的存儲轉發(fā)改變?yōu)橐詳祿橹行牡闹苯觽鬏?/SPAN>, 從而消除了傳統模式下的服務器I/O瓶頸。本文基于網絡磁盤陣列構建出一種高性能的海量存儲系統, 其文件集中管理和數據分布存儲的體系結構不僅加快了數據傳輸速度、降低了存儲管理開銷, 同時也實現了命令與數據分流、擴容與增速同步的目標, 從而大大提高的整個存儲系統的性能。

關鍵詞:網絡磁盤陣列;海量存儲;文件集中管理;數據分布存儲


引 言

 

現代信息技術的飛速發(fā)展, 導致了用戶對存儲產品和存儲服務需求的爆炸性增長。目前計算機存儲系統的性能遠遠不能滿足許多實際應用的需求, 因而如何建立高性能的存儲系統成為人們關注的焦點, 海量信息存儲技術旨在研究大容量數據存儲的策略和方法, 其追求的目標在于擴大存儲容量、提高存取速度、保證數據的完整性和可靠性、加強對數據(文件) 的管理和組織等。

 

網絡磁盤陣列系統(Net-RAID) 采用存儲設備直接聯網的體系結構, 改變了傳統的以服務器為中心的迂回傳輸模式,使所有網絡請求由服務器統一管理, 而數據則由磁盤陣列直接通過網絡接收和發(fā)送, 從而避免了數據流在服務器與存儲設備之間的往返傳送和存儲轉發(fā), 消除了服務器中CPU、內存以及I/O 總線所存在的潛在瓶頸, 極大的提高了系統帶寬和服務器的平均響應速度。

 

以此網絡磁盤陣列作為基本單元, 本文構建出一種高性能的海量存儲系統, 其文件集中管理和數據分布存儲的體系結構不僅加快了數據傳輸速度、降低了存儲管理開銷, 同時也實現了命令與數據分流、擴容與增速同步的目標, 從而大大提高了整個存儲系統的性能。

CMDS海量存儲系統總體設計

 
體系結構

傳統的集中式存儲體系結構下, 網絡用戶訪問文件服務器上的數據資源時, 數據必須在存儲設備和文件服務器之間進行多次的存儲轉發(fā)。因此, 服務器的CPU、主存、存儲設備、主從通道都有可能成為系統的瓶頸。而且, 無法實現共享存儲, 系統的可擴展性也受到很大的限制。采用具有新型I/O通道體系結構的存儲系統可以極大地提高性能, 但一味地依靠擴展系統的硬件性能終究會有上限。因此, 傳統存儲系統體系結構雖可提供大的存儲容量, 但不適合于構造海量存儲系統。構造一個高性能的海量存儲系統不僅需要極大的存儲容量和高I/O帶寬, 還必須具有高可擴展性、高可用性、可管理性以及低的價格。

 

采用分布式存儲系統結構是實現海量信息存儲的最好選擇。將數據分割(比如說塊)分別存放在不同的存儲設備上, 利用對不同存儲設備的并行操作來提高系統的性能。但分布式系統的存儲管理存在很大的難度, 統計數據表明, 在分布環(huán)境下, 存儲管理大約要消耗存儲成本總額的55%集中式的存儲則能減少管理開銷和提高管理質量。可見, 如果采用集中式的存儲管理, 特別是對于海量存儲系統中大量的存儲資源的管理, 將可以極大地降低存儲管理的開銷。

 

顯然, 要想解決海量信息的有效存儲和管理, 必須構造一種全新的存儲系統體系結構, 從根本上解決現有存儲系統體系結構所存在的問題。

 

針對這種情況, 本文提出了一種文件集中管理、數據分布存儲的高性能海量存儲系統(centralized file Managementand Dist ributed data StorageMass Storage System ) CMDSMSS, 其體系結構如圖1所示, 它同時具備集中式存儲系統和圖1CDMS海量存儲系統體系結構圖分布式存儲系統兩者的優(yōu)點。該系統由文件服務器和多臺網絡磁盤陣列(Net-RAID) 構成, 所有的N et-RAID按傳統的DAS方式通過外設通道(SCSIFC, 也可以采用網絡通道)掛接在文件服務器上, 然后再通過網絡連接掛接在包交換網絡上。 通過建立磁盤陣列與網絡用戶間的直接聯系, 使得磁盤陣列的命令與數據分流, 免除了數據流在文件服務器與磁盤陣列之間的存儲轉發(fā), 克服了原有系統的文件服務器瓶頸。如果在文件服務器上接入多臺(理論上可多達90)Net-RAID, 則每接入一臺Net-RAID 便擴展了一個網絡通道, 多個網絡通道可以并行傳輸以提高系統的I/O帶寬, 實現了容量和速度同步擴展。種體系結構充分體現了多通道、并行處理的原則, 它不僅在很大程度上解除了I/O操作對文件服務器性能的束縛, 也極大地提高了存儲系統的整體性能。 同時,它的集中數據管理方式能節(jié)約大量的管理費用。

 

 
文件組織

CMDS海量存儲系統的文件組織可以分成兩種形式:

(1)Net-RAID作為獨立的存儲單元, 每臺Net-RAID在文件服務器上具有單獨的目錄節(jié)點, 每個節(jié)點上可以建立不同的文件系統, 存儲不同類型的文件(如視聽、文本等), 并各自處理用戶數據的存取和網絡傳輸。當網絡用戶對不同的目錄結點發(fā)出請求時, 多個請求可以在多個陣列上并行服務。

 

(2) 多個Net-RAID節(jié)點上的存儲空間被虛擬成一個存儲空間的單一邏輯視圖, 數據分塊存放在多個存儲節(jié)點上。隨著存儲節(jié)點的增加, 不僅系統的存儲容量得到了擴大, 而且有助于提高系統的性能。具體來講, 多個小數據量的請求, 可以由多個存儲節(jié)點并行地獨立完成, 從而提高系統的吞吐量。一個大數據量的請求, 數據分布在多個存儲節(jié)點上, 多個存儲節(jié)點并行操作, 可以提高單個請求的數傳率。靈活的使用方式可以滿足不同的使用環(huán)境, 既可以滿足事務處理等多個小數據量的突發(fā)請求, 也可以滿足大數據量的連續(xù)請求(如媒體流)。我們主要研究第二種文件組織形式, 它具有以下特點(如圖2所示)。

 

 

 

(1) 獨立的文件組織管理器

文件組織管理器負責監(jiān)視文件組織系統中的所有操作,并為網絡用戶提供數據描述。當一個網絡用戶試圖存取數據時, 它通過數據表示向文件組織管理器發(fā)出請求, 文件組織管理器啟動它的存取控制機制判斷該網絡用戶是否有存儲這一數據的權限, 然后再檢查是否有其他用戶鎖定這一數據。如果網絡用戶不能存取數據, 文件組織管理器就會向網絡用戶發(fā)出拒絕或錯誤信息。如果網絡用戶擁有存取權限并沒有被文件鎖定拒絕, 文件組織管理器就通過數據結構判斷數據的網絡地址(即數據所在的存儲節(jié)點在CMDS海量存儲系統中的位置, 因為數據位置不僅僅是邏輯塊地址, 還包括附加的網絡地址或存儲節(jié)點的名稱) 和存儲位置, 然后將其傳送到網絡用戶。網絡用戶接收到位置信息后重新組織數據結構, 然后通過網絡通道直接與存儲子系統交互并存取數據。此時既可以采用基于NFSCIFS的文件I/O進行交互, 也可以采用基于SCSI協議或FC協議的塊I/O進行交互。獨立的文件組織管理器體現的就是一種集中管理的思想, 以便于降低管理開銷提高管理質量。

 

(2) 分布式的數據結構和數據存儲

在網絡存儲系統的文件組織系統中, 尋址模式決定了網絡地址及存儲地址的存儲位置。CMDS海量存儲系統中的數據結構和數據分布存儲在存儲系統中的多個存儲節(jié)點上, 所有使用該系統的網絡用戶都使用同一個文件組織系統映像。該系統通過使用數據結構來實現這種映像, 其數據結構將所有存儲節(jié)點的網絡地址作為數據尋址運算法則的一部分。由于采用分布式的數據結構和數據存儲, 該系統可以使用RAID算法在存儲系統中處理文件組織和數據冗余。 因此,它采用分塊技術將目錄數據、文件數據和數據結構跨越存放在多個存儲節(jié)點上。由于文件數據分塊冗余存放在多個存儲節(jié)點上, 使得存儲系統中的某一個存儲節(jié)點發(fā)生錯誤時仍然可以繼續(xù)操作。 同時, 通過增加存儲節(jié)點的數量, 可以在系統結構上增加物理數據通道的并行度來提高系統的性能。

 
文件I/O與塊I/O

3 表示來自網絡用戶的文件I/O與塊I/O在目標設備上的數據流向。 對于文件I/O的目標設備而言,Linux中的虛擬文件系統(VFS)分別管理向網絡用戶提供文件共享的網絡文件系統和控制本地存儲設備上的數據組織的本地磁盤文件系統。當用戶空間的應用程序接收到來自網絡用戶的文件I/O請求時, 會將其交給VFS, 并由VFS 找到相應的磁盤文件系統, 然后由磁盤文件系統通過查找索引結點信息將文件I/O請求轉換成塊I/O, 最后通過卷管理器和塊設備驅動程序來訪問相應的數據。對于塊I/O的目標設備, 可以不需要任何文件系統, 因為來自網絡用戶的塊I/O請求本身就包含了請求數據在目標設備上的塊地址信息(此即文件組織系統中的數據結構) , 因此, 當該設備通過TCP/IP協議棧接收到網絡用戶的I/O請求后, 可以直接將該I/O請求轉交給卷管理器, 然后通過磁盤的設備驅動程序就可以訪問相應的數據。

 

 

 

由上面的分析以及圖3可知, I/O相對于文件I/O避免了用戶空間和系統空間的切換, 避免了所有的I/O請求及其數據穿越網絡文件系統、虛擬文件系統以及本地磁盤文件系統的開銷, 同時還避免了磁盤文件系統將文件I/O轉換成塊I/O時查詢索引結點的開銷。因此, CMDS海量存儲系統圖4CMDS海量存儲系統軟件結構采用塊級I/O, 直接通過數據的物理地址信息來訪問存儲設備(Net-RAID) , 使數據檢索與訪問的速度優(yōu)于采用文件I/O時的速度。

 

 
CMDS海量存儲系統的軟件結構與工作流程

 

CMDS海量存儲系統軟件結構如圖4所示。它的主要功能是實現服務器、海量存儲系統和客戶端三者之間的通信和協同。CMDS軟件可以分為三個層次:通道控制層、命令控制層和網絡通訊層。

 
通道控制層

分為駐留服務器的和駐留在Net-RAID群底層的通道控制器。這一層負責服務器與Net-RAID群間的命令和控制信息的傳遞。

 

服務器中的通道控制器用于建立服務器與Net-RAID群的命令通道。在傳統的存儲服務模式下, 它將上層系統解析后的所有I/O命令發(fā)至存儲設備, 并接受存儲設備執(zhí)行后的返回結果。而對于CMDS海量存儲系統, 駐留在服務器中的通道控制器只執(zhí)行其中涉及控制文件系統結構和文件屬性的I/O任務; 并且, 服務器端的通道控制器直接利用服務器現有的SCSI通道驅動程序。Net-RAID群中的通道控制器, 負責接收來自服務器主從外設通道的所有I/O命令和消息, 將執(zhí)行結果回送給服務器。

 
命令控制層

這一控制層是該海量存儲系統的核心層。它分為服務器中的命令解析器和Net-RAID 群中的命令執(zhí)行器兩部分。主要用于解析網絡用戶的I/O請求, 獲得文件所在磁盤陣列的位置信息和文件數據的存儲地址組, 實現請求服務。駐留在服務器端的命令解析器由用戶請求處理、地址解析、訪問控制等模塊組成, 它根據記載的用戶信息, 對用戶請求進行認證, 判定其合法性和請求權限, 依據請求的類型分別處理。對于用戶的文件讀寫請求, 經地址解析后生成相應的存儲地址信息。地址解析完成后, 將用戶授權通過通道控制層通知Net-RAID, 將授權字、Net-RAID 群地址和數據存儲地址組通過網絡通訊層通知客戶端。

 

駐留在Net-RAID群中的命令執(zhí)行器由I/O調度、命令分解/合并、Buffer管理等模塊組成, 按照一定的優(yōu)化策略, 動態(tài)的對來自外設通道和網絡通道的I/O命令進行分解、合并和調度, 執(zhí)行實際的磁盤I/O操作。操作完成后, 依據不同的情況分別經由網絡通信層與客戶交換文件數據, 或者經由通道控制層給服務器回送執(zhí)行結果。

 
網絡通訊層

 

 

 

此層用以處理多個節(jié)點的命令和數據的網絡傳輸。服務器端的網絡通訊層接受客戶的服務請求, 傳送給命令控制層并將命令控制層的分析結果反饋給客戶端; 客戶端的網絡通訊層負責向服務器提交請求并接收服務器返回的結果, 它還負責建立與Net-RAID 群的網絡連接;Net-RAID 群的網絡通訊層與客戶端一起, 完成Net-RAID 群與客戶端之間直接傳送數據的任務。

 

由于命令與數據分流, CMDS海量存儲系統采用定制的三方協議, 其文件請求服務的工作流程有別于傳統的工作模式。5所示為讀文件請求的工作流程, 寫文件請求的工作流程與此類似, 此處略。

 
性能測試與評價

 

為了獲得CMDS海量存儲系統的性能參數, 我們構造了一個系統原型, 由文件服務器和兩臺EIDE磁盤陣列組成, 系統配置如表1所示。每臺磁盤陣列2塊磁盤, 分別掛接在兩個IDE接口上。網絡環(huán)境為100M b交換以太網。

 

 

 

    網絡用戶采用三臺PC, 配置均為:CPU:Celeron 2GHZ,MEM:128MB, 硬盤:ST 340015A。網絡用戶均采用Windows 2000平臺, 傳統系統下采用FlashFTP用戶程序,CMDS 海量存儲系統采用定制的用戶端軟件。對原型系統的測試結果如下。

 

 

 

2表示三個用戶, 每個用戶一個進程, 測試文件大小為124MB時系統的平均數傳率比較。6為多用戶系統的集合I/O帶寬比較。可見, CMDS海量存儲系統的平均數傳率和集合I/O帶寬均高于傳統的存儲系統, 而且, 用戶數越多, 性能提高越明顯。最好情況下, 系統的讀寫集合I/O帶寬分別提高82%107%。由于CMDS海量存儲系統的兩個存儲結點提供了兩個100M b/s的網絡傳輸通道, 系統的集合帶寬最高達23.658MB/s, 盡管傳統系統12.45MB/s的集合帶寬也幾乎達到了系統的峰值, 由于受服務器端單網絡通道的限制, 不可能超越12.5MB/s, 這充分體現了CMDS海量存儲系統擴容與增速同步的思想。

 

CMDS海量存儲系統中, 文件服務器上CPU和內存的開銷也明顯要低于傳統系統, 主要是由于CMDS海量存儲系統實行了命令與數據分流, 避免了大量的數據在存儲結點和文件服務器之間的往返拷貝, 將高性能的存儲設備和網絡帶寬充分提供給網絡用戶, 而不被傳統文件服務器瓶頸所限制。

 

 

 

從表2可以發(fā)現, 兩個系統的內存的利用率幾乎都在80%以上, 這主要是由于Linux系統的內存管理采用貪婪調度算法, 它盡量將內存分配給系統使用, 不夠時再進行調度和再分配。因此, 即使傳統系統中內存的利用率一直在97%左右, 在當前的負載情況下, 內存也不會成為系統的瓶頸。傳統系統中網絡的集合帶寬幾乎達到峰值, 很明顯, 網絡通道成為整個系統的瓶頸, 如果提高網絡通道的帶寬, 文件服務器上的內存就很有可能成為系統的瓶頸。CMDS海量存儲系統中由于采用了兩個網絡通道, 在當前的負載情況下, 應該還有提升的空間, 而且其內存的利用率也還沒有達到飽和。

 

隨著體系結構和系統硬件的改變, 系統的瓶頸總是在不斷轉移。我們曾做過這樣的試驗, 服務器采用PIII500MHZCPU, 64MB內存, SYM53C815SCSI主從通道, 測試發(fā)現傳統方式下系統的集合帶寬始終無法超過8MB/s。這主要是由于SYM53C815的峰值帶寬為15MB/s, 即使SCSI通道的利用率為60%, 系統也不可能超過9MB/s的帶寬, 顯然, SCSI通道成為系統的瓶頸。

 

當使用峰值帶寬為40MB/sSYM53C875SCSI通道后, 系統的集合帶寬達到11MB/s。在SCSI通道的利用率為60%的情況下, 可提供24MB/s的帶寬, 此時文件服務器端峰值帶寬為12.5MB/s的網絡通道又成為系統的瓶頸。如果提高網絡帶寬, 在大量數據請求的情況下, 文件服務器上的內存CPU可能再次成為系統的瓶頸。對于CMDS海量存儲系統而言, 由于將文件服務器轉移出了數據傳輸路徑, 在同等負載的情況下, 系統的瓶頸將僅限于網絡通道, 這也是CMDS海量存儲系統體系結構的優(yōu)勢所在。

 

 

 

 

 

3表示三個用戶, 每個用戶兩個進程, 測試文件大小為124MB時系統的平均數傳率比較。7表示同等測試環(huán)境下系統的集合I/O帶寬。在兩個進程和四個進程的情況下,CMDS海量存儲系統的集合帶寬比傳統系統要略差, 主要是由于網絡用戶和多個存儲節(jié)點之間直接進行數據交換, 必須要在網絡用戶端進行數據的整合和分配, 因此存在一定的開銷。在網絡用戶端單進程的情況下, 該影響還不明顯, 但多個進程之后, 會導致系統性能的下降。當三個用戶六個進程時,傳統系統由于受文件服務器上網絡通道帶寬的限制, 其性能又明顯低于CMDS海量存儲系統。如果對網絡用戶端的軟件進行優(yōu)化(比如減少內存拷貝的開銷), 則可以降低其影響。

 
總 結

 

CMDS海量存儲系統使文件服務器與存儲設備的關系由原來的主從關系轉變?yōu)橄嗷ヒ来娴膶Φ汝P系, 并且存儲設備具有了新的自主功能。其文件集中管理、數據分布存儲的體系結構同時具有集中式存儲和分布式存儲兩者的優(yōu)點, 不僅易于管理, 而且高性能、高可擴展。它還具有存儲空間的單一邏輯視圖、流水命令響應與并行數據I/O、負載動態(tài)遷移和高可用性等特點。

 

另一方面, CMDS海量存儲系統也是一個全新的、不斷完善的系統;今后研究的重點包括以下幾個方面的內容:首先,設法屏蔽上層各種不同的應用, 實現該系統與現有存儲系統的無縫連接;其次, 實現存儲空間的在線動態(tài)擴容、數據的動態(tài)遷移等是今后需要研究的課題;另外, 如何保證在傳輸過程中的數據安全以及數據的一致性也是一個待解決的問題。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉