Обратите внимание!

Статья содержит команды по изменению базы данных (БД) платформы. Перед выполнением этих действий рекомендуем создать резервную копию платформы.

Перед удалением узла кластера его нужно освободить от виртуальных машин (ВМ): удалить ВМ или перенести на другие узлы кластера. Если ВМ по какой-либо причине не могут быть удалены или перенесены, измените статус узла на "Повреждён". Для этого:

  1. Определите id недоступного узла кластера в разделе "Узлы".
  2. Подключитесь к серверу с VMmanager по SSH.
  3. Зайдите в БД платформы:

    docker exec -it mysql bash -c "mysql isp -p\$MYSQL_ROOT_PASSWORD"
    CODE
  4. Проверьте содержится ли в базе данных информация о резервных копиях ВМ и сетевых интерфейсах удаляемого узла:

    select id,name,backup_location from vm_disk_backup where node=<node_ID>;
    CODE
    select id,name from vm_node_bridge where node=<node_ID>;
    CODE
    select id,name from vm_node_bond where node=<node_ID>;
    CODE
    select id,name from vm_node_interfaces where node=<node_ID>;
    CODE

    Пример запроса с результатами:

    mysql> select id,name,backup_location from vm_disk_backup where node=1;
    +-----+------------------------+-----------------+
    | id  | name                   | backup_location |
    +-----+------------------------+-----------------+
    |  42 | vm_102_20211224T000000 |               1 |
    |  77 | vm_102_20211231T000000 |               1 |
    | 111 | vm_102_20220107T000000 |               1 |
    +-----+------------------------+-----------------+
    3 rows in set (0.00 sec)
    CODE
  5. Если информация о резервных копиях или сетевых интерфейсах есть в базе данных, удалите её с помощью соответствующего запроса: 

    delete from vm_disk_backup where node=<node_ID>;
    CODE
    delete from vm_node_bridge where node=<node_ID>;
    CODE
    delete from vm_node_bond where node=<node_ID>;
    CODE
    delete from vm_node_interfaces where node=<node_ID>;
    CODE

    Обратите внимание!

    Если данные не удалить, то при удалении узла в платформе появится ошибка #1111 Handler throw uncaught exception: vm/node/{node_id} constraint.

  6. Измените статус узла: 

    update vm_node set state="crashed" where id=<node_ID>;
    CODE
  7. В интерфейсе платформы обновите страницу раздела "Узлы" и удалите проблемный узел: меню   Удалить → введите название узла → Удалить .

    Обратите внимание!

    ВМ проблемного узла будут удалены из базы данных платформы.