File Index
Files and directories
Sign in
FILE

gfs2-uevents.rst

File preview with syntax highlighting.

linux-6.19.14/Documentation/translations/zh_CN/filesystems/gfs2-uevents.rst RESTRUCTUREDTEXT
 1.. SPDX-License-Identifier: GPL-2.0
 2
 3.. include:: ../disclaimer-zh_CN.rst
 4
 5:Original: Documentation/filesystems/gfs2-uevents.rst
 6
 7:翻译:
 8
 9   邵明寅 Shao Mingyin <shao.mingyin@zte.com.cn>
10
11:校译:
12
13   杨涛 yang tao <yang.tao172@zte.com.cn>
14
15===============
16uevents 与 GFS2
17===============
18
19在 GFS2 文件系统的挂载生命周期内,会生成多个 uevent。
20本文档解释了这些事件的含义及其用途(被 gfs2-utils 中的 gfs_controld 使用)。
21
22GFS2 uevents 列表
23=================
24
251. ADD
26------
27
28ADD 事件发生在挂载时。它始终是新建文件系统生成的第一个 uevent。如果挂载成
29功,随后会生成 ONLINE uevent。如果挂载失败,则随后会生成 REMOVE uevent。
30
31ADD uevent 包含两个环境变量:SPECTATOR=[0|1] 和 RDONLY=[0|1],分别用
32于指定文件系统的观察者状态(一种未分配日志的只读挂载)和只读状态(已分配日志)。
33
342. ONLINE
35---------
36
37ONLINE uevent 在成功挂载或重新挂载后生成。它具有与 ADD uevent 相同的环
38境变量。ONLINE uevent 及其用于标识观察者和 RDONLY 状态的两个环境变量是较
39新版本内核引入的功能(2.6.32-rc+ 及以上),旧版本内核不会生成此事件。
40
413. CHANGE
42---------
43
44CHANGE uevent 在两种场景下使用。一是报告第一个节点成功挂载文件系统时
45(FIRSTMOUNT=Done)。这作为信号告知 gfs_controld,此时集群中其他节点可以
46安全挂载该文件系统。
47
48另一个 CHANGE uevent 用于通知文件系统某个日志的日志恢复已完成。它包含两个
49环境变量:JID= 指定刚恢复的日志 ID,RECOVERY=[Done|Failed] 表示操作成
50功与否。这些 uevent 会在每次日志恢复时生成,无论是在初始挂载过程中,还是
51gfs_controld 通过 /sys/fs/gfs2/<fsname>/lock_module/recovery 文件
52请求特定日志恢复的结果。
53
54由于早期版本的 gfs_controld 使用 CHANGE uevent 时未检查环境变量以确定状
55态,若为其添加新功能,存在用户工具版本过旧导致集群故障的风险。因此,在新增用
56于标识成功挂载或重新挂载的 uevent 时,选择了使用 ONLINE uevent。
57
584. OFFLINE
59----------
60
61OFFLINE uevent 仅在文件系统发生错误时生成,是 "withdraw" 机制的一部分。
62当前该事件未提供具体错误信息,此问题有待修复。
63
645. REMOVE
65---------
66
67REMOVE uevent 在挂载失败结束或卸载文件系统时生成。所有 REMOVE uevent
68之前都至少存在同一文件系统的 ADD uevent。与其他 uevent 不同,它由内核的
69kobject 子系统自动生成。
70
71
72所有 GFS2 uevents 的通用信息(uevent 环境变量)
73===============================================
74
751. LOCKTABLE=
76--------------
77
78LOCKTABLE 是一个字符串,其值来源于挂载命令行(locktable=)或 fstab 文件。
79它用作文件系统标签,并为 lock_dlm 类型的挂载提供加入集群所需的信息。
80
812. LOCKPROTO=
82-------------
83
84LOCKPROTO 是一个字符串,其值取决于挂载命令行或 fstab 中的设置。其值将是
85lock_nolock 或 lock_dlm。未来可能支持其他锁管理器。
86
873. JOURNALID=
88-------------
89
90如果文件系统正在使用日志(观察者挂载不分配日志),则所有 GFS2 uevent 中都
91会包含此变量,其值为数字形式的日志 ID。
92
934. UUID=
94--------
95
96在较新版本的 gfs2-utils 中,mkfs.gfs2 会向文件系统超级块写入 UUID。若存
97在 UUID,所有与该文件系统相关的 uevent 中均会包含此信息。
~/ Read-only file preview.