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

Ключ

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

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

Блок кода
ihcs onezone show 0

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

Блок кода
ihcs onezone server-del 0 <host_id>

...


ihcs onezone show 0
Предупреждение

        ВАЖНО!

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

Image Modified
        После выполнения этих шагов, для восстановления прежней работы кластера, необходимо восстановить поврежденный хост или настроить новый с идентичными настройками потерянного хоста (установлен гипервизор, СГУ, сетевые параметры и т.д.).
        После этого необходимо НА ЛИДЕРЕ:

Блок кода
 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
        Подключится терминалу его гипервизора и отредактировать в файле /var/lib/docker/volumes/hvol/_data/etc/one/oned.conf cтрокe 47 изменив запись SERVER_ID = <id>, на запись SERVER_ID = -1
        Далее необходимо перезапустить контейнер с СГУ и проверить статус кластера, хост должен перейти в режим solo. После этого СГУ хоста будет доступно и позволит управлять системой.
Image Modified

Предупреждение

        ВАЖНО! 

        Данные действия являются последней возможность подключиться к системе управления и выполнить действия, необходимы для спасения и восстановления системы, в случае наступления такой ситуации рекомендуется все действия производить через техническую поддержку, так как Вы рискуете потерять данные в системе.
        Для восстановления кластера, необходимо еще 2 хоста, с идентичными настройками потерянных (гмпервизор, СГУ, сеть, хранилища и т.д). Необходимо удалить узлы (согласно пункту 3.

...

4.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