欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux新技術(shù)對象存儲文件系統(tǒng)

 更新時間:2006年10月24日 00:00:00   作者:  
    隨著高性能計算由傳統(tǒng)的主機方式向網(wǎng)絡(luò)化集群演變,傳統(tǒng)的基于主機的存儲架構(gòu)已逐漸向網(wǎng)絡(luò)化存儲發(fā)展,計算和存儲分離的趨勢越來越明顯。針對 SAN 和 NAS 的不足,國際上已開展針對 Linux 集群的新型文件系統(tǒng)――對象存儲文件系統(tǒng)的研究,本文重點論述了存儲對象文件系統(tǒng)的架構(gòu)、技術(shù)特點,并針對Lustre 對象存儲文件系統(tǒng)進行了初步測試,結(jié)果表明對象存儲文件系統(tǒng)在可擴展性、性能、易用性等方面都有顯著提高,隨著網(wǎng)絡(luò)化存儲技術(shù)的不斷成熟,對象存儲文件系統(tǒng)將成為重要的發(fā)展方向。

  一、引言

  高性能計算已由傳統(tǒng)的主機方式逐漸向集群方式演變,如TOP500中,1998年只有2臺系統(tǒng)是集群方式,而到2003年已有208臺為集群系統(tǒng)。隨著高性能計算體系結(jié)構(gòu)的發(fā)展變化,傳統(tǒng)的基于主機的存儲架構(gòu)已成為新的瓶頸,不能滿足集群系統(tǒng)的需求。集群的存儲系統(tǒng)必須有效解決兩個主要問題:(1)提供共享訪問數(shù)據(jù),便于集群應(yīng)用程序的編寫和存儲的負(fù)載均衡;(2)提供高性能的存儲,在I/O級和數(shù)據(jù)吞吐率方面能滿足成百上千臺規(guī)模的Linux集群服務(wù)器聚合訪問的需求。目前,網(wǎng)絡(luò)化存儲已成為解決集群系統(tǒng)高性能存儲的有效技術(shù)途徑。

  國際上主要有兩類網(wǎng)絡(luò)化存儲架構(gòu),它們是通過命令集來區(qū)分的。第一類是SAN(Storage Area Network)結(jié)構(gòu),它采用SCSI 塊I/O的命令集,通過在磁盤或FC(Fiber Channel)級的數(shù)據(jù)訪問提供高性能的隨機I/O和數(shù)據(jù)吞吐率,它具有高帶寬、低延遲的優(yōu)勢,在高性能計算中占有一席之地,如SGI的CXFS文件系統(tǒng)就是基于SAN實現(xiàn)高性能文件存儲的,但是由于SAN系統(tǒng)的價格較高,且可擴展性較差,已不能滿足成千上萬個CPU規(guī)模的系統(tǒng)。第二類是NAS(Network Attached Storage)結(jié)構(gòu),它采用NFS或CIFS命令集訪問數(shù)據(jù),以文件為傳輸協(xié)議,通過TCP/IP實現(xiàn)網(wǎng)絡(luò)化存儲,可擴展性好、價格便宜、用戶易管理,如目前在集群計算中應(yīng)用較多的NFS文件系統(tǒng),但由于NAS的協(xié)議開銷高、帶寬低、延遲大,不利于在高性能集群中應(yīng)用。

  針對Linux集群對存儲系統(tǒng)高性能和數(shù)據(jù)共享的需求,國外已開始研究全新的存儲架構(gòu)和新型文件系統(tǒng),希望能有效結(jié)合SAN和NAS系統(tǒng)的優(yōu)點,支持直接訪問磁盤以提高性能,通過共享的文件和元數(shù)據(jù)以簡化管理,目前對象存儲文件系統(tǒng)已成為Linux集群系統(tǒng)高性能文件系統(tǒng)的研究熱點,如Cluster File Systems公司的Lustre、Panasas公司的ActiveScale文件系統(tǒng)等。Lustre文件系統(tǒng)采用基于對象存儲技術(shù),它來源于卡耐基梅隆大學(xué)的Coda項目研究工作,2003年12月發(fā)布了Lustre 1.0版,預(yù)計在2005年將發(fā)布2.0版。Lustre在美國能源部(U.S.Department of Energy:DOE)、Lawrence Livermore 國家實驗室,Los Alamos國家實驗室,Sandia 國家實驗室,Pacific Northwest國家實驗室的高性能計算系統(tǒng)中已得到了初步的應(yīng)用,IBM正在研制的Blue Gene系統(tǒng)也將采用Lustre文件系統(tǒng)實現(xiàn)其高性能存儲。ActiveScale文件系統(tǒng)技術(shù)來源于卡耐基梅隆大學(xué)的Dr. Garth Gibson,最早是由DARPA支持的NASD(Network Attached Secure Disks)項目,目前已是業(yè)界比較有影響力的對象存儲文件系統(tǒng),榮獲了ComputerWorld 2004年創(chuàng)新技術(shù)獎。

    二、對象存儲文件系統(tǒng)

  2.1 對象存儲文件系統(tǒng)架構(gòu)

  對象存儲文件系統(tǒng)的核心是將數(shù)據(jù)通路(數(shù)據(jù)讀或?qū)懀┖涂刂仆罚ㄔ獢?shù)據(jù))分離,并且基于對象存儲設(shè)備(Object-based Storage Device,OSD)構(gòu)建存儲系統(tǒng),每個對象存儲設(shè)備具有一定的智能,能夠自動管理其上的數(shù)據(jù)分布,對象存儲文件系統(tǒng)通常有以下幾部分組成。

  1、對象

  對象是系統(tǒng)中數(shù)據(jù)存儲的基本單位,一個對象實際上就是文件的數(shù)據(jù)和一組屬性的組合,這些屬性可以定義基于文件的RAID參數(shù)、數(shù)據(jù)分布和服務(wù)質(zhì)量等,而傳統(tǒng)的存儲系統(tǒng)中用文件或塊作為基本的存儲單位,在塊存儲系統(tǒng)中還需要始終追蹤系統(tǒng)中每個塊的屬性,對象通過與存儲系統(tǒng)通信維護自己的屬性。在存儲設(shè)備中,所有對象都有一個對象標(biāo)識,通過對象標(biāo)識OSD命令訪問該對象。通常有多種類型的對象,存儲設(shè)備上的根對象標(biāo)識存儲設(shè)備和該設(shè)備的各種屬性,組對象是存儲設(shè)備上共享資源管理策略的對象集合等。

  2、對象存儲設(shè)備

  對象存儲設(shè)備具有一定的智能,它有自己的CPU、內(nèi)存、網(wǎng)絡(luò)和磁盤系統(tǒng),目前國際上通常采用刀片式結(jié)構(gòu)實現(xiàn)對象存儲設(shè)備。OSD提供三個主要功能:

  (1) 數(shù)據(jù)存儲。OSD管理對象數(shù)據(jù),并將它們放置在標(biāo)準(zhǔn)的磁盤系統(tǒng)上,OSD不提供塊接口訪問方式,Client請求數(shù)據(jù)時用對象ID、偏移進行數(shù)據(jù)讀寫。

 ?。?) 智能分布。OSD用其自身的CPU和內(nèi)存優(yōu)化數(shù)據(jù)分布,并支持?jǐn)?shù)據(jù)的預(yù)取。由于OSD可以智能地支持對象的預(yù)取,從而可以優(yōu)化磁盤的性能。

 ?。?) 每個對象元數(shù)據(jù)的管理。OSD管理存儲在其上對象的元數(shù)據(jù),該元數(shù)據(jù)與傳統(tǒng)的inode元數(shù)據(jù)相似,通常包括對象的數(shù)據(jù)塊和對象的長度。而在傳統(tǒng)的NAS系統(tǒng)中,這些元數(shù)據(jù)是由文件服務(wù)器維護的,對象存儲架構(gòu)將系統(tǒng)中主要的元數(shù)據(jù)管理工作由OSD來完成,降低了Client的開銷。

  3、元數(shù)據(jù)服務(wù)器(Metadata Server,MDS)

  MDS控制Client與OSD對象的交互,主要提供以下幾個功能:

 ?。?) 對象存儲訪問。MDS構(gòu)造、管理描述每個文件分布的視圖,允許Client直接訪問對象。MDS為Client提供訪問該文件所含對象的能力,OSD在接收到每個請求時將先驗證該能力,然后才可以訪問。

  (2) 文件和目錄訪問管理。MDS在存儲系統(tǒng)上構(gòu)建一個文件結(jié)構(gòu),包括限額控制、目錄和文件的創(chuàng)建和刪除、訪問控制等。

 ?。?) Client Cache一致性。為了提高Client性能,在對象存儲文件系統(tǒng)設(shè)計時通常支持Client方的Cache。由于引入Client方的Cache,帶來了Cache一致性問題,MDS支持基于Client的文件Cache,當(dāng)Cache的文件發(fā)生改變時,將通知Client刷新Cache,從而防止Cache不一致引發(fā)的問題。

    4、對象存儲文件系統(tǒng)的Client

  為了有效支持Client支持訪問OSD上的對象,需要在計算結(jié)點實現(xiàn)對象存儲文件系統(tǒng)的Client,通常提供POSIX文件系統(tǒng)接口,允許應(yīng)用程序像執(zhí)行標(biāo)準(zhǔn)的文件系統(tǒng)操作一樣。

  2.2 對象存儲文件系統(tǒng)的關(guān)鍵技術(shù)

  1、分布元數(shù)據(jù)傳統(tǒng)的存儲結(jié)構(gòu)元數(shù)據(jù)服務(wù)器通常提供兩個主要功能。(1)為計算結(jié)點提供一個存儲數(shù)據(jù)的邏輯視圖(Virtual File System,VFS層),文件名列表及目錄結(jié)構(gòu)。(2)組織物理存儲介質(zhì)的數(shù)據(jù)分布(inode層)。對象存儲結(jié)構(gòu)將存儲數(shù)據(jù)的邏輯視圖與物理視圖分開,并將負(fù)載分布,避免元數(shù)據(jù)服務(wù)器引起的瓶頸(如NAS系統(tǒng))。元數(shù)據(jù)的VFS部分通常是元數(shù)據(jù)服務(wù)器的10%的負(fù)載,剩下的90%工作(inode部分)是在存儲介質(zhì)塊的數(shù)據(jù)物理分布上完成的。在對象存儲結(jié)構(gòu),inode工作分布到每個智能化的OSD,每個OSD負(fù)責(zé)管理數(shù)據(jù)分布和檢索,這樣90%的元數(shù)據(jù)管理工作分布到智能的存儲設(shè)備,從而提高了系統(tǒng)元數(shù)據(jù)管理的性能。另外,分布的元數(shù)據(jù)管理,在增加更多的OSD到系統(tǒng)中時,可以同時增加元數(shù)據(jù)的性能和系統(tǒng)存儲容量。

  2、并發(fā)數(shù)據(jù)訪問對象存儲體系結(jié)構(gòu)定義了一個新的、更加智能化的磁盤接口OSD。OSD是與網(wǎng)絡(luò)連接的設(shè)備,它自身包含存儲介質(zhì),如磁盤或磁帶,并具有足夠的智能可以管理本地存儲的數(shù)據(jù)。計算結(jié)點直接與OSD通信,訪問它存儲的數(shù)據(jù),由于OSD具有智能,因此不需要文件服務(wù)器的介入。如果將文件系統(tǒng)的數(shù)據(jù)分布在多個OSD上,則聚合I/O速率和數(shù)據(jù)吞吐率將線性增長,對絕大多數(shù)Linux集群應(yīng)用來說,持續(xù)的I/O聚合帶寬和吞吐率對較多數(shù)目的計算結(jié)點是非常重要的。對象存儲結(jié)構(gòu)提供的性能是目前其它存儲結(jié)構(gòu)難以達到的,如ActiveScale對象存儲文件系統(tǒng)的帶寬可以達到10GB/s。

  2.3 Lustre對象存儲文件系統(tǒng)

  Lustre對象存儲文件系統(tǒng)就是由客戶端(client)、存儲服務(wù)器(OST,Object Storage Target)和元數(shù)據(jù)服務(wù)器(MDS)三個主要部分組成。Lustre的客戶端運行Lustre文件系統(tǒng),它和OST進行文件數(shù)據(jù)I/O的交互,和MDS進行命名空間操作的交互。為了提高Lustre文件系統(tǒng)的性能,通常Client、OST和MDS是分離,當(dāng)然這些子系統(tǒng)也可以運行在同一個系統(tǒng)中。其三個主要部分如圖1所示。


圖1 Lustre文件系統(tǒng)的組成

  Lustre是一個透明的全局文件系統(tǒng),客戶端可以透明地訪問集群文件系統(tǒng)中的數(shù)據(jù),而無需知道這些數(shù)據(jù)的實際存儲位置??蛻舳送ㄟ^網(wǎng)絡(luò)讀取服務(wù)器上的數(shù)據(jù),存儲服務(wù)器負(fù)責(zé)實際文件系統(tǒng)的讀寫操作以及存儲設(shè)備的連接,元數(shù)據(jù)服務(wù)器負(fù)責(zé)文件系統(tǒng)目錄結(jié)構(gòu)、文件權(quán)限和文件的擴展屬性以及維護整個文件系統(tǒng)的數(shù)據(jù)一致性和響應(yīng)客戶端的請求。 Lustre把文件當(dāng)作由元數(shù)據(jù)服務(wù)器定位的對象,元數(shù)據(jù)服務(wù)器指導(dǎo)實際的文件I/O請求到存儲服務(wù)器,存儲服務(wù)器管理在基于對象的磁盤組上的物理存儲。由于采用元數(shù)據(jù)和存儲數(shù)據(jù)相分離的技術(shù),可以充分分離計算和存儲資源,使得客戶端計算機可以專注于用戶和應(yīng)用程序的請求;存儲服務(wù)器和元數(shù)據(jù)服務(wù)器專注于讀、傳輸和寫數(shù)據(jù)。存儲服務(wù)器端的數(shù)據(jù)備份和存儲配置以及存儲服務(wù)器擴充等操作不會影響到客戶端,存儲服務(wù)器和元數(shù)據(jù)服務(wù)器均不會成為性能瓶頸。

  Lustre的全局命名空間為文件系統(tǒng)的所有客戶端提供了一個有效的全局唯一的目錄樹,并將數(shù)據(jù)條塊化,再把數(shù)據(jù)分配到各個存儲服務(wù)器上,提供了比傳統(tǒng)SAN的"塊共享"更為靈活的共享訪問方式。全局目錄樹消除了在客戶端的配置信息,并且在配置信息更新時仍然保持有效。

    三、測試和結(jié)論

  1、Lustre iozone測試

  針對對象存儲文件系統(tǒng),我們對Lustre文件系統(tǒng)作了初步測試,具體配置如下:

  3臺雙至強系統(tǒng):CPU:1.7GHz,內(nèi)存:1GB,千兆位以太網(wǎng)
  Lustre文件系統(tǒng):lustre-1.0.2
  Linux版本:RedHat 8
  測試程序:iozone
  測試結(jié)果如下:

  塊寫(MB/s/thread) 單線程 兩個線程
  Lustre 1個OST 2個OST 1個OST 2個OST
  21.7 50 12.8 24.8
  NFS 12 5.8

  從以上的測試表明,單一OST的寫帶寬比NFS好,2個OST的擴展性很好,顯示strip的效果,兩個線程的聚合帶寬基本等于飽和帶寬,但lustre客戶方的CPU利用率非常高(90%以上),測試系統(tǒng)的規(guī)模(三個節(jié)點)受限,所以沒有向上擴展OST和client數(shù)量。另外,lustre的cache對文件寫的性能提升比NFS好。通過bonnie++初步測試了lustre的元數(shù)據(jù)處理能力,和NFS比,文件創(chuàng)建速度相對快一些,readdir速度慢。

  2、lustre小規(guī)模測試數(shù)據(jù)(文件寫測試,單位KB/s):

  硬件:Dual Xeon1.7,GigE, SCSI Ultra160 軟件:RedHat8,iozone

圖2 2個OST / 1個MDS


圖3 1個OST/1個MDS


圖4 NFS測試


    從初步的測試看,lustre的性能和可擴展性都不錯。與傳統(tǒng)的文件系統(tǒng)相比,對象存儲文件系統(tǒng)具有以下優(yōu)勢:

  (1)性能。對象存儲體系結(jié)構(gòu)沒有其它共享存儲系統(tǒng)中的元數(shù)據(jù)管理器瓶頸。NAS系統(tǒng)使用一個集中的文件服務(wù)器作為元數(shù)據(jù)管理器,一些SAN文件系統(tǒng)則采用集中的鎖管理器,最后元數(shù)據(jù)管理將成為一個瓶頸。對象存儲體系結(jié)構(gòu)類似于SAN,每個結(jié)點都可以直接訪問它的存儲設(shè)備。對象存儲體系結(jié)構(gòu)對SAN的改進是沒有RAID控制器的瓶頸問題,當(dāng)計算結(jié)點的規(guī)模增大時,該優(yōu)勢將非常明顯,所有結(jié)點的總吞吐率最后將受限于存儲系統(tǒng)的規(guī)模和網(wǎng)絡(luò)的性能。存儲對象結(jié)點發(fā)送數(shù)據(jù)到OSD,OSD自動優(yōu)化數(shù)據(jù)的分布,這樣減少了計算結(jié)點的負(fù)擔(dān),并允許向多個OSD并行讀寫,最大化單個Client的吞吐率。

 ?。?)可擴展性。將負(fù)載分布到多個智能的OSD,并用網(wǎng)絡(luò)和軟件將它們有機結(jié)合起來,消除了可擴展問題。一個對象存儲系統(tǒng)有內(nèi)存、處理器、磁盤系統(tǒng)等,允許它們增加其存儲處理能力而與系統(tǒng)其它部分無關(guān)。如果對象存儲系統(tǒng)沒有足夠的存儲處理能力,可以增加OSD,確保線性增加性能。

  (3)OSD分擔(dān)主要的元數(shù)據(jù)服務(wù)任務(wù)。元數(shù)據(jù)管理能力通常是共享存儲系統(tǒng)的瓶頸,所有計算結(jié)點和存儲結(jié)點都需要訪問它。在對象存儲結(jié)構(gòu)中,元數(shù)據(jù)服務(wù)有兩部分組成:inode元數(shù)據(jù),管理介質(zhì)上的存儲塊分布;文件元數(shù)據(jù),管理文件系統(tǒng)的文件層次結(jié)構(gòu)和目錄。對象存儲結(jié)構(gòu)增加了元數(shù)據(jù)訪問的可擴展,OSD負(fù)責(zé)自己的inode元數(shù)據(jù),增加一個OSD可以增加磁盤容量,并可以增加元數(shù)據(jù)管理資源。而傳統(tǒng)的NAS服務(wù)器增加更多的磁盤,則性能將更慢。對象存儲系統(tǒng)在容量擴展時,確保持續(xù)的吞吐率。

 ?。?)易管理。智能化的分布對象存儲結(jié)構(gòu)可以簡化存儲管理任務(wù),可以簡化數(shù)據(jù)優(yōu)化分布的任務(wù)。例如,新增存儲容量可以自動合并到存儲系統(tǒng)中,因為OSD可以接受來自計算結(jié)點發(fā)出的對象請求。系統(tǒng)管理員不需要創(chuàng)建LUN,不需要重新調(diào)整分區(qū),不需要重新平衡邏輯卷,不需要更新文件服務(wù)器等。RAID塊可自動擴展到新的對象,充分利用新增的OSD。

 ?。?)安全。傳統(tǒng)的存儲系統(tǒng)通常依賴于Client的身份認(rèn)證和私有的網(wǎng)絡(luò)確保系統(tǒng)安全。對象存儲結(jié)構(gòu)在每個級別都提供安全功能,主要包括存儲設(shè)備的身份認(rèn)證,計算結(jié)點的身份認(rèn)證,計算結(jié)點命令的身份認(rèn)證,所有命令的完整性檢查,基于IPSec的私有數(shù)據(jù)和命令等。這些安全級別可以確保用戶使用更高效、更易獲得的網(wǎng)絡(luò),如以太網(wǎng)等。目前panasas已經(jīng)推出了商業(yè)化的對象存儲全局文件系統(tǒng)ActiveScale,對象存儲正在被重視,Lustre也已經(jīng)在(ALC、MCR)或?qū)ⅲ≧edStorm)在多個大規(guī)模集群上應(yīng)用,因而對象存儲文件系統(tǒng)將成為未來集群存儲的重要發(fā)展方向。


 

相關(guān)文章

最新評論