SAN網絡存儲共享軟件全攻略

 在高性能專用存儲網絡需求的驅使下,SAN存儲區域網絡系統大量應用於高性能計算網絡系統、大型網站系統、非線性編輯系統等網絡系統中,存儲設備與計算機主機系統之間一對一的關係,被可供多個系統共享同一個存儲設備網絡的關係所取代。爲確保多大量客戶端主機對同一存儲設備的共享訪問權限和和管理權限的統一,就需要安裝專門的存儲共享管理軟件或採用專門的共享文件系統。

SANergy、ImageSAN、StorNext、GPFS、CXFS等軟件或文件系統就是爲了實現存儲設備共享而開發的。

 

一、典型SAN共享系統

    在詳細解釋SAN網絡存儲共享管理軟件之前,假設你對SAN、NAS、DAS和ISCSI技術的特點和區別已經很熟悉,我們先分析一下典型FC-SAN存儲網絡和IP-SAN存儲網絡架構在系統構及卷管理和數據訪問方面的特點。

典型FC-SAN共享存儲系統結構圖:

200741810882.jpg

(圖1) 
    大型FC-SAN存儲共享系統經常被稱“FC+LAN”雙網結構,這是指在本該系統由FC光纖通道網絡和LAN以太網絡兩個網絡共同構成,其中以太網絡負責工作站與MDC(MetaData Controller)服務器與工作站之間的元數據信息傳輸和交換,FC光纖通道網絡只負責實際數據的高帶寬傳輸。這種網絡結構可充分利用兩種網絡的特點,發揮兩個網絡的最大效率。

典型IP-SAN共享存儲系統結構圖:

    以iSCSI設備爲核心存儲的IP-SAN採用了與FC-SAN類似的結構,典型的ISCSI存儲網絡系統結構如下所示:

200741838491.jpg

(圖2)

    IP-SAN一般被稱爲單網結構,是指MDC服務器與工作站之間的元數據和實際數據都是通過以太網絡來進行傳輸和交換。單網結構具有網絡結構簡單,可充分利用現在設備,系統建設時對現在系統修改較小,管理維護方便等特點。

一、SANergy

    SANergy可以理解爲一個文件系統的擴展,它能提升嵌入Windows NT、Windows 2000®、Unix和Machintosh操作系統內部的分佈式數據共享能力。SANergy可以將標準網絡文件輸入/輸出,由LAN重新指向SAN。普通的網絡協議(CIF或NFS)在標準的LAN上建立連接以共享文件,而數據本身通過更高效的SAN以高得多的帶寬傳輸。與SAN連接的存儲介質可被格式化成NTFS、UFS或EXT FS格式或支持SANergy open API的任何其它文件系統。

    SANergy將標準的Windows NT、Windows 2000、SUN Soloris™或Red Hat Linux®文件服務器擴展後,充當共享式存儲器的元數據控制器(MDC)。這個MDC通過運行SANergy客戶端軟件的計算機,管理對SAN存儲器的訪問。通過提供重要的文件系統元數據,MDC在客戶計算機提出請求時,管理對公用存儲器的訪問。然後,客戶機可以通過SAN的連接直接訪問該存儲器。

    SANergy對大部分系統服務或應用程序提供透明支持,使用戶能夠通過實施存儲區域網絡(SAN)透明地共享公用存儲器、卷和文件的存取;可以使UNIX®、Windows NT®和 Apple Macintosh系統在卷、文件和字節級上跨平臺共享存儲資源,從而比基於服務器共享的方式大大增加吞吐量,降低管理費。

    SANergy不是一個獨立的文件系統,而只是一個文件I/O 重定向程序。它截取文件I/O 重定向到MDC 文件系統管理的磁盤,所以它只是一個SAN 文件系統外殼軟件。MDC對磁盤及文件系統的管理視主機平臺而定,如是Windows就是NTFS、Solaris,就是UFS、Linux就是EXT2等。在異構操作系統平臺之間共享數據需要採用NFS 協議處理,性能表現不佳,實現可用性不高,不能滿足混合平臺、大量主機併發工作環境中的性能要求。

    工作站以網絡文件系統方式安裝共享磁盤,而SANergy不是獨立的文件系統,它必須以網絡文件系統的形式安裝在主機上(Windows就是網絡盤符、UNIX和Linux就是NFS文件系統),那些不能在網絡文件系統上處理數據的應用就無法運行,或運行效率和很低。除了MDC 外,所有SANergy主機都無法爲其他LAN主機提供數據共享,因爲它本身就是網絡文件系統,不能再次共享。

    Metadata傳輸佔用LAN帶寬高,佔用MDC主機資源多,不能支持大量主機併發訪問。SANergy使用NFS/CIFS文件傳輸協議傳輸Metadata信息,不僅佔用很大的LAN帶寬,而且由於MDC必須運行NFS/CIFS服務器處理連接,所以消耗資源很大,在高負載環境中效率低下依賴其它文件系統技術處理硬件,在高負載環境中數據處理性能低下SANergy MDC只有在Windows或AIX環境下纔可以雙機切換,而且需要機羣軟件支持。如果MDC 主機是其它UNIX或Linux,就無切換功能。這個約束極大降低了SANergy系統的可靠性和可用性。

筆者注:

SANergy軟件安裝和使用簡單方便,需要進行設置的參數項少,任何人只需要進行簡單地培訓就可以使用。雖然SANergy軟件的官方價格仍然很高,但實際上其它盜版到處都有,不需要註冊碼且可以長期使用,與從官方購買到的軟件完全相同。因此對於一些存儲需要共享但又不想花買正版軟件的人來講,應該是一個不錯的選擇。

然而,經本人長期親自使用後發現,SANergy軟件的穩定性和安全不足。雖然官方一直聲稱主機數沒有限制,但實際上當網絡中的主機數量到達100-150時,MDC服務器性能會大幅度降低,經常出現一些莫名其妙的問題,可能會引起數據丟失或文件系統損壞,系統運行和維護管理要求嚴格,必須在對共享網絡存儲有深入瞭解的技術人員指導下來進行日常維護。目前官方已不再對SANergy的後期開發和升級,改去開發新的共享軟件,但不知道還提供SANergy軟件的後期技術支持。

另外,SANergy軟件在異構操作系統平臺下表現不佳,實際性能只相當於同構性的1/4-1/5,這個性能遠不能滿足系統正常運行的需要。

二、ImageSAN

    ImageSAN是Rorke Data公司專門針對廣電行業音視頻(AV)SAN網絡存儲應用而研發的,是Windows NT/2000/XP及Macintosh OSX環境及混合環境的SAN解決方案,並提供廣泛的應用支持和高適應性的容錯能力。基於ImageSAN的存儲共享解決方案通過速度、協作和多任務提高了視頻、音頻及圖形編輯系統的網絡化處理能力。

    MDC設置:ImageSAN可以保證卷Master的動態切換,確保高可用性。在對等網中,每一臺主機都有可能成爲卷Master。從成本考慮,用戶根本不必花費額外的MDC費用。而從安全性等方面考慮,當網絡中主機數量大於10時,用戶往往使用域模式(並不是必須如此,取決於用戶以太網的設置),單獨設置了一臺域服務器,ImageSAN就可以指定該服務器爲Master。同類其它產品則完全依賴MDC,MDC一旦出故障,將導致整個網絡癱瘓。

    二次共享:在每一臺ImageSAN工作站上,SAN共享卷都直接顯示爲本地硬盤。由於具有所有本地硬盤的特性,SAN存儲卷可以再映射到以太網以便共享。這樣,SAN以外的以太網工作站也可以訪問SAN中的資料。更重要的是,SAN中的每一臺主機都可以面向以太網共享同一SAN分區(用戶權限支持)。整個網絡的處理能力分擔了原來單臺服務器的負載,大大減小了網絡癱瘓的可能性。這一點特別適合無卡網絡編輯的要求。

    動態高可用冗餘標準:ImageSAN網絡中的Master如果出故障,同一網絡中的工作站都可以接管成爲Master。而且,SAN中的每個卷都可以單獨指定自己的Master,也可讓網絡選舉產生Master,非常靈活。如果通過其他軟件管理SAN,Master的MDC出故障,就要靠Slave的MDC接管。如果Slave的MDC也出故障,將導致整個網絡癱瘓。

筆者注:

ImageSAN軟件在視頻共享網絡環境中性能表現良好,但在非視頻共享環境中表現一般。感覺上ImageSAN實際使用的案例比較少,特別是大型網絡系統中很少用到ImageSAN,非視頻共享行業用戶對ImageSAN更少聽聞。

三、StorNext

    StorNext FS是完全爲SAN網絡環境設計的文件系統,不依賴於任何現有操作系統中附帶的、獨立的、跨平臺SAN文件系統。

    StorNext FS是真正的64位文件系統,可以保證管理巨大的磁盤空間和文件數量,不同類型的主機可以同時以FC Direct I/O方式訪問數據,中間不需要任何協議轉換。因此,StorNext FS 可以充分利用和發揮SAN 體系結構的所有優點,完全擺脫現有文件系統產品的結構束縛,特別是在混合平臺、大量主機併發工作環境中優勢非常突出。採用日誌型文件系統的設計保證系統的可靠性、健壯性和快速恢復能力。

    StorNext FS直接通過TCP/IP協議傳輸Metadata,MDC採用優化算法處理Metadata,Metadata傳輸佔用LAN帶寬低,佔用MDC主機資源少,可以支持大量主機併發訪問,因此傳輸和處理效率非常高,可以滿足大量主機在高負載環境下並行工作的要求。

    StorNext FS具有自己的磁盤邏輯卷管理功能,可以優化組合SAN中的磁盤資源,並且可以對SAN網絡鏈路進行多通道併發處理、保證帶寬質量和實現負載均衡。加上StorNext SM 管理模塊,可以管理多種磁帶庫和磁帶介質具備多種SAN網絡和磁盤優化功能,可充分發揮硬件性能,在高負載環境中數據處理性能突出。

    StorNext FS的Metadata控制器可以在任何類型的主機(多達7 臺)中進行切換,因此可以最大限度地保證系統的連續、可靠運行。

    由於StorNext FS 是獨立的文件系統,工作站以本地文件系統方式安裝共享磁盤,共享磁盤直接顯示爲本地磁盤,可進行二次網絡共享,所有應用軟件都可以以本地磁盤和文件系統方式處理StorNext FS 中的數據。

    具有原始集成的HSM數據歸檔、遷移、備份和容災功能(StorNext Storage Manager),StorNext FS是符合XDSM數據管理標準的文件系統,具備內置的數據遷移、保護、容災等管理模塊 – StorNext Storage Manager 實現跨存儲介質的、長期的數據存儲和保護解決方案。

筆者注:

StorNext軟件是目前最熱門的存儲共享管理軟件,因此軟件價格也居高不下,當網絡規模較大時,可能StorNext軟件的購置費用就會佔用非常大的一部分成本。

StorNext設置參數較多,技術人員要求較高。聽說朋友說StorNext的問題與SANergy相比並不少,且出了問題難以排查。

四、CXFS

    CXFS是可擴展的日誌性羣集文件系統,具高可擴展性。單一文件大小可以達到九百萬TB,文件系統可以達到1800萬TB。動態分配算法使得一個文件系統可以存儲數百萬個文件而不浪費磁盤空間,單一目錄管理百萬個文件而不影響性能。

    CXFS通過使用先進的XVM卷管理工具,一個磁盤卷可以有幾千個磁盤構成,當現有磁盤卷容量不能滿足用戶需求時,可以在線增加新的磁盤,確保CXFS能滿足日見增長的存儲需要。

    網絡的速度、服務器的能力和協議本身都是NFS性能的障礙。NFS協議是同步操作,每一數據塊請求都需要兩次網絡I/O;CXFS只通過網絡請求少量的Metadata信息,大量的數據I/O是直接通過讀寫磁盤實現的。另外CXFS還可以在單一系統I/O路徑使用多塊FC卡增加I/O帶寬。因爲CXFS服務器只在數據傳輸之初將文件信息和文件控制權限賦予CXFS客戶機,而不參與每一次的數據傳輸,所以    CXFS服務器並不需要很大即可支持大量的客戶機。

    CXFS被設計成能自動識別並恢復單點失敗,單點失敗包括:主Metadata服務器失敗、SAN失敗、TCP/IP網絡失敗等。在CXFS配置中,一臺主機是Metadata服務器,所有其他主機都可以設計成備份Metadata 服務器,一個備份服務器探測到主Metadata服務器失敗後將自動變成主Metadata服務器。

筆者注:

據官方工程師講,爲了有效地利用CXFS文件系統,建議除了普通的以太網絡和SAN網絡之間,再建立一個“第三網”,該網絡只負責CXFS管理服務器和客戶端工作站之間的元數據信息和指今的管理和傳輸。

筆者曾在2004年測試過CXFS文件系統,測試網絡採用雙網結構,未建立所謂的第三網。測試發現以太網的流量會隨CXFS文件系統使用時間的延續而不斷增加,網絡的效率也會不斷降低,直至最終網絡堵塞。先後共三個時間三個不同網絡環境測試的結果相同。後聽說官方就此問題進行了再次開發仍然未解決該問題。後來怎麼樣就不是很清楚了。

五、GPFS

    通用並行文件系統 (General Parallel File System – GPFS)將所有的物理資源(包括服務器和磁盤陣列)都視爲虛擬文件系統的對象,允許使用者共享分佈在多個節點和多個磁盤上的文件。它允許並行的應用程序同時從GPFS 節點組(nodeset)中的任何節點訪問相同或不同的文件(節點組 nodeset 被定義爲一組運行相同版本GPFS的節點)。

    一個GPFS文件系統可以橫跨在羣集內的所有主機上,分佈在所有磁盤上。GPFS文件系統在讀寫文件時採用條帶化技術,將數據分成條帶並行寫入到該GPFS下的所有NSD中。在有高速數據通道的GPFS配置下,讀寫文件時可以通過所有主機的光纖通道訪問所有的磁盤。

    GPFS文件系統的設計目標是使數據分佈在一個集羣中的所有節點上,允許應用程序通過標準的UNIX文件系統接口來訪問數據。大多數的UNIX文件系統被設計在單一服務器環境下使用,在這一環境下, 增加文件服務器也不會提高特定的文件存取的性能。

    GPFS通過將I/O分佈在多個硬盤提高性能,通過日誌和複製的方式提高數據的可靠性,通過增加節點和在節點之間由SP Switch互聯提高系統的可擴展性。

    通過將文件分佈在多個節點和磁盤上,GPFS可以超越單一節點和單一文件系統的性能極限。文件系統能夠跨越多個節點和多組磁盤,這些磁盤可以是使用 SSA 技術在HACMP羣集裏面直接地連接到每個節點上進行物理共享,也可以是由IBM的VSD(Virtual Shared Disk)和SP Switch技術使經過軟件進行共享。

    GPFS的系統資源可以動態調整,可以在文件系統掛載情況下添加或者刪除硬盤。當處於相對空閒時,用戶可以在已配置的硬盤上重新均衡文件系統以提高吞吐量。可以在不重新啓動GPFS服務情況下添加新節點。

    GPFS還通過用戶端的數據緩存,大的文件頁的支持 (16 kB- 1024 kB),文件預讀和延遲寫的功能等技術提高性能,其性能超過網絡性文件系統 (NFS),分佈式文件系統(DFS)和日誌文件系統 (JFS)。與這些文件系統不同,GPFS文件系統可以通過在羣集或SP系統中增加節點的方式提高性能。

    GPFS是一種日誌文件系統,爲不同節點建立各自獨立的日誌。日誌種記錄Metadata的分佈,一旦節點發生故障後,可以保證快速恢復數據。GPFS fail-over功能通過規劃,將數據分佈到不同failure group內達到高可用性,減少單點故障的影響。爲了保證數據可用性,GPFS在多個failure group內爲每個數據實例做備份,即使創建文件系統時沒有要求複製,GPFS也會自動在不同的failure group內複製恢復日誌。

    除了已有的AIX管理文件系統的命令, GPFS還提供簡化多節點管理的功能。一個GPFS多節點命令能作用於集羣中所有的節點,並且可以從羣集中的任何節點上操作。這些命令以現有的AIX文件系統命令爲基礎, 並進行了擴充。GPFS支持X/Open 4.0的文件系統標準,大多數的AIX和 UNIX操作系統的應用程序不需要修改,就可以訪問GPFS文件系統上的數據。這些特性使得GPFS文件系統可以替代其他的UNIX文件系統。

筆者注:據朋友說,GPFS目前只能有IBM服務器和存儲平臺上正常運行,其它的平臺運行效率不佳。未經證實,也不知道是否正確。

六、GFS

    Global 文件系統(Global File System, GFS)是一個可擴展的分佈式文件系統,用於大型的、分佈式的、對大量數據進行訪問的應用。每一臺linux主機都可以將網絡共享磁盤看作是本地磁盤,且GFS也以本地文件系統的形式出現。

    採用GFS的存儲共享系統由一個master和大量的chunkserver構成。只要資源和可靠性允許,chunkserver和client可以運行在同一個機器上。

    文件被分成固定大小的塊。每個塊由一個不變的、全局唯一的64位的chunk-handle標識,chunk-handle是在塊創建時由 master分配的。ChunkServer將塊當作Linux文件存儲在本地磁盤並可以讀和寫由chunk-handle和位區間指定的數據。出於可靠性考慮,每一個塊被複制到多個chunkserver上。默認情況下,保存3個副本,但這可以由用戶指定。

    Master維護文件系統所以的元數據(metadata),包括名字空間、訪問控制信息、從文件到塊的映射以及塊的當前位置。它也控制系統範圍的活動,如塊租約(lease)管理,孤兒塊的垃圾收集,chunkserver間的塊遷移。Master定期通過HeartBeat消息與每一個 chunkserver通信,給chunkserver傳遞指令並收集它的狀態。

    與每個應用相聯的GFS客戶代碼實現了文件系統的API並與master和chunkserver通信以代表應用程序讀和寫數據。客戶與master的交換只限於對元數據(metadata)的操作,所有數據方面的通信都直接和chunkserver聯繫。

    客戶和chunkserver都不緩存文件數據。因爲用戶緩存的益處微乎其微,這是由於數據太多或工作集太大而無法緩存。不緩存數據簡化了客戶程序和整個系統,因爲不必考慮緩存的一致性問題。但用戶緩存元數據(metadata)。Chunkserver也不必緩存文件,因爲塊時作爲本地文件存儲的。

元數據(metadata):

    master存儲了三種類型的metadata:文件的名字空間和塊的名字空間,從文件到塊的映射,塊的副本的位置。所有的metadata都放在內存中。前兩種類型的metadata通過向操作日誌登記修改而保持不變,操作日誌存儲在master的本地磁盤並在幾個遠程機器上留有副本。使用日誌使得我們可以很簡單地、可靠地更新master的狀態,即使在master崩潰的情況下也不會有不一致的問題。相反,mater在每次啓動以及當有 chuankserver加入的時候詢問每個chunkserver的所擁有的塊的情況。

    以上所論述的都是目前常用的SAN網絡存儲共享管理軟件,實際上還有一些不常用或新開發的存儲共享管理軟件,如SANFS。國內廣電行業兩大集成商也在開發自己的存儲共享管理軟件,目前第一個版本正準備在一個大規模網絡系統中進行測試。我期待其有良好的測試結果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章