分布式文件系統之GPFS


    GPFS是IBM公司通過完善和發展其Tiger Shark文件系統發展而來。GPFS通過共享磁盤結構來實現其強大的擴展性。一個GPFS系統由許多集群節點組成,GPFS文件系統和應用程序在上面運行。這些節點通過交互網絡架構(Switch Fabric)網絡連接磁盤。所有節點對所有磁盤擁有相同的訪問權。文件被分割存儲在文件系統中所有的磁盤上。這種條帶化的存儲不僅能夠保證各個磁盤負載均衡,還能夠使系統獲得最高的吞吐量。

    GPFS文件系統架構圖如下:

   

        將文件系統節點和共享磁盤連接起來的交互網絡架構(Switch Fabric)可能包含SAN網絡,例如FC和iSCSI。另外,個人本地磁盤也可以掛載到一些I/O節點,文件系統節點通過一個運行在通信網絡上的軟件層來對這些磁盤進行訪問,例如IBM的VSD(virtual share disk),其運行在SP網絡上,就是這樣的一個軟件層。

       來自多個節點的對磁盤進行的讀和寫需要進行同步,否則用戶數據和元數據將會崩潰。GPFS采用分布式鎖機制來同步對磁盤的訪問。為了實現系統的高吞吐量,大文件需要進行分塊,GPFS沒有依賴額外邏輯卷管理層(logical volume manager (LVM) layer)來實現分塊,而是自己實現了分塊機制。通過實現分塊機制,GPFS獲得了對容錯和負載均衡的控制。(一些LVM也有類似的功能,但是他們不可能獲得網絡的拓撲)。

    GPFS采用256KB(也可以是16KB-1MB)的大數據塊作為磁盤塊大小。當某個單線程的應用程序需要讀一個文件時,GPFS采用prefetch機制預先將文件讀到本地IO,后端采用並行IO的方式,最大限度的發揮帶寬和磁盤的優勢將文件提取到本地。同樣,不再需要的臟數據緩存也采用並行IO的方式寫到磁盤。GPFS能夠識別順序,反序等讀寫模式,對於不常見的讀寫模式,GPFS提供接口傳遞prefetch命令給文件系統。

    GPFS也是一種日志文件系統,為不同節點建立各自獨立的日志。日志中記錄MetaData的分布,一旦節點發生故障,可以保證快速恢復數據GPFS 通過一套復雜的信令管理機制提供數據一致性,通過這套機制允許任意節點通過各自獨立的路徑到達同一個文件。即使節點無法正常工作, GPFS 也可以找到其它的路徑。GPFS在數據保護方面采用數據復制的方式進行,GPFS實現了一個較為簡單的軟件RAID模式,支持數據塊級別的文件復制。


參考:

1.http://www.it165.net/admin/html/201307/1485.html

2.GPFS: A Shared-Disk File System for Large Computing Clusters

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM