隨着IT應用的廣泛及數據共享訪問的需求的增加,Linux的集羣技術越來越重要,很多情況下會有多個服務器去同時訪問共享數據的需要,一般來說,傳統的解決方法都是通過NFS/CIFS等方式來實現,或者是通過數據複製的方法來保證數據的一致性。但是通常情況下隨着數據海量的增加及客戶端數量的增加,NFS/CIFS的性能會很差,而通過數據複製方式又不能保證數據的實時一致性。
爲了克服這種弱點,Red Hat 公司提供了自己的解決方案,它通過GFS來共享存儲上的同一分區,使服務的各個節點就像訪問自己本地文件系統一樣,由於採用的是直接的I/O連接和訪問方式,大大提升了共享訪問同一分區數據的性能.
Red Hat Global File System (GFS)是一個開放源代碼的,POSIX兼容的Cluster文件系統和卷管理系統,它運行在Red Hat企業Linux上,支持SAN (Storage Area Netowrk)。GFS支持Red Hat 企業Linux支持所有主要服務器和存儲設備。它是Linux上的領先的第一個Cluster文件系統,和其它Cluster文件系統相比,GFS有着最強大的功能,廣泛的支持和最好的性價比.
Red Hat GFS使運行Red Hat 企業Linux的多臺服務器可以同時讀寫在SAN/ISCSI上的同一個共享文件,提供了更高的文件訪問性能,降低了系統的複雜性和數據冗餘備份的成本,保證了系統的數據完整性和統一性。 Red Hat GFS具有防止單點失效的高可用功能,可以提供從一臺到幾百臺運行Red Hat 企業Linux的服務器提供服務,同時可以很好地和Linux上的各種應用程序保持兼容,共同工作。
Red Hat GFS和Red Hat企業Linux緊密地結合在一起,可以通過Red Hat Network來進行安裝、升級和管理。各種應用程序如Oracle 9i RAC、在Cluster計算環境中的workloads 、文件服務、web和郵件服務都可以和Red Hat GFS完美的結合工作並達到更好的性能。
通過GFS你可以:
● 簡單佈署你的數據架構:只需安裝應用程序一次,而服務於整個集羣系統,減少數據冗餘複製需求 簡單實現備份和恢復任務
● 最大限度使用存儲資源,最小存儲把投資費用 管理整個存儲系統做爲一個整體 減少數據複製
● 可以無縫地擴展集羣系統,可以在線增加存儲或服務節點 不需要複雜的技術來管理多個分區 增加服務節點只需要一條mount命令就可以完成
● 最大提升應用程序的高可用性 Red Hat Cluster Suite 服務組件包含在GFS內
● 運行在多種平臺架構 GFS可以支持x86, AMD64/EM64T, and Itanium平臺架構
● 最大擴展Linux集羣文件系統 可以最大支持到300個節點
● 緊緊結合Red Hat Enterprise Linux Server 不需要任何補丁
● 是目前唯一的遵循GPL協議的集羣文件系統
● 完全Posix兼容 確保應用程序不需要重新編譯就可以運行在GFS環境中
● 最大限度使用存儲資源,最小存儲把投資費用 管理整個存儲系統做爲一個整體 減少數據複製
● 可以無縫地擴展集羣系統,可以在線增加存儲或服務節點 不需要複雜的技術來管理多個分區 增加服務節點只需要一條mount命令就可以完成
● 最大提升應用程序的高可用性 Red Hat Cluster Suite 服務組件包含在GFS內
● 運行在多種平臺架構 GFS可以支持x86, AMD64/EM64T, and Itanium平臺架構
● 最大擴展Linux集羣文件系統 可以最大支持到300個節點
● 緊緊結合Red Hat Enterprise Linux Server 不需要任何補丁
● 是目前唯一的遵循GPL協議的集羣文件系統
● 完全Posix兼容 確保應用程序不需要重新編譯就可以運行在GFS環境中
GFS文件系統通過一個或多個存儲單元來構建一個存儲池,集羣中的節點通過SAN可以連接到指定的存儲池,這樣每個集羣節點就可以通過一個或多個路徑把存儲池連接到網絡應用中,由於存儲池連接方式是通過直接I/O連接方式,所以可以大大提升I/O性能。
由於多個集羣節點通時訪問/讀寫同一分區/數據,就必順通過一個或多個管理服務器來保證數據的一致性,在GFS中,管理服務器叫DLM (distributed lock manager),通過DLM可以與每個集羣節點心跳通訊,以確保數據完整性,及節點健康性,一旦發現某個節點通訊有問題,它會把該節點從集羣中隔離出來,直到該節點重新恢復,才能再加入集羣節點中。
考慮到DLM服務器的高可用性,GFS可以通多設置多個DLM的備份,一旦主DLM發生故障,備份的DLM就可以接管作爲主DLM來管理整個GFS。
考慮到DLM服務器的高可用性,GFS可以通多設置多個DLM的備份,一旦主DLM發生故障,備份的DLM就可以接管作爲主DLM來管理整個GFS。
所以從節點到DLM,都可以實現HA的功能 ,就不存在單點故障的問題,可以確保GFS最高程度的高可用性。
紅帽GFS是Linux操作系統上唯一針對企業應用的Native64位集羣文件系統,支持x86、AMD64/EM64T和Itanium等處理器平臺。它還是Linux系統上擴展能力最強的企業集羣文件系統,支持多達300個結點。GFS與紅帽企業版Linux緊密集成,並且兼容POSIX,這意味着客戶不必爲了使用GFS而重新編寫應用。 紅帽GFS獲得Oracle、EMC和NetApp的支持,包括Oracle解決方案在內的廣泛業界支持標誌着開源集羣文件系統的成熟以及企業對此類系統的強勁需求。
Red Hat GFS實施方式
Red Hat GFS軟件同時包含Red Hat Cluster Suite套件,通過與Red Hat Cluster Suite結合使用,便產生兩種實施方式。
GFS和Cluster Suite共同組建的HA方式
由於Red Hat Cluster Suite最大可以支持16個節點,所以如果構基於Cluster Suite的GFS實施方式,其可實施的最大節點也爲16個。GFS做爲服務中的資源。通過在Cluster Suite中設置相應的GFS節點,可以實現GFS的高可用性特徵,這時一組節點內的服務只能在一個節點上運行,一旦該節點出現故障,其餘的節點可以根據Cluster Suite的配置策略來接口故障的節點。
HA+GFS解決方案
GFS獨立運行方式 此種方式把GFS單獨配置,不受Cluster Suite中的Service控制,故其不受Cluster Suite的影響,最大可擴充支持到300個節點。從而體現其廣泛的可擴展性。
HA+GFS解決方案
GFS獨立運行方式 此種方式把GFS單獨配置,不受Cluster Suite中的Service控制,故其不受Cluster Suite的影響,最大可擴充支持到300個節點。從而體現其廣泛的可擴展性。
SAN GFS技術特徵
● 主要應用於大文件和文件系統
● 支持最大300個節點
● 支持CLVM,實現卷管理
● 支持多種鎖管理機制
● 每個節點都具有數據和元數據日誌
● 支持x86/EM64T/AMD64/IA64
● POSIX兼容
● 在線文件系統管理 可以動態擴充 可以動態調整inodes
● 完全的讀/寫緩存
● 直接I/O能力
● CDPN支持(Context Dependent Path Names)
● 支持磁盤配額
● ACL支持
● 連貫的共享mmap()支持
● 避免中心數據結構存儲
● 支持SAN/GNBD/ISCSI
● 支持最大300個節點
● 支持CLVM,實現卷管理
● 支持多種鎖管理機制
● 每個節點都具有數據和元數據日誌
● 支持x86/EM64T/AMD64/IA64
● POSIX兼容
● 在線文件系統管理 可以動態擴充 可以動態調整inodes
● 完全的讀/寫緩存
● 直接I/O能力
● CDPN支持(Context Dependent Path Names)
● 支持磁盤配額
● ACL支持
● 連貫的共享mmap()支持
● 避免中心數據結構存儲
● 支持SAN/GNBD/ISCSI
鎖管理器
GFS支持三種鎖管理機制DLM、GULM、nolock。DLM是默認最優的鎖管理器。
● DLM鎖管理器
DLM(Distributed Lock Manager)是最優的鎖管理器,它避免了GULM鎖管理方式中必須提供GULM 鎖管理服務器的缺點,不再需要設定鎖管理服務器,而是採用對等的鎖管理方式,大大提供處理性能,DLM避免了當單個節點失敗需要整個恢復的性能瓶頸,DLM的請求是本地的,不需要網絡請求,立即生效,通鎖分層機制,DLM實現多個鎖空間,並行鎖模式。
● GULM鎖管理器
GULM是GFS6.1以前的鎖管理器,它必須要設置一個鎖管理服務器,是一種client/Server的鎖管理方式,顯示易見,所有的鎖請求必須要與鎖管理服務器通訊。而且當節點增大的一定數量的時候,可能會出現磁盤的交換,降低了整個GFS系統的性能。
● nolock鎖管理器 nolock實際並不是一個集羣管理鎖機制,它只能用於單個節點的GFS系統。一般用來測試和實驗用。
GFS 6.1與GFS 6.0對比
GFS 6.1是一個成熟的、高可擴展的、高性能的集羣文件系統,支持分佈式鎖管理,成熟的LVM2卷管理系統,而且與Red Hat Enterprise Linux緊密集成的系統。GFS 6.1與GFS 6.0相比尤其在性能上得到很大提升,包括快速的磁盤掃描、避免Kernel Panic,並且與Red Hat Cluster Suite緊密結合,而且其DLM的鎖管理技術已經被Linux Kernel社區接納。
GFS 6.1是一個成熟的、高可擴展的、高性能的集羣文件系統,支持分佈式鎖管理,成熟的LVM2卷管理系統,而且與Red Hat Enterprise Linux緊密集成的系統。GFS 6.1與GFS 6.0相比尤其在性能上得到很大提升,包括快速的磁盤掃描、避免Kernel Panic,並且與Red Hat Cluster Suite緊密結合,而且其DLM的鎖管理技術已經被Linux Kernel社區接納。
Red Hat GFS 6.0 | Red Hat GFS 6.1 | |
Red Hat Enterprise Linux 3 support | Yes | No |
Red Hat Enterprise Linux 4 support | No | Yes |
LVM2 support | No | Yes |
Pool support | Yes | No |
Improved fsck | No | Yes |
DLM support | No | Yes |
GULM support | Yes | Yes |
Cluster Suite infrastructure | No | Yes |
Mount point withdraw | No (panic instead) | Yes |
Red Hat GFS和Red Hat Cluster Suite的比較
Red Hat Cluster Suite和Red Hat GFS最大的區別在於它們的數據訪問功能。Cluster Suite在同一時間只能有一臺服務器訪問共享磁盤上的一個磁盤分區。GFS卻可以在同一時間內多臺服務器同時訪問共享磁盤上的同一個磁盤分區,甚至同一個文件。
Cluster Suite通過失敗切換功能提供了HA功能,GFS不僅提供了HA功能,還同時允許多臺服務器同時訪問同一個磁盤分區和文件。GFS同時包含了Cluster Suite功能在內,這樣可以爲那些不支持併發訪問功能的應用軟件提供HA功能。
Red Hat GFS和Red Hat Cluster Suite運行在Red Hat 企業Linux AS或ES上,支持Intel X86/Itanium2/EM64T和AMD AMD64平臺。
下面的圖說明了這兩個產品數據訪問方式。Red Hat Cluster Suite提供了簡單的、低成本的高可用方案,Red Hat GFS提供了更加靈活的、更強大的數據訪問功能。