第 1 章 规划 GFS2 文件系统部署
Red Hat Global File System 2 (GFS2) 是一个 64 位对称集群文件系统,它提供了一个共享名称空间,并管理共享一个常见块设备的多个节点间的一致性。GFS2 文件系统旨在提供尽量与本地文件系统类似的功能,同时在节点间强制实施完整集群一致性。为达到此目的,节点在文件系统资源中使用集群范围的锁定方案。这个锁定方案使用 TCP/IP 等通讯协议来交换锁定信息。
在某些情况下,Linux 文件系统 API 不允许具有集群特性的 GFS2 完全透明。例如,在 GFS2 中使用 POSIX 锁定的程序应该避免使用 GETLK
功能,因为在集群的环境中,该进程 ID 可能用于集群中的不同节点。然而,多数情况下 GFS2 文件系统的功能和本地文件系统的功能是一样的。
Red Hat Enterprise Linux (RHEL) Resilient Storage Add-On提供 GFS2,它依赖于 RHEL High Availability 附加组件来提供 GFS2 所需的集群管理功能。
gfs2.ko
内核模块实现 GFS2 文件系统,并加载在 GFS2 集群节点上。
要获得最佳 GFS2 性能,请务必考虑基础设计中给出的性能注意事项。和本地文件系统一样,GFS2 依赖于页面缓存以便通过本地缓存来提高经常使用数据的性能。为了在集群中的节点间保持一致性,缓存控制由 glock 状态机器提供。
请确定您部署的 Red Hat High Availability Add-On红 满足您的需要并可支持。部署前请咨询权威红帽代表确认您的配置。
1.1. GFS2 文件系统格式版本 1802
从 Red Hat Enterprise Linux 9 开始,使用格式 1802 创建 GFS2 文件系统。
格式版本 1802 启用以下功能:
-
trusted
命名空间的扩展属性 ("trusted.* xattrs") 可被gfs2
和gfs2-utils
识别。 -
rgrplvb
选项默认为活动状态。这允许allowgfs2
将更新的资源组数据附加到 DLM 锁定请求,因此获取锁定的节点不需要从磁盘更新资源组信息。这在某些情况下提高了性能。
使用新格式版本创建的文件系统将无法安装在较早的 RHEL 版本下,并且较旧版本的 fsck.gfs2
实用程序将无法检查它们。
用户可以运行带有 -o format=1801
选项的 mkfs.gfs2
命令,创建采用较旧版本的文件系统。
用户可以在卸载的文件系统中通过运行 tunegfs2 -r 1802 device
来升级旧文件系统的格式版本。不支持降级格式版本。