管理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增长大小进程

相关文章
相关标签/搜索