...
После выполнения этих шагов, для восстановления прежней работы кластера, необходимо восстановить поврежденный хост или настроить новый с идентичными настройками потерянного хоста (установлен гипервизор, СГУ, сетевые параметры и т.д.).
После этого необходимо НА ЛИДЕРЕ сделать копию БД СГУ и перенести ее на нужный узел:
Блок кода |
---|
docker exec -t hcs onezone show 0 docker exec -t hcs onedb backup -u oneadmin -p horizon -d opennebula /var/tmp/dump.sql docker cp hcs:/dump.sql ./ scp scp /var/tmp/dump.sql root@<IP>:/var/roottmp/ |
<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 /var/tmp/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 |
...
Блок кода |
---|
ihcs onezone show 0 |
Ситуация 3 – Потеря 2-х и более хостов отказоустойчивого кластера СГУ
При потере всех хостов кластера отказоустойчивого СГУ, кроме 1 необходимо выполнить следующие действия:
Проверить какой из хостов находится в рабочем состоянии
Блок кода |
---|
ihcs onezone show 0 |
Подключится терминалу его гипервизора и отредактировать в файле /var/lib/docker/volumes/hvol/_data/etc/one/oned.conf cтрокe 47 изменив запись SERVER_ID = <id>, на запись SERVER_ID = -1
Далее необходимо перезапустить контейнер с СГУ и проверить статус кластера, хост должен перейти в режим solo. После этого СГУ хоста будет доступно и позволит управлять системой.
Предупреждение |
---|
ВАЖНО! Данные действия являются последней возможность подключиться к системе управления и выполнить действия, необходимы для спасения и восстановления системы, в случае наступления такой ситуации рекомендуется все действия производить через техническую поддержку, так как Вы рискуете потерять данные в системе. |
Блок кода |
---|
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 /var/tmp/dump.sql docker cp hcs:/dump.sql ./ scp scp /var/tmp/dump.sql root@<ip_1>:/rootvar/tmp/ |
<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 /var/tmp/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 хосте восстановления:
Блок кода |
---|
edsed -i 's/.* SERVER_ID\s=./ SERVER_ID = .*/ 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 |
На ЛИДЕРЕ:
Блок кода |
---|
ockerdocker exec -t hcs onezone server-del 0 2 docker exec -t hcs rm /var/tmp/dump.sql docker exec -t hcs onedb backup -u oneadmin -p horizon -d opennebula /var/tmp/dump.sql docker cp hcs:/dump.sql ./ scp scp /var/tmp/dump.sql root@<ip_2>:/rootvar/tmp/ |
<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 /var/tmp/dump.sql docker kill hcs |
На ЛИДЕРЕ:
...
<ip_2> - адрес 2-го хоста восстановления
На 2 хосте восстановления:
Блок кода |
---|
sed -i 's/.* SERVER_ID\s=./ SERVER_ID = .*/ SERVER_ID = 2,/' /var/lib/docker/volumes/hvol/_data/etc/one/oned.confconfconf docker restart hcs docker exec -t hcs onezone server-add 0 --name server-3 --rpc http://<ip_2>:2633/RPC2 |
...