Привет, у меня кластер PVE из 4 узлов с развернутым CephFS, и последние пару месяцев я сталкиваюсь с ситуациями, когда MDS умирают из-за нехватки памяти (OOM kills), а иногда MDS переключаются на другие узлы и зависают в статусе clientreplay, после чего мне приходится перезапускать MDS, чтобы получить доступ к CephFS со всех клиентов. Я проверял запланированные задания и syslog Ceph, но не могу понять, какое задание может использовать всю доступную память на узле, поэтому не знаю, где искать решение этих проблем.
Кластер состоит из 4 узлов, 2 с 96 ГБ ОЗУ и 2 с 192 ГБ ОЗУ, все с 24 ядрами Intel® Xeon® CPU X5675 @ 3.07GHz (2 сокета). PVE все еще на 7.3.3, а версия Ceph 17.2.5.
Есть 2 пула Ceph: FAST с дисками NVMe (2 диска / OSD 2 ТБ на узел) и SLOW с HDD-дисками (2 диска / OSD 2 ТБ на узел). Только на пуле FAST работает 1 CephFS с 2 активными MDS и еще 2 MDS в режиме ожидания. Такая конфигурация была сделана после некоторых проблем с одним MDS, чтобы критические службы, развернутые на CephFS, продолжали работать в случае сбоя MDS без автоматического восстановления.
Эти ошибки возникают в основном по выходным, начиная с пятницы вечером и до понедельника утром (сейчас отключены резервные копии в PBS по выходным).
Код: -- Журнал начинается с Пт 28.10.2022 12:19:59 CEST, заканчивается в Пн 28.04.2025 08:51:01 CEST. --
25.04 00:00:00 zpveo1 ceph-mds[782250]: 2025-04-25T00:00:00.080+0200 7f8d3c47c700 -1 получил сигнал: Hangup от killall -q -1 ceph-mon ceph-mgr ceph-mds ceph-osd ceph-fuse radosgw rbd-mirror cephfs-mirror (PID: 3615629) UID: 0
25.04 00:00:00 zpveo1 ceph-mds[782250]: 2025-04-25T00:00:00.104+0200 7f8d3c47c700 -1 получил сигнал: Hangup от (PID: 3615630) UID: 0
25.04 23:55:34 zpveo1 systemd[1]: ceph-mds@zpveo1.service: Процесс этой единицы был завершен OOM killer.
25.04 23:55:38 zpveo1 systemd[1]: ceph-mds@zpveo1.service: Основной процесс завершился, код=killed, статус=9/KILL
25.04 23:55:38 zpveo1 systemd[1]: ceph-mds@zpveo1.service: Неудалось с результатом 'oom-kill'.
25.04 23:55:38 zpveo1 systemd[1]: ceph-mds@zpveo1.service: Использовано 1d 1h 11min 37.806s времени работы ЦП.
25.04 23:55:38 zpveo1 systemd[1]: ceph-mds@zpveo1.service: Запланирована перезапуск задания, счетчик перезапусков равен 7.
25.04 23:55:38 zpveo1 systemd[1]: Остановил демон метаданных Ceph.
25.04 23:55:38 zpveo1 systemd[1]: ceph-mds@zpveo1.service: Использовано 1d 1h 11min 37.806s времени работы ЦП.
25.04 23:55:39 zpveo1 systemd[1]: Запущен демон метаданных Ceph.
25.04 23:55:39 zpveo1 ceph-mds[794009]: starting mds.zpveo1 at
26.04 00:00:00 zpveo1 ceph-mds[794009]: 2025-04-26T00:00:00.091+0200 7f8bc83c9700 -1 получил сигнал: Hangup от killall -q -1 ceph-mon ceph-mgr ceph-mds ceph-osd ceph-fuse radosgw rbd-mirror cephfs-mirror (PID: 798340) UID: 0
26.04 00:00:00 zpveo1 ceph-mds[794009]: 2025-04-26T00:00:00.127+0200 7f8bc83c9700 -1 получил сигнал: Hangup от (PID: 798341) UID: 0
27.04 00:00:00 zpveo1 ceph-mds[794009]: 2025-04-27T00:00:00.097+0200 7f8bc83c9700 -1 получил сигнал: Hangup от killall -q -1 ceph-mon ceph-mgr ceph-mds ceph-osd ceph-fuse radosgw rbd-mirror cephfs-mirror (PID: 2171840) UID: 0
27.04 00:00:00 zpveo1 ceph-mds[794009]: 2025-04-27T00:00:00.121+0200 7f8bc83c9700 -1 получил сигнал: Hangup от (PID: 2171841) UID: 0
28.04 00:00:00 zpveo1 ceph-mds[794009]: 2025-04-28T00:00:00.074+0200 7f8bc83c9700 -1 получил сигнал: Hangup от killall -q -1 ceph-mon ceph-mgr ceph-mds ceph-osd ceph-fuse radosgw rbd-mirror cephfs-mirror (PID: 3543923) UID: 0
28.04 00:00:00 zpveo1 ceph-mds[794009]: 2025-04-28T00:00:00.127+0200 7f8bc83c9700 -1 получил сигнал: Hangup от (PID: 2171841) UID: 0
В каждом пике памяти происходит событие OOM kill на узле, и большую часть ОЗУ использует MDS.
Я пытался ограничить использование памяти, но безуспешно.
Некоторые скриншоты прикреплены:
[Изображение]
[Изображение]
[Изображение]
[Изображение]
[Изображение]
Я проверил документацию по Ceph, но не нашел никаких подсказок о корневой причине. В документации есть ссылки на возможную утечку памяти в Ceph, но нет информации о том, как ее проверить. Есть какие-нибудь идеи?
Заранее спасибо!
Кластер состоит из 4 узлов, 2 с 96 ГБ ОЗУ и 2 с 192 ГБ ОЗУ, все с 24 ядрами Intel® Xeon® CPU X5675 @ 3.07GHz (2 сокета). PVE все еще на 7.3.3, а версия Ceph 17.2.5.
Есть 2 пула Ceph: FAST с дисками NVMe (2 диска / OSD 2 ТБ на узел) и SLOW с HDD-дисками (2 диска / OSD 2 ТБ на узел). Только на пуле FAST работает 1 CephFS с 2 активными MDS и еще 2 MDS в режиме ожидания. Такая конфигурация была сделана после некоторых проблем с одним MDS, чтобы критические службы, развернутые на CephFS, продолжали работать в случае сбоя MDS без автоматического восстановления.
Эти ошибки возникают в основном по выходным, начиная с пятницы вечером и до понедельника утром (сейчас отключены резервные копии в PBS по выходным).
Код: -- Журнал начинается с Пт 28.10.2022 12:19:59 CEST, заканчивается в Пн 28.04.2025 08:51:01 CEST. --
25.04 00:00:00 zpveo1 ceph-mds[782250]: 2025-04-25T00:00:00.080+0200 7f8d3c47c700 -1 получил сигнал: Hangup от killall -q -1 ceph-mon ceph-mgr ceph-mds ceph-osd ceph-fuse radosgw rbd-mirror cephfs-mirror (PID: 3615629) UID: 0
25.04 00:00:00 zpveo1 ceph-mds[782250]: 2025-04-25T00:00:00.104+0200 7f8d3c47c700 -1 получил сигнал: Hangup от (PID: 3615630) UID: 0
25.04 23:55:34 zpveo1 systemd[1]: ceph-mds@zpveo1.service: Процесс этой единицы был завершен OOM killer.
25.04 23:55:38 zpveo1 systemd[1]: ceph-mds@zpveo1.service: Основной процесс завершился, код=killed, статус=9/KILL
25.04 23:55:38 zpveo1 systemd[1]: ceph-mds@zpveo1.service: Неудалось с результатом 'oom-kill'.
25.04 23:55:38 zpveo1 systemd[1]: ceph-mds@zpveo1.service: Использовано 1d 1h 11min 37.806s времени работы ЦП.
25.04 23:55:38 zpveo1 systemd[1]: ceph-mds@zpveo1.service: Запланирована перезапуск задания, счетчик перезапусков равен 7.
25.04 23:55:38 zpveo1 systemd[1]: Остановил демон метаданных Ceph.
25.04 23:55:38 zpveo1 systemd[1]: ceph-mds@zpveo1.service: Использовано 1d 1h 11min 37.806s времени работы ЦП.
25.04 23:55:39 zpveo1 systemd[1]: Запущен демон метаданных Ceph.
25.04 23:55:39 zpveo1 ceph-mds[794009]: starting mds.zpveo1 at
26.04 00:00:00 zpveo1 ceph-mds[794009]: 2025-04-26T00:00:00.091+0200 7f8bc83c9700 -1 получил сигнал: Hangup от killall -q -1 ceph-mon ceph-mgr ceph-mds ceph-osd ceph-fuse radosgw rbd-mirror cephfs-mirror (PID: 798340) UID: 0
26.04 00:00:00 zpveo1 ceph-mds[794009]: 2025-04-26T00:00:00.127+0200 7f8bc83c9700 -1 получил сигнал: Hangup от (PID: 798341) UID: 0
27.04 00:00:00 zpveo1 ceph-mds[794009]: 2025-04-27T00:00:00.097+0200 7f8bc83c9700 -1 получил сигнал: Hangup от killall -q -1 ceph-mon ceph-mgr ceph-mds ceph-osd ceph-fuse radosgw rbd-mirror cephfs-mirror (PID: 2171840) UID: 0
27.04 00:00:00 zpveo1 ceph-mds[794009]: 2025-04-27T00:00:00.121+0200 7f8bc83c9700 -1 получил сигнал: Hangup от (PID: 2171841) UID: 0
28.04 00:00:00 zpveo1 ceph-mds[794009]: 2025-04-28T00:00:00.074+0200 7f8bc83c9700 -1 получил сигнал: Hangup от killall -q -1 ceph-mon ceph-mgr ceph-mds ceph-osd ceph-fuse radosgw rbd-mirror cephfs-mirror (PID: 3543923) UID: 0
28.04 00:00:00 zpveo1 ceph-mds[794009]: 2025-04-28T00:00:00.127+0200 7f8bc83c9700 -1 получил сигнал: Hangup от (PID: 2171841) UID: 0
В каждом пике памяти происходит событие OOM kill на узле, и большую часть ОЗУ использует MDS.
Я пытался ограничить использование памяти, но безуспешно.
Некоторые скриншоты прикреплены:
[Изображение]
[Изображение]
[Изображение]
[Изображение]
[Изображение]
Я проверил документацию по Ceph, но не нашел никаких подсказок о корневой причине. В документации есть ссылки на возможную утечку памяти в Ceph, но нет информации о том, как ее проверить. Есть какие-нибудь идеи?
Заранее спасибо!

Похоже, дело не в количестве доступной оперативной памяти, сегодня MDS падает на узле с 192 ГБ ОЗУ, как видно ниже
Могу проверить логи, и там что-то сломалось в полночь:
Сегодня миграция MDS прошла гладко, без последствий, но когда это происходит в выходные, чаще всего MDS перезагружается и требует ручного перезапуска
Также нет проблем с использованием дискового пространства в пуле, как можно видеть ниже
Какие логи стоит проверить? Спасибо за помощь!
Последний раз памяти не хватало после перезагрузки. MDS на этом узле была развернута вручную, а не из-за oom kill.
Но MDS на узле3 всё ещё не работает. 
Все узлы показывают неизвестный статус до перезапуска и миграции MDS на другой узел
Это происходит почти на 3 узлах, а не только на затронутом узле zpveo2