Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Ситуация 1 – Потеря хоста кластера
В случае потери хоста без СГУ (т.е. состоящего кластере, но не участвующего в управлении системой), при условии, что включен кластер ВД для ВМ (пункт 3.10 настоящей инструкции) СГУ организует перезапуск ВМ на более свободных хостах кластера. В данной ситуации если ресурсов (ЦПУ или RAM) для ВМ будет недостаточно, она изменит свое состояние на НЕИЗВЕСТНО. В этом случае необходимо добавить или высвободить ресурсы в кластере. Если хост потерян безвозвратно, его следует удалить из СГУ (пункт 3.2.4 настоящей инструкции), это необходимо для того, чтобы мониторинг системы не засорял лог файлы. Чтобы добавить прежний хост после решения проблемы, или новый взамен прежнего необходимо проверить сетевые настройки и настройки хранилищ (должны совпадать с остальными хостами кластера), после этого используя пункт 3.2.3 настоящей инструкции добавить хост в кластер.

Ситуация 2 – Потеря хоста отказоустойчивого кластера СГУ
В случае потери 1 из хостов отказоустойчивого кластера, его статус измениться на «error». Для проверки необходимо использовать ihcs onezone show 0

Image Modified

Рисунок 385


Так как потеря одного хоста сильно не влияет на работу системы, механизм отказоустойчивости отработает корректно, и лидер смениться, однако в данном случае кластер работает в аварийном режиме, и потеря еще одного хоста приведет к состоянию «катастрофа», чтобы привести его в должный вид и избавить от излишнего логирования мониторинга системы, необходимо удалить узел (согласно пункту 3.2.4 настоящей

...

инструкции), а затем в терминале лидера удалить хост и проверить выполнение операции
ihcs onezone server-del 0 <host_id>
ihcs onezone show 0

...

Информация
titleВажно!
Данные действия проводятся только для хоста со статусом error. В противном случае вы рискуете повредить HA кластер СГУ.

Image Modified

Рисунок 386


После выполнения этих шагов, для восстановления прежней работы кластера, необходимо восстановить поврежденный хост или настроить новый с идентичными настройками потерянного хоста (установлен гипервизор, СГУ, сетевые параметры и т.д.).

После этого

...

необходимо НА ЛИДЕРЕ:
docker exec -t hcs onezone show 0
docker exec -t hcs onedb backup -u oneadmin -p horizon -d opennebula dump.sql
docker cp hcs:/dump.sql ./
scp dump.sql root@<IP>:/root/
<IP> - адрес хоста, который будет добавлен в кластер СГУ

На хосте, добавляемом в кластер:
docker cp dump.sql hcs:/
docker exec -t hcs su -s "/bin/sh" -c "one -f stop" oneadmin
docker exec -t hcs su -s "/bin/sh" -c "sunstone-server stop" oneadmin
docker exec -t hcs onedb restore -f -u oneadmin -p horizon -d opennebula dump.sql
docker kill hcs

На ЛИДЕРЕ:
docker exec -t hcs onezone server-add 0 --name server-2 --rpc http://<IP>:2633/RPC2
scp /var/lib/docker/volumes/hvol/_data/auth/.one/* root@<IP>:/var/lib/docker/volumes/hvol/_data/auth/.one/
scp /var/lib/docker/volumes/hvol/_data/etc/one/oned.conf root@<IP>:/var/lib/docker/volumes/hvol/_data/etc/one/
<IP> - адрес хоста, который будет добавлен в кластер СГУ

На ХОСТЕ:
sed -i 's/.*SERVER_ID\s=./ SERVER_ID = <ID>,/' /var/lib/docker/volumes/hvol/_data/etc/one/oned.conf
docker restart hcs
<ID> - номер сервера в кластере, в данном примере так как есть server-0 и server-1 необходимо указать 2
На лидере проверить ihcs onezone show 0

Ситуация 3 – Потеря 2-х и более хостов отказоустойчивого кластера СГУ
При потере всех хостов кластера отказоустойчивого СГУ, кроме 1 необходимо выполнить следующие действия:
Проверить какой из хостов находится в рабочем состоянии
ihcs onezone show 0

Image Modified

Рисунок 387


Подключится терминалу его гипервизора и отредактировать в файле /var/lib/docker/volumes/hvol/_data/etc/one/oned.conf cтрокe 47 изменив запись SERVER_ID = <id>, на запись SERVER_ID = -1

Далее необходимо перезапустить контейнер с СГУ и проверить статус кластера, хост должен перейти в

...

режим solo. После этого СГУ хоста будет доступно и позволит управлять системой.

Image Modified

...

Рисунок 388


Информация
titleВажно!
Данные действия являются последней возможность подключиться к системе управления и выполнить действия, необходимы для спасения и восстановления системы, в случае наступления такой ситуации рекомендуется все действия производить через техническую поддержку, так как Вы рискуете потерять данные в системе.

Для восстановления кластера, необходимо еще 2 хоста, с идентичными настройками потерянных (гмпервизор, СГУ, сеть, хранилища и т.д). Необходимо удалить узлы (согласно пункту 3.2.4 настоящей инструкции), а затем в терминале оставшегося хоста удалить хосты в состоянии error и проверить выполнение операции:
sed -i 's/.*SERVER_ID\s=./ SERVER_ID = 0,/' /var/lib/docker/volumes/hvol/_data/etc/one/oned.conf
docker restart hcs
ihcs onezone server-del 0 <host_id>
ihcs onezone show 0

После этого, на хосте, который

...

стал лидером:
docker exec -t hcs onedb backup -u oneadmin -p horizon -d opennebula dump.sql
docker cp hcs:/dump.sql ./
scp dump.sql root@<ip_1>:/root/
<ip_1> - адрес 1-го хоста восстановления

...

На 1 хосте восстановления:
docker cp dump.sql hcs:/
docker exec -t hcs su -s "/bin/sh" -c "one -f stop" oneadmin
docker exec -t hcs su -s "/bin/sh" -c "sunstone-server stop" oneadmin
docker exec -t hcs onedb restore -f -u oneadmin -p horizon -d opennebula dump.sql
docker kill hcs

...

На ЛИДЕРЕ:
docker exec -t hcs onezone server-add 0 --name server-2 --rpc http://<ip_1>:2633/RPC2
scp /var/lib/docker/volumes/hvol/_data/auth/.one/ root@<ip_1>:/var/lib/docker/volumes/hvol/_data/auth/.one/*
scp /var/lib/docker/volumes/hvol/_data/etc/one/oned.conf root@<ip_1>:/var/lib/docker/volumes/hvol/_data/etc/one/
<ip_1> - адрес 1-го хоста восстановления

...

На 1 хосте восстановления:
ed -i 's/.*SERVER_ID\s=./    SERVER_ID     = 1,/' /var/lib/docker/volumes/hvol/_data/etc/one/oned.conf
docker restart hcs
docker exec -t hcs onezone show 0
docker exec -t hcs onezone server-add 0 --name server-2 --rpc [http://<ip_1>:2633/RPC2

...

На ЛИДЕРЕ:
ocker exec -t hcs onezone server-del 0 2
docker exec -t hcs rm /dump.sql
docker exec -t hcs onedb backup -u oneadmin -p horizon -d opennebula dump.sql
docker cp hcs:/dump.sql ./
scp dump.sql root@<ip_2>:/root/
<ip_2> - адрес 2-го хоста восстановления

...

На 2 хосте восстановления:
docker cp dump.sql hcs:/
docker exec -t hcs su -s "/bin/sh" -c "one -f stop"  oneadmin
docker exec -t hcs su -s "/bin/sh" -c "sunstone-server stop"  oneadmin
docker exec -t hcs onedb restore -f -u oneadmin -p horizon -d opennebula dump.sql
docker kill hcs

...

На ЛИДЕРЕ:
docker exec -t hcs onezone server-add 0 --name server-3 --rpc http://<ip_2>:2633/RPC2
scp /var/lib/docker/volumes/hvol/_data/auth/.one/ root@<ip_2>:/var/lib/docker/volumes/hvol/_data/auth/.one/*
scp /var/lib/docker/volumes/hvol/_data/etc/one/oned.conf root@<ip_2>:/var/lib/docker/volumes/hvol/_data/etc/one/
<ip_2> - адрес 2-го хоста восстановления

...

На 2 хосте восстановления:
sed -i 's/.*SERVER_ID\s=./    SERVER_ID     = 2,/' /var/lib/docker/volumes/hvol/_data/etc/one/oned.conf
docker restart hcs
docker exec -t hcs onezone server-add 0 --name server-3 --rpc http://<ip_2>:2633/RPC2
<ip_2> - адрес 2-го хоста восстановления

...

На ЛИДЕРЕ:
docker exec -t hcs onezone server-del 0 3