Page 1 sur 1

[systemd-nspawn] debootstrap + kvm

Publié : jeu. 17 oct. 2019, 20:16
par Distag
Bonjour,

Voilà, j’aimerais lancer un qemu avec le support kvm dans un conteneur systemd-nspawn installé avec debootstrap. Mais cela ne marche pas, alors que cela devrait être possible avec la bonne configuration.

Je construis mes conteneurs à la main en suivant la doc du wiki d’archlinux, comme ceci:

Code : Tout sélectionner

yaourt -S debootstrap ubuntu-keyring

MyContainer=~/MyContainerUbuntuXenial

mkdir -p ${MyContainer}

sudo debootstrap --include=systemd-container --components=main,universe xenial ${MyContainer} http://archive.ubuntu.com/ubuntu/

sudo systemd-nspawn -D ${MyContainer}
J’installe qemu dans le conteneur (et sur le système natif comme témoin).
Le support kvm est correctement activé du côté du système natif.
L’image donné à qemu est un x86 fonctionnel et le système natif est lui aussi x86.

Je lance qemu avec les bons arguments pour avoir le support kvm, mais contrairement a mon système natif où celui-ci se lance sans problème avec kvm, ce n’est pas le cas dans le conteneur. Qemu se plante en ne trouvant pas le support kvm.

Je ne trouve pas comment activé kvm correctement dans le conteneur pour que qemu puisse l’utilisé. Avez-vous des idées ou la solution à ce problème? Merci d’avance

Re: [systemd-nspawn] debootstrap + kvm

Publié : jeu. 17 oct. 2019, 21:46
par laurent85
Bonjour,
Ça doit être la config par défaut de systemd-nspawn le problème. Si tu veux faire des tests d'après ce qui est dit là dans le lien, même si le commentaire date de 2 ans je ne crois pas que ça a beaucoup bougé depuis sur device virtualization + namespacing au niveau du noyau, et sans ça peut pas être stable.
https://github.com/systemd/systemd/issu ... -325683022

Re: [systemd-nspawn] debootstrap + kvm

Publié : sam. 19 oct. 2019, 17:31
par Distag
Je n’ai pas compris ta réponse.

Qemu se lance dans le conteneur. C’est quand j’essaye de le lancer avec kvm que celui-ci ne se lance pas.

Re: [systemd-nspawn] debootstrap + kvm

Publié : sam. 19 oct. 2019, 18:12
par laurent85
Distag a écrit : sam. 19 oct. 2019, 17:31 Je n’ai pas compris ta réponse.
Moi non plus :lol:
Qemu se lance dans le conteneur. C’est quand j’essaye de le lancer avec kvm que celui-ci ne se lance pas.
De ce que j'en ai compris c'est pas un bug. Ce que tu veux faire n'est pas faisable avec systemd-nspawn. Tu peux toujours essayer en suivant les suggestions du développeur de systemd, mais comme il dit c'est de la bidouille, et même si on lit ailleurs que qemu+kvm peut le faire, ça ne peut pas être stable à cause des capacités actuelles du noyau Linux.

Re: [systemd-nspawn] debootstrap + kvm

Publié : jeu. 31 oct. 2019, 16:04
par Distag
qemu semble se lancer avec --enable-kvm avec cette config:

Code : Tout sélectionner

sudo systemd-nspawn -D ${MyContainer} --bind=/dev/kvm --property="DeviceAllow=/dev/kvm rwm" 

Re: [systemd-nspawn] debootstrap + kvm

Publié : jeu. 31 oct. 2019, 16:52
par laurent85
Distag a écrit : jeu. 31 oct. 2019, 16:04 qemu semble se lancer avec --enable-kvm avec cette config:
Oui c'était la suggestion du développeur de systemd, autoriser les accès manquants au container. Mais attention à la stabilité, le partage de kvm n'est pas géré entre l'hôte et les containers.

Re: [systemd-nspawn] debootstrap + kvm

Publié : ven. 01 nov. 2019, 18:13
par Distag
Tant qu’il y a qu’un seul conteneur avec un seul qemu kvm qui tourne, la ressource n’est utilisée qu’une seule fois, donc il ne doit pas y avoir de problème de partage, si?

Re: [systemd-nspawn] debootstrap + kvm

Publié : ven. 01 nov. 2019, 19:49
par laurent85
Finalement ça revient à l'utilisation de kvm par le container au lieu de l'hôte, je suis d'accord ça ne devrait pas poser de problème.