Est-il possible d'utiliser un dossier partagé de l'hôte à l'invité via virtfs / 9p comme système de fichiers racine à l'intérieur de l'invité?
Liée à ma question précédente: virtfs / 9p peut-il être utilisé pour partager le même dossier hôte avec plusieurs invités?
filesystems
virtual-machine
kvm
root-filesystem
virtfs
0xC0000022L
la source
la source
Réponses:
Oui, voir par exemple comment démarrer une VM avec le FS de l'hôte:
Ajoutez les modules 9p à l'hôte
initramfs
(c'est le moyen le plus simple mais pas le plus propre, d'avoir un initrd avec les modules nécessaires):Si vous l'exécutez en tant qu'utilisateur normal, il existe des fichiers auxquels il ne pourra pas accéder, mais vous devriez pouvoir obtenir l'invite du shell et cela ne causera aucun dommage:
la source
Une idée aussi sensée que cela semble au premier abord, ne le faites pas. Le 9P dans son état actuel ne peut pas gérer certaines opérations assez basiques, notamment:
À l'heure actuelle, le 9P n'est pas en état d'être utilisé pour la production.
Bien que vous puissiez créer un système amorçable avec 9P comme système de fichiers racine, le fonctionnement de cette machine virtuelle causera des problèmes importants - si vous utilisez Debian, le défaut répertorié ci-dessus empêchera la mise à niveau apt-get de fonctionner. Les correctifs pour résoudre ce problème sont allés nulle part depuis des années.
Si vous insistez pour le faire, les rootflags doivent être "rootflags = trans = virtio, cache = mmap", sinon le mappage de la mémoire en lecture / écriture ne fonctionnera pas (utilisé par exemple par MariaDB).
la source
Oui bien sûr. Ajouter à la ligne de commande du noyau:
Et vous pouvez démarrer sans initrd (si 9P est compilé dans le noyau, plutôt que sous forme de modules).
la source