GNU/Linux >> Tutoriels Linux >  >> Linux

Comment sauver des machines virtuelles avec Virt-rescue

Ce bref guide décrit ce qu'est Virt-rescue , comment sauver des machines virtuelles avec l'utilitaire de ligne de commande Virt-rescue dans les systèmes d'exploitation Linux.

Qu'est-ce que Virt-rescue ?

Virt-rescue est comme un CD de secours, mais pour les machines virtuelles uniquement. Il fournit un shell de secours simple et des outils de récupération pour inspecter et corriger les problèmes d'une machine virtuelle ou d'images de disque.

Veuillez noter que Virt-rescue est différent de guestfish. Guestfish est un shell interactif pour éditer et apporter des modifications aux machines virtuelles et aux images de disque.

En revanche, Virt-rescue est particulièrement adapté au sauvetage d'une machine virtuelle qui n'a pas démarré. Si une machine virtuelle ne démarre pas, vous pouvez simplement lancer un shell de secours sur la machine virtuelle ou l'image disque à l'aide de virt-rescue et essayer de résoudre le problème à l'aide des commandes Linux standard.

Vous pouvez utiliser virt-rescue sur n'importe quel fichier ou périphérique d'image disque, pas seulement sur une machine virtuelle. Par exemple, il peut être utilisé sur des clés USB, des cartes SD et des disques durs. Il ne nécessite pas d'autorisation root, sauf si vous avez besoin de root pour ouvrir l'image disque.

Virt-rescue fait partie de libguestfs qui fournit de nombreux utilitaires de ligne de commande pour accéder et modifier les images de disque de la machine virtuelle.

Sauvez des machines virtuelles avec Virt-rescue

Assurez-vous que les machines virtuelles sont désactivées. Vous ne devez pas exécuter le shell de secours sur n'importe quel live machines virtuelles ou images de disque.

Pour exécuter un shell de secours sur la machine virtuelle problématique, procédez comme suit :

$ virt-rescue -d centos8-uefi -i

Remplacez "centos8-uefi" avec le nom de votre machine virtuelle. Vous pouvez trouver la liste des VM disponibles en utilisant "virsh list --all" commande.

Vous pouvez également exécuter un shell de secours directement sur n'importe quelle image disque comme ci-dessous :

$ virt-rescue -a CentOS_8_Server.img -i

Ici, -i (--inspector ) est utilisé pour monter automatiquement les systèmes de fichiers des machines virtuelles. Si vous ne l'utilisez pas, vous devrez monter manuellement les systèmes de fichiers de la machine virtuelle dans un répertoire vide appelé /sysroot .

Vous allez maintenant atterrir dans un shell bash interactif où vous pouvez utiliser de nombreuses commandes Linux ordinaires pour sauver les machines virtuelles.

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

À partir du shell de secours, vous pouvez commencer à utiliser les commandes Linux traditionnelles pour réparer la machine virtuelle.

Comme indiqué ci-dessus, les systèmes de fichiers de la machine invitée sont montés dans /sysroot répertoire.

Vous pouvez le vérifier avec "ls" commande :

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

Pour chrooter dans le /sysroot répertoire en premier :

><rescue> chroot /sysroot

Pour quitter le shell de secours, tapez exit et appuyez sur Entrée ou appuyez sur Ctrl+d .

Lancer les VM en mode lecture seule

Comme indiqué précédemment, vous ne devez pas exécuter le shell de secours sur des machines virtuelles en direct. Mais si vous vouliez toujours le faire pour une raison quelconque, utilisez --ro possibilité d'utiliser "virt-rescue" en toute sécurité sur une image disque en direct ou une machine virtuelle.

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

Ou,

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

Le --ro L'option lancera la machine virtuelle ou l'image disque en mode lecture seule. Il est idéal pour expérimenter des machines virtuelles ou des images de disque. Aucune modification ne sera réellement enregistrée. Une fois que vous quittez le shell, toutes les modifications seront perdues !

Activer l'accès au réseau pour les VM

Si vous souhaitez télécharger un fichier ou un package dans la machine virtuelle, vous pouvez utiliser --network option lors de l'exécution de la commande virt-rescue :

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

Ou,

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

Cette option active l'accès au réseau à l'intérieur du shell de secours, vous pouvez donc télécharger des éléments depuis Internet.

Virt-rescue a de nombreuses options. Pour plus de détails, reportez-vous aux pages de manuel :

$ man virt-rescue

Image sélectionnée par Miguel Á. Padriñán de Pexels .


Linux
  1. Comment installer Ubuntu sur Windows avec Hyper-V

  2. Comment supprimer des machines virtuelles basées sur KVM sur Redhat Linux

  3. Comment cloner des machines virtuelles basées sur KVM sur Redhat Linux

  4. Comment créer des machines virtuelles (VM) dans l'environnement oVirt 4.0

  5. Machines virtuelles hebdomadaires, avec scripts de construction

Comment créer des machines virtuelles Proxmox à partir du tableau de bord de l'interface utilisateur Web Proxmox VE

Comment exporter et importer des machines virtuelles VirtualBox

Comment gérer les machines virtuelles dans KVM à l'aide de Virt-Manager

Comment installer Apache avec l'hôte virtuel sur CentOS 8

Comment créer et gérer des machines virtuelles dans KVM

Comment configurer la configuration de l'hôte virtuel Apache (avec exemples)