From f715dfc180608b36bdf3091eb49e097edc1c7505 Mon Sep 17 00:00:00 2001 From: Ludovic Poujol Date: Tue, 5 Sep 2023 09:59:46 +0200 Subject: [PATCH] =?UTF-8?q?HowtoKVM=20>=20Cas=20de=20l'=C3=A9chec=20de=20m?= =?UTF-8?q?igration=20relatif=20=C3=A0=20AppArmor=20(profils=20non=20charg?= =?UTF-8?q?=C3=A9s=20sur=20kvm=20de=20destination)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HowtoKVM.md | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/HowtoKVM.md b/HowtoKVM.md index 2724807f..be8e90f1 100644 --- a/HowtoKVM.md +++ b/HowtoKVM.md @@ -1638,3 +1638,65 @@ Vérifiez que le démon « libvirtd » est en cours d'exécution sur l'hôte dis 2. Vérifier le statut du service « libvirtd » Dans ce cas il faut redémarrer l'instance libvirt `systemctl restart libvirtd`, cela n'arretera pas les machines en cours d'exécution. +### Erreur de migration de VM relative à AppArmor + +Exemple d'erreur rencontrée : + +``` +error: unsupported configuration: Unable to find security driver for model apparmor +``` + +Il est probable que la migration tentée pousse la machine virtuelle vers un hôte où AppArmor n'est pas actif, ou n'a pas les profils relatifs à libvirt. + + +Pour vérifier, on utilise la commande `aa-status` sur l'hôte de destination. + +Exemple : + +``` +# aa-status +apparmor module is loaded. +0 profiles are loaded. +0 profiles are in enforce mode. +0 profiles are in complain mode. +0 processes have profiles defined. +0 processes are in enforce mode. +0 processes are in complain mode. +0 processes are unconfined but have a profile defined. +``` + +Dans ce cas, AppArmor est bien présent, chargé et actif. Mais il n'a pas de profils de configurés (ils sont définis dans `/etc/apparmor.d/` en temps normal). C'est la raison de l'échec de la migration de la machine virtuelle. +On peut forcer AppArmor à recharcher tous les profils avec la commande `apparmor_parser /etc/apparmor.d/` + +Si ça marche, on obtient après le résultat suivant en rejouant `aa-status` (l'important est de voir les profils AppArmor relatifs à libvirt dans la liste) : + +``` +# aa-status +apparmor module is loaded. +10 profiles are loaded. +10 profiles are in enforce mode. + /usr/bin/man + /usr/sbin/libvirtd + /usr/sbin/libvirtd//qemu_bridge_helper + /usr/sbin/ntpd + /usr/sbin/tcpdump + man_filter + man_groff + nvidia_modprobe + nvidia_modprobe//kmod + virt-aa-helper +0 profiles are in complain mode. +2 processes have profiles defined. +2 processes are in enforce mode. + /usr/sbin/libvirtd (2642) + /usr/sbin/ntpd (2654) +0 processes are in complain mode. +0 processes are unconfined but have a profile defined. + +``` + +Normalement, re-esayer la migration de la machine virtuelle marchera. + + +> **Note** : Bien vérifier que **apparmor.service** soit *enabled* pour systemd. C'est le lancement de ce service au démarrage qui s'assure que tous les profils soient bien chargés. +> Un coup de `systemctl enable --now apparmor.service`