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@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@lairdutemps.org a écrit :
Sur un host debian devant héberger des vms debian, je cherche un orchestrateur kvm en cli me permettant :
- 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.
- 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.
- si possible pas de grub dans la vm, on la démarre avec noyau/initrd du host
Cf 1)
- 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... 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)
- 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
- munin-node
# Cf https://github.com/munin-monitoring/munin/issues/1278 [Service] PrivateTmp=false ProtectHome=false ProtectSystem=false
- 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/