GFS не работает, не может запустить lock_gulmd, говорит, что состояние = Истекло

Что-то сломалось, и я потерял связь с хранилищем на первом сервере. Второй сервер имел доступ к этой ФС. Я попытался перезапустить GFS с помощью службы lock_gulmd, gfs, pool, ccsd stop/start (в разных порядках), но безуспешно. На главном сервере (третий) "gulm_tool nodelist localhost"

говорит

Name: srv1
  state = Expired
  mode = Slave
  missed beats = 0
  last beat = 0
  delay avg = 0
  max delay = 0

Я обнаружил, что его нужно огородить? Автоматически или вручную? Кто-нибудь может помочь? На данный момент никто из хостов ничего не пишет в ФС, так что никакого вреда я не причиню, я полагаю. Второй хост также истек в данный момент и не может запустить lock_gulmd.

2 ответа

Решение

Если он еще не был автоматически огражден, я бы предположил, что ваш механизм ограждения работает не совсем точно.

Я полагаю, что можно сделать, это перезагрузить узлы с истекшим сроком действия (либо по одному, либо оба одновременно) и сообщить, что ограждение кластера прошло успешно с помощью инструмента fence_ack_manual. Разве это не отображается в ваших журналах?

Запуск этого инструмента (на узле, который запросил его запуск, а не на узле, который необходимо перезагрузить) позволит восстановить файловую систему GFS и неисправный узел. Восстановление в основном состоит из того, что узел снова является подходящим элементом кластера, а журнал файловой системы GFS воспроизводится при необходимости, iirc.

Честно говоря, лучший способ решить подобные проблемы GFS, особенно если вы все равно заблокированы в файловой системе, - это просто выключить все машины и затем снова запустить кластер. Это был самый надежный и, как правило, самый быстрый способ решения этих проблем, когда я создавал множество файловых систем GFS.

Другие вопросы по тегам