Назад | Перейти на главную страницу

Файловая система OCFS2 не монтируется

У меня есть кластер OCFS2, работающий поверх установки двойного первичного DRBD в Ubuntu 16.04. Вчера я запустил этот кластер в производство, и, похоже, какое-то время он работал нормально. Но сегодня кластер, похоже, умер. Я больше не могу монтировать файловую систему ocfs2 после перезагрузки узла. Когда я бегу:

mount.ocfs2 /dev/drbd0 /mnt/drbd

Он просто сидит и ждет, но не поднимается. OCFS2 работает нормально, глядя на dmesg -H вывод:

[+12.308685] ocfs2: Зарегистрированный интерфейс кластера o2cb
[+0.012233] Пользовательский интерфейс ядра DLM OCFS2 загружен
[24 февраля, 14:34] o2net: подключен к узлу edmure (num 0) на 192.168.2.11:7777
[+4.092023] o2dlm: Присоединение к домену CCEFD26343174950A6BEF9A2F83B6735 (0 1) 2 узла

Он правильно подключается к другому узлу в локальной сети и присоединяется к домену. Ресурс 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

Однако, если я запускаю команду монтирования, она просто зависает. Каждые две минуты я получаю это сообщение в dmesg вывод:

[+23.059786] ИНФОРМАЦИЯ: задача 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 7fffffffffffffff
[+0.000002] Отслеживание звонков:
[+0.000010] [] расписание + 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

Кто-нибудь знает, как я могу исправить или отладить эту проблему?