![OCFS2 文件系统未挂载](https://linux22.com/image/699549/OCFS2%20%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E6%9C%AA%E6%8C%82%E8%BD%BD.png)
我在 Ubuntu 16.04 上的双主 DRBD 设置上运行了一个 OCFS2 集群。昨天,我将此集群投入生产,它似乎运行良好了一段时间。但今天,集群似乎已经死机了。重启节点后,我无法再挂载 ocfs2 文件系统。当我运行:
mount.ocfs2 /dev/drbd0 /mnt/drbd
它只是坐在那里等待,但并没有挂载。OCFS2 似乎运行良好,查看输出dmesg -H
:
[ +12.308685] ocfs2:已注册集群接口 o2cb
[ +0.012233] OCFS2 用户 DLM 内核接口已加载
[2 月 24 日 14:34] o2net:已连接到 192.168.2.11:7777 处的节点 edmure(编号 0)
[ +4.092023] o2dlm:加入域 CCEFD26343174950A6BEF9A2F83B6735(0 1)2 个节点
它正确连接到 LAN 上的另一个节点并加入域。DRBD 资源也正常运行:
% cat /proc/drbd
version: 8.4.5 (api:1/proto:86-101)
srcversion: 2A6B2FA4F0703B49CA9C727
0: cs:Connected ro:Primary/Primary ds:UpToDate/UpToDate C r-----
ns:403 nr:4529 dw:4932 dr:1006 al:1 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
但是,如果我运行 mount 命令,它就会挂起。每隔两分钟,我就会在输出中收到此消息dmesg
:
[ +23.059786] INFO:任务 mount.ocfs2:1788 被阻止超过 120 秒。
[ +0.000932] 未污染 4.4.0-64-generic #85-Ubuntu
[ +0.000681] “echo 0 > /proc/sys/kernel/hung_task_timeout_secs”禁用此消息。
[ +0.000697] mount.ocfs2 D ffff880035ccba08 0 1788 1787 0x00000000
[ +0.000005] ffff880035ccba08 ffff8800a9b02000 ffff88013abf0000 ffff8800a9996600
[ +0.000002] ffff880035ccc000 ffff880035ccbbb0 ffff880035ccbba8 ffff8800a9996600
[ +0.000002] 0000000000000000 ffff880035ccba20 ffffffff818384d5 7ffffffffffffffff
[ +0.000002] 调用跟踪:
[ +0.000010] [] schedule+0x35/0x80
[ +0.000002] [] schedule_timeout+0x1b5/0x270
[ +0.000003] [] wait_for_completion+0xb3/0x140
[ +0.000004] [] ? wake_up_q+0x70/0x70
[ +0.000042] [] __ocfs2_cluster_lock.isra.34+0x415/0x750 [ocfs2]
[ +0.000011] [] ? ocfs2_add_lockres_tracking+0x59/0xb0 [ocfs2]
[ +0.000011] [] ocfs2_super_lock+0xa5/0x250 [ocfs2]
[ +0.000014] [] ocfs2_fill_super+0xbda/0x1280 [ocfs2]
[ +0.000004] [] mount_bdev+0x26d/0x2c0
[ +0.000013] [] ? perf_trace_ocfs2_initialize_super+0x210/0x210 [ocfs2]
[ +0.000003] [] ? alloc_pages_current+0x8c/0x110
[ +0.000011] [] ocfs2_mount+0x15/0x20 [ocfs2]
[ +0.000002] [] mount_fs+0x38/0x160
[ +0.000002] [] vfs_kern_mount+0x67/0x110
[ +0.000003] [] do_mount+0x25f/0xda0
[ +0.000002] [] SyS_mount+0x9f/0x100
[ +0.000002] [] entry_SYSCALL_64_fastpath+0x16/0x71
该进程处于D
(不可中断)状态,所以我无法对其进行任何操作,它只是保持这种状态。我真的不知道该怎么做。除了 dmesg,我没有在系统上找到任何有用的日志。在挂载进程上运行 strace 也没有显示任何内容,它似乎只是在等待,但不知道它在等待什么。
我的集群配置如下:
cluster:
node_count = 2
name = media-ocfs2
node:
ip_port = 7777
ip_address = 192.168.2.11
number = 0
name = edmure
cluster = media-ocfs2
node:
ip_port = 7777
ip_address = 192.168.2.12
number = 1
name = brynden
cluster = media-ocfs2
有人知道如何修复或进一步调试这个问题吗?