GFS2文件系统是64位对称集群文件系统,它提供了共享命名空间并管理共享公共块设备的多个节点之间的一致性。GFS2文件系统旨在提供尽量接近本地文件系统的功能集,同时在节点之间实现彻底集群一致性。node
在少数状况下,linux文件系统API不容许GFS2的集群特性彻底透明,由于在集群环境中,进程ID可能用于集群中的不一样节点。可是在大多数状况下,GFS2文件系统的功能与本地文件系统的功能相同。linux
内核模块gfs2.ko实现了GFS2文件系统的内核接口,RHEL弹性存储插件提供了GFS2文件系统支持而且依赖RHEL高可用插件提供的集群管理功能。为了使GFS2发挥最佳性能,GFS2依赖于页面缓存,以经过本地缓存经常使用数据来提升性能。为了保持集群中节点之间的一致性,glock状态机提供了缓存控制。缓存
建议挂载GFS2文件系统使用noatime和nodiratime参数选项。这能让GFS2对每次访问更新磁盘节点使用更少的时间。性能
每一个文件节点和目录节点由三种时间参数:插件
若是GFS2文件系统默认像其余linux文件系统同样启用atime更新,那么当每次文件被读取时,节点都会被更新。因为不多有应用使用到atime参数,这些更新会消耗不必的资源并下降性能,所以最好关闭这个选项。日志
如同全部linux文件系统,GFS2处于VFS层。你可使用sysctl命令调整VFS层参数来改进GFS2的性能,好比参数dirty_background_ratio和参数vfs_cache_pressure。能够经过编辑/etc/sysctl.conf配置文件来永久性保存改变code
可使用mkfs.gfs2命令在LVM卷上建立GFS2文件系统接口
mkfs.gfs2 -p lock_dlm -t ClusterName:FSName -j NumberJournals BlockDevice
-p参数指定lock协议,-t参数为集群的名字,-j参数为journal日志的数量
建立了GFS2文件系统以后不能缩小文件系统大小只能使用gfs2_grow增长大小进程