База знаний VMmanager

Как удалить недоступное хранилище

Если хранилище содержит резервные копии или указано в настройках расписания, удаление хранилища через интерфейс платформы невозможно.

В этом случае вы можете удалить хранилище через базу данных (БД).

Важно

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

Инструкции по внесению изменений в БД следует выполнять только после резервного копирования платформы. 

Инструкция по удалению хранилища через БД

  1. Выполните резервное копирование платформы. Подробнее см. в статье Резервное копирование документации VMmanager 6.
    1. Подключитесь к серверу с VMmanager по SSH и введите команду: 

      vm backup
    2.  Введите пароль для архива резервной копии или нажмите Enter, чтобы создать архив без пароля. Копия будет сохранена в директории /opt/ispsystem/vm/backup/.
  2. Подключитесь к СУБД:

    В связи с поэтапным переходом платформы на использование СУБД PostgreSQL, разные экземпляры VMmanager могут использовать разные СУБД:

    • VMmanager Hosting — MySQL;
    • VMmanager Infrastructure:
      • для новых установок на ОС Astra Linux, начиная с версии VMmanager 2023.06.1 — PostgreSQL;
      • в остальных случаях — MySQL.

    Чтобы определить тип СУБД, выполните на сервере с платформой команду: 

    docker ps --filter name=pgsql
    Пример ответа
    CONTAINER ID   IMAGE         COMMAND                  CREATED      STATUS      PORTS      NAMES
    3213c5dc94d0   postgres:12   "docker-entrypoint.s…"   5 days ago   Up 4 days   5432/tcp   pgsql

    Если вывод команды содержит информацию о контейнере, платформа использует PostgreSQL, если ответ пустой — MySQL.

     
    MySQL
    docker exec -it mysql bash -c "mysql isp -p\$MYSQL_ROOT_PASSWORD"
    PostgreSQL
    docker exec -it pgsql bash -c "psql -d isp"
  3. Запросите список хранилищ:

    SELECT id, name, state, connection_params FROM vm_backup_location;

    Пример вывода:

    *************************** 1. row ***************************
                   id: 3
                 name: ssh_example
                state: active
    connection_params: {"ip": "10.0.0.0", "path": "/backup", "port": 22, "login": "root"}
    Пояснения
  4. Удалите записи о резервных копиях, находящихся в недоступном хранилище:

    DELETE FROM vm_disk_backup WHERE backup_location = <ID хранилища>;
    Пояснения
  5. Удалите хранилище:

    DELETE FROM vm_backup_location WHERE id = <ID хранилища>;
    Пояснения