GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo rescatar máquinas virtuales con Virt-rescue

Esta breve guía describe qué es Virt-rescue , cómo rescatar máquinas virtuales con la utilidad de línea de comando Virt-rescue en sistemas operativos Linux.

¿Qué es Virt-rescate?

Rescate virtual es como un CD de rescate, pero solo para máquinas virtuales. Proporciona un shell de rescate simple y algunas herramientas de recuperación para inspeccionar y corregir problemas en una máquina virtual o imágenes de disco.

Tenga en cuenta que Virt-rescue es diferente de guestfish. Guestfish es un shell interactivo para editar y realizar cambios en máquinas virtuales e imágenes de disco.

Por el contrario, Virt-rescue es particularmente adecuado para rescatar una máquina virtual que no pudo iniciarse. Si una VM no arranca, simplemente puede iniciar un shell de rescate en la VM o en la imagen del disco usando virt-rescue e intentar solucionarlo usando los comandos estándar de Linux.

Puede usar virt-rescue en cualquier dispositivo o archivo de imagen de disco, no solo en una máquina virtual. Por ejemplo, se puede utilizar en unidades USB, tarjetas SD y discos duros. No requiere permiso de root a menos que necesite root para abrir la imagen del disco.

Virt-rescue es parte de libguestfs que proporciona una gran cantidad de utilidades de línea de comandos para acceder y modificar imágenes de disco de máquinas virtuales.

Rescate de máquinas virtuales con Virt-rescue

Asegúrese de que las máquinas virtuales estén apagadas. No debe ejecutar shell de rescate en ningún en vivo máquinas virtuales o imágenes de disco.

Para ejecutar un shell de rescate en la máquina virtual problemática, haga lo siguiente:

$ virt-rescue -d centos8-uefi -i

Reemplace "centos8-uefi" con el nombre de su máquina virtual. Puede encontrar la lista de máquinas virtuales disponibles usando "virsh list --all" comando.

También puede ejecutar un shell de rescate directamente en cualquier imagen de disco como a continuación:

$ virt-rescue -a CentOS_8_Server.img -i

Aquí, -i (--inspector ) se utiliza para montar automáticamente los sistemas de archivos de las máquinas virtuales. Si no lo usa, deberá montar manualmente los sistemas de archivos de la máquina virtual en un directorio vacío llamado /sysroot .

Ahora aterrizará en un shell de bash interactivo donde puede usar muchos comandos comunes de Linux para rescatar las máquinas virtuales.

[...]
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.

Desde el shell de rescate, puede comenzar a usar los comandos tradicionales de Linux para reparar la máquina virtual.

Como se indicó anteriormente, los sistemas de archivos de la máquina invitada se montan en /sysroot directorio.

Puedes verificarlo con "ls" comando:

><rescue> ls /sysroot/
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

Para hacer chroot en /sysroot directorio primero:

><rescue> chroot /sysroot

Para salir del shell de rescate, escriba exit y presiona enter o presiona Ctrl+d .

Ejecutar máquinas virtuales en modo de solo lectura

Como se indicó anteriormente, no debe ejecutar el shell de rescate en ninguna máquina virtual en vivo. Pero si aún desea hacerlo por algún motivo, use --ro opción para usar "virt-rescue" de forma segura en una imagen de disco en vivo o VM.

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

O,

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

El --ro La opción iniciará la VM o la imagen de disco en modo de solo lectura. Es ideal para experimentar máquinas virtuales o imágenes de disco. En realidad, no se guardarán los cambios. Una vez que salga del shell, ¡todos los cambios se perderán!

Habilitar el acceso a la red para máquinas virtuales

Si desea descargar un archivo o paquete en la máquina virtual, puede usar --network opción mientras se ejecuta el comando virt-rescue:

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

O,

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

Esta opción permite el acceso a la red dentro del shell de rescate, para que pueda descargar cosas de Internet.

Virt-rescue tiene muchas opciones. Para obtener más detalles, consulte las páginas man:

$ man virt-rescue

Imagen destacada de Miguel Á. Padriñán de Pexels .


Linux
  1. Cómo instalar Ubuntu en Windows con Hyper-V

  2. Cómo eliminar máquinas virtuales basadas en KVM en Redhat Linux

  3. Cómo clonar máquinas virtuales basadas en KVM en Redhat Linux

  4. Cómo crear máquinas virtuales (VM) en el entorno oVirt 4.0

  5. Máquinas virtuales semanales, con scripts de compilación

Cómo crear máquinas virtuales Proxmox desde el panel de interfaz de usuario web de Proxmox VE

Cómo exportar e importar máquinas virtuales VirtualBox

Cómo administrar máquinas virtuales en KVM usando Virt-Manager

Cómo instalar Apache con host virtual en CentOS 8

Cómo crear y administrar máquinas virtuales en KVM

Cómo configurar la configuración de host virtual de Apache (con ejemplos)