...
После выполнения этих шагов, для восстановления прежней работы кластера, необходимо восстановить поврежденный хост или настроить новый с идентичными настройками потерянного хоста (установлен гипервизор, СГУ, сетевые параметры и т.д.).
После этого необходимо НА ЛИДЕРЕ сделать копию БД СГУ и перенести ее на нужный узел:
Блок кода |
---|
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> - адрес хоста, который будет добавлен в кластер СГУ |
...
Блок кода |
---|
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. После этого СГУ хоста будет доступно и позволит управлять системой.
...
Блок кода |
---|
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>:/var/roottmp/ |
<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-го хоста восстановления |
...
На ЛИДЕРЕ:
Блок кода |
---|
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>:/var/roottmp/ |
<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 |
На ЛИДЕРЕ:
...