Accueil
» Comment faire
»
Configuration KVM de SLES 15 : Configurer les machines virtuelles sélectionnées pour qu’elles démarrent au démarrage du système.
Configuration KVM de SLES 15 : Configurer les machines virtuelles sélectionnées pour qu’elles démarrent au démarrage du système.
Pour qu'une machine virtuelle KVM SLES 15 démarre automatiquement après un redémarrage de l'hôte, installez les composants de gestion KVM et libvirt, configurez-la pour le démarrage automatique virsh autostart VM_NAMEet assurez-vous que le démon libvirt actif de l'hôte démarre au démarrage du système. Le démarrage automatique est un paramètre propre à chaque machine virtuelle ; l'installation de KVM ou le démarrage de libvirt seul ne garantissent pas le démarrage automatique de toutes les machines virtuelles.
Les commandes ci-dessous suivent le guide de virtualisation de SLES 15 SP7. Les versions antérieures peuvent différer ; consultez donc le guide correspondant et les unités systemd installées avant d’appliquer les commandes de service.
Avez-vous besoin d'un serveur KVM, d'outils KVM, ou des deux ?
Pour un hôte qui exécutera et gérera des machines virtuelles via libvirt, installez à la fois le serveur KVM et les outils KVM. SUSE définit le serveur KVM comme l'environnement QEMU/KVM minimal et les outils KVM comme la pile de gestion basée sur libvirt, qui inclut le virshflux de travail utilisé ici.
Avant l'installation, vérifiez que le processeur et le microprogramme de la machine prennent en charge la virtualisation matérielle. SUSE documente la compatibilité des processeurs et les logiciels requis dans son Guide de virtualisation SLES 15 SP7 . Si la validation signale un problème matériel ou de configuration, résolvez-le au niveau du microprogramme ou de la configuration de l'hôte avant de tenter de définir une machine virtuelle ; l'option de démarrage automatique ne peut pas compenser l'incompatibilité de l'hôte avec KVM.
Exécutez l'utilitaire de validation de l'hôte avant de créer des invités ; le terminal affiche la commande, et non un résultat de test.
Comment installer la pile hôte KVM SLES 15 ?
Cette option Zypper installe le serveur KVM et les modèles de gestion libvirt documentés.
Sur un serveur où YaST est déjà installé, ouvrez YaST et sélectionnez Virtualisation > Installer l'hyperviseur et les outils . Si le module de virtualisation YaST est manquant, SUSE indique qu'il est fourni par le yast2-vmpaquet.
Sélectionnez le serveur KVM et les outils KVM , puis acceptez les modifications apportées aux paquets. YaST peut vous proposer de configurer un pont réseau. Choisissez cette option uniquement si elle est compatible avec l'architecture réseau de l'hôte. Toute modification du réseau d'un hôte en production peut interrompre l'accès distant ; il est donc important de planifier et de programmer les modifications de pont avant de les appliquer.
Une fois l'installation terminée, créez ou importez une machine virtuelle et assurez-vous qu'elle est définie comme un domaine libvirt persistant. Le guide SUSE indique que la configuration KVM via YaST ne nécessite pas de redémarrage de l'hôte.
Sinon, la documentation SUSE explique comment installer les modèles avec Zypper : sudo zypper install -t pattern kvm_server kvm_toolschoisissez une méthode d’installation et vérifiez les détails de la transaction avant de la confirmer. Si l’hôte est installé de zéro, le rôle système « Hôte de virtualisation KVM » installe et configure automatiquement la sélection appropriée lors de l’installation de SLES.
Comment configurer une machine virtuelle pour qu'elle démarre automatiquement ?
Commencez par lister les domaines via la connexion libvirt du système afin de pouvoir utiliser le nom exact de l'invité :
Répertoriez tous les domaines connectés au système et copiez le nom exact de la machine virtuelle avant de configurer le démarrage automatique.
sudo virsh -c qemu:///system list --all
Cette --alloption inclut les machines virtuelles invitées actuellement arrêtées. Sélectionnez la machine virtuelle persistante souhaitée dans les résultats. Activez ensuite le démarrage automatique pour ce domaine.
Remplacez VM_NAME par le nom de domaine libvirt exact de la machine virtuelle invitée pour activer son indicateur de démarrage automatique.
sudo virsh autostart VM_NAME
Pour annuler ce paramétrage ultérieurement, exécutez sudo virsh autostart --disable VM_NAMEla commande. Il ne s'agit pas d'une restauration à partir d'une sauvegarde : la machine virtuelle démarre normalement à partir de ses disques configurés après le démarrage de l'hôte. De plus, toutes les machines virtuelles ne sont pas sélectionnées automatiquement. Appliquez cette commande uniquement aux machines virtuelles qui doivent s'exécuter sur cet hôte.
Quel service libvirt doit démarrer au démarrage du système ?
Cela dépend si cet hôte SLES utilise les démons modulaires de libvirt ou l'architecture monolithique traditionnelle libvirtd. SUSE indique que les démons modulaires sont activés par défaut dans SLES 15 SP7 et recommande de démarrer le service de pilote correspondant au démarrage du système lorsque les machines virtuelles sont configurées pour un démarrage automatique. Le service de pilote QEMU est `libvirt` virtqemud.service. Sur une configuration monolithique, SUSE recommande libvirtd.serviceplutôt `libvirt`. N'activez pas les deux modes de déploiement simplement parce que les deux noms d'unité existent.
Vérifiez les unités de votre hôte avant de les modifier :
Avant d'activer quoi que ce soit, examinez les unités démon libvirt disponibles afin d'identifier le mode de déploiement de l'hôte.
systemctl status virtqemud.service libvirtd.service
Si l'hôte utilise libvirt modulaire et que l'unité QEMU est installée, activez-la avec :
sudo systemctl enable --now virtqemud.service
Si l'hôte est délibérément configuré pour le démon monolithique, utilisez plutôt cette commande :
N'activez cette unité que sur un hôte utilisant le déploiement monolithique de libvirtd ; les hôtes modulaires utilisent leur propre démon de pilote.
sudo systemctl enable --now libvirtd.service
N'utilisez le réseau libvirt par défaut pour le démarrage automatique que si la machine virtuelle utilise ce réseau virtuel.
Avec libvirt modulaire, la gestion du réseau virtuel et du stockage peut utiliser des pilotes ou des sockets distincts. Si la machine virtuelle dépend d'un réseau géré par libvirt, configurez ce réseau pour qu'il démarre automatiquement ; par exemple, consultez la documentation SUSE sudo virsh net-autostart defaultpour le defaultréseau prédéfini. Procédez ainsi uniquement lorsque la machine virtuelle utilise effectivement ce réseau. Un pont réseau configuré au niveau de l'hôte n'utilise pas ce paramètre réseau libvirt. Vérifiez le réseau réellement connecté à la machine virtuelle plutôt que de supposer son nom default.
Si une machine virtuelle utilise un disque externe ou réseau, assurez-vous que son espace de stockage sous-jacent est disponible au démarrage. SUSE précise que l'état actif d'un pool de stockage libvirt n'affecte pas la disponibilité des volumes déjà attachés aux machines virtuelles, mais l'activation du démarrage automatique du pool est utile lorsque celui-ci doit être actif pour la gestion des pools côté hôte ou pour des opérations ultérieures sur les volumes : `<pool_name>` sudo virsh pool-autostart POOL. Remplacez POOL`<pool_name>` par le nom réel du pool ; ne créez pas un nouveau pool uniquement pour configurer le démarrage automatique des machines virtuelles.
Comment pouvez-vous vérifier que la machine virtuelle va redémarrer ?
Utilisez les informations de domaine de la machine virtuelle invitée pour vérifier son paramètre de démarrage automatique avant de programmer un redémarrage de l'hôte.
Avant un redémarrage pour maintenance planifiée, vérifiez la configuration du domaine et l'état du démon. Utilisez la commande `ls` sudo virsh dominfo VM_NAMEpour confirmer que le démarrage automatique est activé et systemctl is-enabled virtqemud.service`ls` systemctl is-enabled libvirtd.servicepour vérifier le mode du démon choisi. Si la première commande échoue car la machine virtuelle est introuvable, assurez-vous d'interroger la même connexion libvirt que celle utilisée pour sa création.
Effectuez ensuite un test pendant une fenêtre de maintenance autorisée. Une fois l'hôte redémarré, exécutez la commande sudo virsh -c qemu:///system list --all. La machine virtuelle sélectionnée devrait apparaître comme étant en cours d'exécution ; vérifiez séparément son réseau et ses services invités. Si elle reste arrêtée, examinez les journaux de démarrage du démon actif avec journalctl -b -u virtqemud.serviceou journalctl -b -u libvirtd.service, selon le cas, et vérifiez la disponibilité d'un espace de stockage ou d'un réseau virtuel requis. Ces conditions dépendant de la configuration de l'hôte, le journal du démon et la configuration réelle de la machine virtuelle détermineront la prochaine étape.