3.2. 挂载 GFS2 文件系统

在您挂载 GFS2 文件系统前,该文件系统必须存在,文件系统所在的卷必须被激活,且必须启动支持的集群和锁定系统。满足这些要求后,您可以将 GFS2 文件系统挂载到任意 Linux 文件系统中。

注意

您应该在生产环境中使用 Pacemaker 管理 GFS2 文件系统,而不是使用 mount 命令手动挂载文件系统,因为这可能会导致系统关闭时出现问题。

要操作文件 ACL,您必须使用 -o acl 挂载选项挂载文件系统。如果在不使用 -o acl 挂载选项的情况下挂载文件系统,则用户可以查看 ACL(使用 getfacl),但不允许设置它们(使用 setfacl)。

3.2.1. 在没有指定选项的情况下挂载 GFS2 文件系统

在这个示例中,/dev/vg01/lvol0 上的 GFS2 文件系统被挂载到 /mygfs2 目录。

# mount /dev/vg01/lvol0 /mygfs2

3.2.2. 挂载指定挂载选项的 GFS2 文件系统

以下是挂载指定挂载选项的 GFS2 文件系统的命令格式。

mount BlockDevice MountPoint -o option
BlockDevice
指定 GFS2 文件系统所在的块设备。
MountPoint
指定要挂载 GFS2 文件系统的目录。

-o option 参数包括 GFS2 特定选项或可接受的标准 Linux mount -o 选项,或者两者的组合。多个 option 参数用逗号分开,没有空格。

注意

mount 命令是一个 Linux system 命令。除了使用这些特定于 GFS2 的选项外,您还可以使用其它标准的 mount 命令选项(例如 -r)。有关其他 Linux mount 命令选项的详情,请查看 Linux mount man page。

下表描述了挂载时可传递给 GFS2 的可用的针对 GFS2 的 -o option 值。

注意

这个表格包含了只用于本地文件系统选项的描述。但请注意,红帽不支持将 GFS2 作为单节点文件系统使用。红帽将继续支持单节点 GFS2 文件系统来挂载集群文件系统的快照(例如用于备份目的)。

表 3.2. GFS2 特定挂载选项

选项描述

acl

允许控制文件 ACL。如果在没有使用 acl 挂载选项的情况下挂载文件系统,则用户可以查看 ACL(使用 getfacl),但不允许设置它们(使用 setfacl)。

data=[ordered|writeback]

当设置了 data=ordered 时,被交易修改的用户数据会在交易被提交到磁盘前被写入磁盘。这样可让用户在崩溃后的文件中看到未初始化的块。当设置了 data=writeback 模式时,用户数据会在变“脏”后的任何时间写入磁盘;它不能提供和 ordered 模式一样的一致性保证,但对某些工作负载应该速度稍快。默认值为 ordered 模式。

ignore_local_fs

注意:当共享 GFS2 文件系统时,不应该使用这个选项。

强制 GFS2 将文件系统视为多主机文件系统。默认情况下,使用 lock_nolock 会自动打开 localflocks 标记。

localflocks

注意:当共享 GFS2 文件系统时,不应该使用这个选项。

告诉 GFS2 让 VFS(虚拟文件系统)层完成所有 flock 和 fcntl 操作。localflocks 标志由 lock_nolock 自动打开。

lockproto=LockModuleName

允许用户指定文件系统要使用的锁定协议。如果没有指定 LockModuleName,则从文件系统超级块中读取锁定协议名称。

locktable=LockTableName

允许用户指定文件系统要使用的锁定表。

quota=[off/account/on]

为文件系统打开或者关闭配额。将配额设定为 account 状态可让文件系统正确维护每个 UID/GID 使用量统计,忽略限制和警告值。默认值为 off

errors=panic|withdraw

当指定 error=panic 时,文件系统错误会导致内核 panic。当指定 error=withdraw 时(这是默认行为),文件系统错误会导致系统从文件系统中撤回,并使其无法访问直到下一次重启为止 ; 在某些情况下,系统可能会继续运行。

discard/nodiscard

导致 GFS2 为释放的块生成 "discard" I/O 请求。它们可供合适的硬件用来实施精简配置和类似方案。

barrier/nobarrier

导致 GFS2 在清除日志时发送 I/O 屏蔽。默认值为 on。如果基础设备不支持 I/O 屏蔽,则会自动关闭这个选项。强烈推荐在 GFS2 中使用 I/O 障碍,除非需要使用块设备。这可以避免丢失写缓存的内容(例如,如果它连接了 UPS,或者没有写入缓存)。

quota_quantum=sec

在将更改的配额信息写入配额文件前将其保存在某个节点的秒数。这是设置此参数的首选方法。该数值是一个大于零的整数。默认为 60 秒。设定为较短的间隔会让配额信息更快地更新,且降低了用户超过其配额的情况出现。较长的间隔可让文件系统操作更迅速有效地包括配额。

statfs_quantum=secs

设置 statfs 较慢版本的首选是将 statfs_quantum 设置为 0 是。默认值为 30 secs,它设置 statfs 更改将同步到主 statfs 文件前的最大时间段。可将该值调整为更迅速、不准确的 statfs 值或者更慢的准确值。当此选项设置为 0 时,statfs 始终会报告 true 值。

statfs_percent=value

在同步回主 statfs 文件之前,在 statfs 信息中提供有关本地基础的最大百分比更改的绑定,即使时间段尚未过期。如果 statfs_quantum 设置为 0,则忽略此设置。

3.2.3. 卸载 GFS2 文件系统

在系统关闭时卸载文件系统时,系统将无法了解手动挂载而不是通过 Pacemaker 自动挂载的 GFS2 文件系统。因此,GFS2 资源代理将不会卸载 GFS2 文件系统。关闭 GFS2 资源代理后,标准关闭进程会杀死所有剩余的用户进程,包括集群基础结构,并尝试卸载该文件系统。没有集群基础结构则卸载将失败,同时该系统会挂起。

要防止卸载 GFS2 文件系统时系统停滞,您应该进行以下操作之一:

  • 总是使用 Pacemaker 管理 GFS2 文件系统。
  • 如果使用 mount 命令手动挂载了 GFS2 文件系统,请确定在重启或关闭系统前,使用 umount 命令手动卸载该文件系统。

如果在这些情况下关闭系统的过程中卸载文件系统时停滞,请执行硬件重启。这不太会出现丢失任何数据的情况,因为文件系统在关闭进程早期是同步的。

可使用 umount 命令卸载 GFS2 文件系统。

注意

umount 命令是一个 Linux 系统命令。有关此命令的信息,请参阅 Linux umount 命令 man page。

使用

umount MountPoint
MountPoint
指定当前挂载 GFS2 文件系统的目录。