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.