全局文件系统 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
创建文件系统