Hello,

Dans le même genre, en facile, il y a aussi "kpartx",

après sur le concept : à ne pas faire vm démarrée, un FS non clusterisé monté 2x c'est la cata assurée ;) 

A+

Nicolas


De: "Landry Minoza" <landry.minoza+frsag@gmail.com>
À: "Daniel Caillibaud" <ml@lairdutemps.org>
Cc: "frsag" <frsag@frsag.org>
Envoyé: Mardi 5 Janvier 2021 14:51:22
Objet: Re: [FRsAG] Quel orchestrateur KVM choisir ?
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 :
> 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/

_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/