全局文件系统 2

GFS2 是一个集群文件系统。它允许计算机集群同时使用在它们之间共享的块设备(使用 FC、iSCSI、NBD 等)。GFS2 像本地文件系统一样读取和写入块设备,但也使用锁模块来允许计算机协调它们的 I/O,从而保持文件系统的一致性。GFS2 的一个出色特性是完美的一致性——在一台机器上对文件系统所做的更改会立即显示在集群中的所有其他机器上。

GFS2 使用可互换的节点间锁定机制,当前支持的机制有:

lock_nolock
  • 允许 GFS2 作为本地文件系统使用

lock_dlm
  • 使用分布式锁管理器 (dlm) 进行节点间锁定。dlm 位于 linux/fs/dlm/

lock_dlm 依赖于在上述 URL 找到的用户空间集群管理系统。

要将 GFS2 用作本地文件系统,不需要外部集群系统,只需

$ mkfs -t gfs2 -p lock_nolock -j 1 /dev/block_device
$ mount -t gfs2 /dev/block_device /dir

所有集群节点都需要 gfs2-utils 包,对于 lock_dlm,还需要按照文档配置 dlm 和 corosync 用户空间实用程序。

gfs2-utils 可以在 https://pagure.io/gfs2-utils 找到

GFS2 与以前版本的 GFS 在磁盘上不兼容,但非常接近。

以下 man 手册页可从 gfs2-utils 获得

fsck.gfs2

修复文件系统

gfs2_grow

在线扩展文件系统

gfs2_jadd

在线向文件系统添加日志

tunegfs2

操作、检查和调整文件系统

gfs2_convert

将 gfs 文件系统就地转换为 GFS2

mkfs.gfs2

创建文件系统