VK Private Cloud logo
Помощь
Обновлена 21 августа 2026 г. в 11:12

Не загружается ВМ из-за проблем с файловой системой или загрузчиком

Подсистема
Cloud Servers
Компонент
Nova

На виртуальной машине произошел сбой файловой системы или загрузчика, из-за чего не получается загрузить операционную систему и восстановить доступ к виртуальной машине обычными средствами.

Для решения таких проблем в OpenStack предусмотрен механизм rescue: ВМ временно загружается с дополнительного ISO-образа, при этом ее исходный root-диск остается подключенным, но не используется для загрузки. Это похоже на восстановление операционной системы на физическом сервере через загрузку с внешнего носителя.

После загрузки ВМ в rescue-режиме можно подключиться к ее консоли, выполнить восстановительные работы, а затем вернуть ВМ в обычный режим работы, после чего она снова загрузится с исходного root-диска.

Решение

  1. Убедитесь, что ISO-образ для восстановления содержит драйверы VirtIO.

  2. Добавьте ISO-образ в проект:

    $ openstack image create --file <ФАЙЛ_ОБРАЗА>.iso --disk-format iso --container-format bare --min-ram 800 --property hw_rescue_device=cdrom <ИМЯ_ОБРАЗА>

    Здесь:

    • <ФАЙЛ_ОБРАЗА> — путь к загрузочному live-образу, например образу Ubuntu Server;
    • <ИМЯ_ОБРАЗА> — имя, под которым образ будет добавлен в проект.

    Пример команды:

    $ openstack image create --file ubuntu-20.04.4-live-server-amd64.iso --disk-format iso --container-format bare --min-ram 800 --property hw_rescue_device=cdrom ubuntu-20.04.4-live-server-private

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

    +------------------+---------------------------------------------------------------+| Field            | Value                                                         |+------------------+---------------------------------------------------------------+| container_format | bare                                                          || disk_format      | iso                                                           || id               | 81a6dd5a-ca84-4ab7-989d-8c36925584ef                          || min_ram          | 800                                                           || name             | ubuntu-20.04.4-live-server-private                            || properties       | hw_rescue_device='cdrom'                                      || status           | queued                                                        || visibility       | shared                                                        |+------------------+---------------------------------------------------------------+
  3. Загрузите ВМ в rescue-режиме с добавленного ISO-образа:

    $ openstack server rescue --image <ИМЯ_ИЛИ_ID_ОБРАЗА> <ИМЯ_ИЛИ_ID_ВМ>
  4. Убедитесь, что ВМ перешла в rescue-режим:

    $ openstack server show <ИМЯ_ИЛИ_ID_ВМ>

    В выводе команды параметр OS-EXT-STS:vm_state должен иметь значение rescued, а параметр status — значение RESCUE.

  5. Получите ссылку на консоль ВМ:

    $ openstack console url show <ИМЯ_ИЛИ_ID_ВМ>

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

    +----------+--------------+| Field    | Value        |+----------+--------------+| protocol | vnc          || type     | novnc        || url      | <URL>        |+----------+--------------+

    Также консоль ВМ доступна в личном кабинете.

  6. Перейдите по полученной ссылке или откройте консоль ВМ в личном кабинете и выполните восстановительные работы.

  7. Верните ВМ в обычный режим работы:

    $ openstack server unrescue <ИМЯ_ИЛИ_ID_ВМ>

    ВМ перезапустится и снова загрузится с исходного root-диска.

  8. Убедитесь, что ВМ вернулась в рабочее состояние:

    $ openstack server show <ИМЯ_ИЛИ_ID_ВМ>

    В выводе команды параметр status должен иметь значение ACTIVE. После этого можно подключиться к ВМ по SSH.

  9. Если загрузочный ISO-образ больше не нужен, удалите его:

    $ openstack image delete <ИМЯ_ИЛИ_ID_ОБРАЗА>
Была ли статья полезна?