HowtoKVM > Cas de l'échec de migration relatif à AppArmor (profils non chargés sur kvm de destination)

This commit is contained in:
Ludovic Poujol 2023-09-05 09:59:46 +02:00
parent 572b2839a5
commit f715dfc180

View file

@ -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`