Не удается восстановить неисправный узел кластера
Я создал кластер glusterfs (6.1) с 6 серверами (node01 - node06) в режиме Replicate (=6), но не могу восстановить неисправный сервер (node01, этот vm был сброшен / перестроен, но я хочу сохранить его имя хоста /ip) после этого учебное пособие ( https://support.rackspace.com/how-to/recover-from-a-failed-server-in-a-glusterfs-array/):
Я могу добавить node01 обратно в кластер, получив UUID с работающего сервера (состояние однорангового узла) и обновив файл "/var/lib/glusterd/glusterd.info" (node01).
Затем я обновил расширенные атрибуты (rust.glusterfs.volume-id) каталога node01 и перезапустил службу кластеров:
sudo setfattr -n trust.glusterfs.volume-id -v хэш / data / brick1 / vol
sudo systemctl перезапустить Glusterd
объем sudo
Объём sudo
- логи и выводы:
Состояние тома кластера sudo
Brick node01:/data/brick1/volr N/A N/A N N/A
Brick node02:/data/brick1/volr 49152 0 Y 5734
Brick node03:/data/brick1/volr 49152 0 Y 5733
Brick node04:/data/brick1/volr 49152 0 Y 5691
Brick node05:/data/brick1/volr 49152 0 Y 5721
Brick node06:/data/brick1/volr 49152 0 Y 5723
объем sudo
Launching heal operation to perform full self heal on volume volr has been successful
Use heal info commands to check status.
Объём sudo
Brick node01:/data/brick1/volr
Status: Transport endpoint is not connected
Number of entries: -
Brick node02:/data/brick1/volr
Status: Connected
Number of entries: 0
Brick node03:/data/brick1/volr
Status: Connected
Number of entries: 0
Brick node04:/data/brick1/volr
Status: Connected
Number of entries: 0
Brick node05:/data/brick1/volr
Status: Connected
Number of entries: 0
Brick node06:/data/brick1/volr
Status: Connected
Number of entries: 0
Любая помощь будет принята с благодарностью.
1 ответ
Я смог воспроизвести вашу проблему с точно такими же симптомами.
Вы правильно посмотрели переустановленный узел, node01
, но процедура замены кирпича не очень хорошо документирована.
В официальной документации есть несколько странных инструкций по замене неисправного кирпича на новый с другим именем. Это излишне сложно, и я думаю, что вы хотите использовать то же имя кирпича.
Вы не смогли запустить кирпич, потому что у заменяющего кирпича не было необходимых метаданных, хранящихся в node1:/data/brick1/volr/.glusterfs
,
Вот что я сделал, чтобы заменить кирпич:
При условии, что:
node01
это восстановленный сервер, который уже был запущен,- есть объем называется
vol
, а также - кирпич для замены
node01:/data/brick1/volr
Сделайте следующее:
На
node01
Выключите GlusterFS:sudo killall -9 glusterd glusterfsd glusterfs
Удалите кирпич, чтобы получить чистый лист:
sudo rm -rfv /data/brick1/volr
Создайте папку Brick снова:
sudo mkdir -pv /data/brick1/volr
Запустить снова
glusterd.service
:sudo systemctl restart glusterd.service
Сбросить кирпич:
sudo gluster volume reset-brick vol node01:/data/brick1/volr node01:/data/brick1/volr commit
Если процесс заживления еще не начался, запустите его:
sudo gluster volume heal vol full
Дополнительные ресурсы
- Переконфигурирование кирпича в томе из документации по продукту Red Hat Customer Portal
- (Paywall) Как заменить отказавший кирпич glusterfs на новый кирпич, имеющий то же имя, что и старый кирпич в том же узле glusterfs? на базе знаний портала клиентов Red Hat