[FRsAG] Quel orchestrateur KVM choisir ?

Landry Minoza landry.minoza+frsag at gmail.com
Mar 5 Jan 14:51:22 CET 2021


Bonjour,

Pour info, avec losetup -P, il est possible de créer les entrées
/dev/loopXpY correspondant aux différentes partitions d’un volume Proxmox
KVM de type RAW/LV(-thin).
⚠ Si le guest utilise lvm, les pv vont être activés automatiquement (à
désactiver avec vhchange -a n vg_guest) avant de losetup -d /dev/loopX

Cdlt,

Le ven. 20 nov. 2020 à 12:28, Daniel Caillibaud <ml at lairdutemps.org> a
écrit :

> Bonjour,
>
> Merci à ceux qui se sont penchés sur le pb, résultat des courses pour ceux
> que ça intéresse.
>
> Le 13/11/20 à 19h15, Daniel Caillibaud <ml at lairdutemps.org> a écrit :
> > Sur un host debian devant héberger des vms debian, je cherche un
> > orchestrateur kvm en cli me permettant :
> > 1) chaque vm dans son lv, avec ce lv montable sur le host
>
> Ça c'est visiblement pas possible en kvm, on file pas un filesystem à la vm
> mais un disque, et elle a son bootloader et sa table de partitions. Y'a des
> moyens de contournement (libguestfs), mais c'est pas simple.
>
> Ce serait possible avec xen.
>
> > 2) conf réseau permettant de définir une (ou deux) interface dans la vm
> >    sur le (ou les) bridges du host (un public et un privé, la plupart
> >    des vms n'ont pas d'ip publique)
>
> Ça c'est possible mais toujours assez compliqué, faut définir ça dans la VM
> (pas moyen de fixer nic/ip depuis le host dans les specs de la vm), c'est
> probablement pour ça que tout le monde passe par du dhcp.
>
> > 3) si possible pas de grub dans la vm, on la démarre avec noyau/initrd du
> >    host
>
> Cf 1)
>
> > 4) pas de nat (sauf snat pour que les vm privées puissent sortir sur
> >    internet), ni dhcp, ni dnsmask, ni autre fioriture. Pas besoin de HA
> > (ni drbd ni ceph)
>
> Cf 2)
>
> Donc kvm n'est pas adapté à ce que je voulais faire. xen pourrait faire le
> job, mais j'ai pas assez creusé car en testant proxmox6 + kvm, j'ai testé
> aussi proxmox6 + lxc, et ça marche mieux que ce que je faisais manuellement
> auparavant.
>
> Ça me permet aussi de garder une infra plus homogène (encore des hosts
> en stretch + lxc2), et de conserver ma batterie de scripts (pour le backup
> surtout, avec gestion de la rotation des snapshots, où on peut accéder à
> n'importe quel fichier de n'importe quel snapshot directement sur le
> filesystem).
>
> Je vais donc pouvoir rester encore un peu avec lxc ;-)
>
>
>
> Pour info, les pbs que j'ai eu avec systemd dans les conteneurs (avec ma
> gestion manuelle des conteneurs lxc) pour
> - host stretch/lxc2 + conteneur buster
> - host buster/lxc3 + conteneur buster
> concernaient tous des pbs de sytetmd avec les cgroup, qu'il faut régler au
> cas par cas en faisant sauter des restrictions systemd, pour notamment ces
> services (à chaque fois faut un
> /etc/systemd/system/xxx.service.d/override.conf)
>
> Il y a pas mal de monde a avoir des pbs, sur pleins de services, du genre
>
> https://forum.proxmox.com/threads/upgrade-lxc-16-04-to-18-04-problems-cgroup.51222/
> et la réponse est souvent de passer les conteneurs en mode privilégiés
> avec
> du nested = 1 (ce qui revient +/- à rompre l'isolation)
>
> 1) logrotate
> # logrotate.service: Failed to set up mount namespacing: Permission denied
> # logrotate.service: Failed at step NAMESPACE spawning /usr/sbin/logrotate:
>   Permission denied
> # cf
> https://forum.proxmox.com/threads/logrotate-issue-in-buster-lxc.56726/
> [Service]
> PrivateDevices=false
> PrivateTmp=false
> ProtectControlGroups=false
> ProtectKernelModules=false
> # lui ne devrait pas coincer (ça passe en ro /usr /boot /efi /etc), mais
> # sans ça il veut pas…
> ProtectSystem=false
>
> 2) munin-node
> # Cf https://github.com/munin-monitoring/munin/issues/1278
> [Service]
> PrivateTmp=false
> ProtectHome=false
> ProtectSystem=false
>
> 3) varnishncsa
> [Service]
> # vu qu'on tourne dans lxc sans les CAP_SYS_ADMIN, si on veut éviter de
> mettre dans la conf du conteneur du
> # lxc.apparmor.profile = unconfined
> # faut ajouter ça
> # pour ProtectSystem, yes passe /usr et /boot en read-only, full ajoute
> /etc et strict ajoute /dev /proc et /sys
> # pourquoi faut du no ? (en tout cas même avec yes ça démarre pas pour un
> pb de namespace)
> ProtectSystem=no
> ProtectHome=false
> PrivateTmp=false
> PrivateDevices=false
> # ça limite la sécurité dans la VM mais l'augmente vis-à-vis du host
> # (si varnish est troué il pourrait mettre plus de bazar dans la vm mais
> ne pourra pas accéder au host)
>
> # ça marchait sans cette option, mais y'avait régulièrement des alertes
> systemd (le notify ci-dessus) avec du
> # Failed to set up mount namespacing
> # on essaie ça pour voir si ça va mieux
> NoNewPrivileges=yes
>
>
> J'ai d'abord eu l'impression qu'avec proxmox6 j'avais moins de pbs, mais
> ça semble pas tellement le cas,
> je vais faire un autre thread pour ça.
>
> --
> Daniel
>
> Ce qui manque aux orateurs en profondeur, ils vous le donnent en
> longueur.
> Montesquieu
> _______________________________________________
> Liste de diffusion du FRsAG
> http://www.frsag.org/
>
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://www.frsag.org/pipermail/frsag/attachments/20210105/99d20fde/attachment.htm>


Plus d'informations sur la liste de diffusion FRsAG