VMmanager

Аварийное восстановление в кластере с сетевым хранилищем

При отказе одного из узлов кластера с подключённым сетевым хранилищем вы можете возобновить работу его виртуальных машин (ВМ) на другом узле с помощью функции аварийного восстановления.

Возможность аварийного восстановления не зависит от настроек отказоустойчивости в кластере.

Обратите внимание!
Используйте эту функцию, только если вы уверены, что работа узла кластера не восстановится самостоятельно. Например, если сервер физически вышел из строя. Возобновление работы узла во время или после аварийного восстановления может привести к повреждению ВМ.

Как восстановить все ВМ на узле

Чтобы выполнить перенос всех ВМ с отказавшего узла, перейдите в Узлы → выберите узел → Аварийное восстановление VMВосстановить. Все ВМ с этого узла будут перенесены на другие узлы кластера. Подробнее о логике выбора узлов см. Выбор узла кластера для ВМ.

Интерфейс аварийного восстановления

Обратите внимание!
После восстановления отказавшего узла очистите его жёсткие диски и заново подготовьте к подключению. Подробнее см. Требования к серверу для кластера. Подключение узла со старой конфигурацией может повредить работе ВМ.

Как восстановить отдельные ВМ

Вы можете перенести отдельные ВМ с отказавшего узла через API-запрос. Для этого:

  1. Если на сервере не установлена утилита curl, установите её: 
    dnf install curl || apt install curl
  2. Получите токен авторизации: 

    curl -k -X POST -H "accept: application/json" -H "Content-Type: application/json" 'https://domain.com/api/auth/v4/public/token' -d '{"email": "admin_email", "password": "admin_pass"}'
    Пояснения к команде

    В ответ придёт сообщение вида:

    Пример ответа в JSON
    {
      "confirmed": true,
      "expires_at": null,
      "id": "6",
      "token": "4-e9726dd9-61d9-2940-add3-914851d2cb8a"
    }

    Сохраните полученное значение параметра token — токен авторизации.

  3. Перенесите нужные ВМ, используя полученный id сессии:

    curl --insecure -X POST 'https://domain.com/vm/v3/host/<vm_id>/relocate' -H 'x-xsrf-token: <token>' -d '{"node": <node_id>}'
    Пояснения к команде


Связанные статьи