管理GFS2文件系統

GFS2文件系統介紹

GFS2文件系統是64位對稱集羣文件系統,它提供了共享命名空間並管理共享公共塊設備的多個節點之間的一致性。GFS2文件系統旨在提供儘量接近本地文件系統的功能集,同時在節點之間實現徹底集羣一致性。node

在少數狀況下,linux文件系統API不容許GFS2的集羣特性徹底透明,由於在集羣環境中,進程ID可能用於集羣中的不一樣節點。可是在大多數狀況下,GFS2文件系統的功能與本地文件系統的功能相同。linux

內核模塊gfs2.ko實現了GFS2文件系統的內核接口,RHEL彈性存儲插件提供了GFS2文件系統支持而且依賴RHEL高可用插件提供的集羣管理功能。爲了使GFS2發揮最佳性能,GFS2依賴於頁面緩存,以經過本地緩存經常使用數據來提升性能。爲了保持集羣中節點之間的一致性,glock狀態機提供了緩存控制。緩存

GFS2關鍵參數

  • GFS2nodes 決定了集羣中哪一個node用來掛載GFS2文件系統
  • Number of file systems 決定有多少GFS2文件系統會在開始時建立
  • File system name 爲每一個文件系統建立一個獨一無二的名字
  • journals 決定GFS2文件系統的日誌數量,GFS2要求集羣中每一個掛載文件系統的節點至少要有一個日誌
  • Storage devices and partitions 決定用文件系統中哪一個存儲設備和分區建立邏輯卷
  • time protocol 確保GFS2中節點間時鐘同步

GFS2使用建議

建議掛載GFS2文件系統使用noatime和nodiratime參數選項。這能讓GFS2對每次訪問更新磁盤節點使用更少的時間。性能

每一個文件節點和目錄節點由三種時間參數:插件

  • ctime:節點狀態最後更新時間
  • mtime:節點數據最後修改時間
  • atime:節點數據最後訪問時間

若是GFS2文件系統默認像其餘linux文件系統同樣啓用atime更新,那麼當每次文件被讀取時,節點都會被更新。因爲不多有應用使用到atime參數,這些更新會消耗不必的資源並下降性能,所以最好關閉這個選項。日誌

兩種方式減小atime更新影響:

  • 使用relatime(relative atime)掛載選項,只有在以前的atime早於mtime或ctime時才更新
  • 使用noatime掛載選項,禁用atime

如同全部linux文件系統,GFS2處於VFS層。你可使用sysctl命令調整VFS層參數來改進GFS2的性能,好比參數dirty_background_ratio和參數vfs_cache_pressure。能夠經過編輯/etc/sysctl.conf配置文件來永久性保存改變code

建立GFS2文件系統

可使用mkfs.gfs2命令在LVM捲上建立GFS2文件系統接口

mkfs.gfs2 -p lock_dlm -t  ClusterName:FSName -j NumberJournals BlockDevice

-p參數指定lock協議,-t參數爲集羣的名字,-j參數爲journal日誌的數量
建立了GFS2文件系統以後不能縮小文件系統大小隻能使用gfs2_grow增長大小進程

相關文章
相關標籤/搜索