🛠️ Как восстановить виртуальные машины с помощью Virt-rescue — Information Security Squad
🛠️ Как восстановить виртуальные машины с помощью Virt-rescue

В этом кратком руководстве описывается, как реанимировать виртуальные машины с помощью утилиты командной строки Virt-rescue на Linux.

Virt-rescue похож на rescue CD, но только для виртуальных машин.

Он предоставляет простую оболочку восстановления и некоторые инструменты восстановления для проверки и устранения проблем в виртуальной машине или образах дисков.

Обратите внимание, что Virt-rescue отличается от guestfish.

Guestfish — интерактивная оболочка для редактирования и внесения изменений в виртуальные машины и образы дисков.

Напротив, Virt-rescue подходит для спасения виртуальной машины, которая не запустилась.

Если виртуальная машина не загружается, вы можете просто запустить rescue оболочку (восстановления) на виртуальной машине или образе диска с помощью virt-rescue и попытаться исправить ее с помощью стандартных команд Linux.

Вы можете использовать virt-rescue на любом файле образа диска или устройстве, а не только на виртуальной машине.

Например, его можно использовать на USB-накопителях, SD-картах и ​​жестких дисках.

Он не требует прав root, если вам не нужен root, чтобы открыть образ диска.

Virt-rescue является частью libguestfs, который предоставляет множество утилит командной строки для доступа и изменения образов дисков виртуальных машин.

Восстановление виртуальных машин с помощью Virt-rescue

Убедитесь, что виртуальные машины выключены.

Вы не должны запускать оболочку восстановления на каких-либо действующих виртуальных машинах или образах дисков.

Чтобы запустить эту оболочку на проблемной виртуальной машине, выполните:

$ virt-rescue -d centos8-uefi -i

Замените centos8-uefi на имя вашей виртуальной машины.

Вы можете найти список доступных виртуальных машин с помощью команды «virsh list —all».

Вы также можете запустить оболочку непосредственно на любом образе (-ах) диска, как показано ниже:

$ virt-rescue -a CentOS_8_Server.img -i

Где флаг -i (—inspector) используется для автоматического монтирования файловых систем виртуальных машин.

Если вы его не используете, вам придется вручную смонтировать файловые системы виртуальной машины в пустой каталог с именем /sysroot.

Теперь вы попадете в интерактивную оболочку bash, где вы можете использовать множество обычных команд Linux для спасения виртуальных машин.

[...]
Welcome to virt-rescue, the libguestfs rescue shell.

Note: The contents of / (root) are the rescue appliance.
Use 'cd /sysroot' or 'chroot /sysroot' to see guest filesystems.

groups: cannot find name for group ID 0
><rescue> 
The virt-rescue escape key is ‘^]’.  Type ‘^] h’ for help.

В оболочке аварийного восстановления вы можете начать использовать обычные команды Linux для исправления виртуальной машины.

Как указано выше, файловые системы гостевой машины смонтированы в каталоге /sysroot.

Вы можете проверить это с помощью команды «ls»:

><rescue> ls /sysroot/
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr
Чтобы выполнить chroot в каталог /sysroot:
><rescue> chroot /sysroot
Чтобы выйти из аварийной оболочки, введите exit и нажмите Enter или нажмите Ctrl + d.

Запуск виртуальных машин в режиме только на чтение

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

Но если вы по-прежнему хотели это сделать по какой-либо причине, используйте параметр —ro, чтобы безопасно использовать «virt-rescue» на лайв образе диска или виртуальной машине.

$ virt-rescue -d centos8-uefi -i --ro

или

$ virt-rescue -a CentOS_8_Server.img -i --ro
Параметр —ro запускает виртуальную машину или образ диска в режиме только на чтение.
Он идеально подходит для экспериментов с виртуальными машинами или образами дисков.
Фактически никакие изменения не будут сохранены.
После выхода из оболочки все изменения будут потеряны!

Как включить сетевой доступ для виртуальных машин

Если вы хотите загрузить файл или пакет на виртуальную машину, вы можете использовать параметр —network при запуске команды virt-rescue:

$ virt-rescue -d centos8-uefi -i --network

или

$ virt-rescue -a CentOS_8_Server.img -i --network

Эта опция обеспечивает доступ к сети внутри оболочки аварийного восстановления, поэтому вы можете загружать файлы из Интернета.

У Virt-rescue есть много возможностей.

Для получения дополнительных сведений см. Справочные страницы:

$ man virt-rescue

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *