分散式檔案系統之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