Hallo Daniel,
Am 02.02.22 um 11:16 schrieb Daniel Leidert:
Hier stell ich mich auch mit an. Mir fehlt im Debian-Installer der virtiofs-Treiber, wobei ich nicht gleich davon booten will. ;)
+1. Ich löse dergleichen momentan bedarfsweise mit dem Snapshot-Tool von MXLinux, aber mit Debian-Bordmitteln wär mir das lieber.
Könnt ihr mich bitte kurz über das Einsatzszenario und eure Probleme aufklären? Dann schaue ich mir das gerne mit an und vielleicht habe ich ja eine Idee.
ich hatte die Absicht, das Basis-Image der VM klein zu halten und /home sowie /var per virtiofs auszulagern. Sowohl Host als auch Gast sind jeweils Debian 11, ältere Versionen unterstützen noch kein virtiofs. Grundsätzlich funktioniert virtiofs in der VM. Ich wollte das aber bereits im Installer mounten bzw. verschieben. Der passende Zeitpunkt wäre hier in der Installershell nach der Festplattenpartitionierung, aber ein
mount -t virtiofs vm1_home /home
funktioniert nicht, da virtiofs anscheinend im Installer-Kernel fehlt. Tiefer bin ich hier noch nicht eingestiegen.
Inzwischen hat sich auch herausgestellt, daß virtiofs bei /var noch andere Probleme verursacht. Special-Devices lassen sich innerhalb des gemounteten virtiofs nicht erstellen. Das ist beim verschieben des postfix-spool-Verzeichnisses aufgefallen.
crw-rw-rw- 1 root root 1, 8 29. Jan 19:53 random crw-rw-rw- 1 root root 1, 9 29. Jan 19:53 urandom
Die Devices lassen sich dort auch manuell mit mknod nicht anlegen.
Ein weiteres Problem sind einige Locks, dpkg hat sich beschwert, daß es seine DB nicht sperren konnte. Virtiofs ist in der VM-Config (libvirt) wie folgt eingebunden:
<domain type='kvm'> ... <memoryBacking> <source type='memfd'/> <access mode='shared'/> </memoryBacking> ... <devices> ... <filesystem type='mount' accessmode='passthrough'> <driver type='virtiofs' queue='1024'/> <binary path='/usr/lib/qemu/virtiofsd' xattr='on'> <cache mode='always'/> <lock posix='on' flock='on'/> </binary> <source dir='/srv/storage/vm1_data/home'/> <target dir='vm1_home'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </filesystem> ... </devices> </domain>
xattr=on schaltet den ACL-Support ein <lock posix='off' .../> hat das dpkg-Problem gelöst, flock hatte darauf keine Auswirkungen.
Übrig blieb: Jan 30 14:19:27 bnet007 systemd-tmpfiles[249]: Cannot set file attribute for '/var/log/journal', value=0x00800000, mask=0x00800000, ignoring: Function not implemented Jan 30 14:19:27 bnet007 systemd-tmpfiles[249]: Cannot set file attribute for '/var/log/journal/7758e105953b4fc58638feafdee17116', value=0x00800000, mask=0x00800000, ignoring: Function not implemented
Daraufhin hab ich /var erstmal wieder ins Image zurück geholt, da ich weitere Seiteneffekte hier vermeiden will. /home läßt sich auch nach der Installation noch relativ leicht umlagern. Das Thema ist damit nicht mehr so wichtig, wäre aber trotzdem an einer Lösung interessiert. Irgendwann gibt es sicherlich auch eine Lösung für die o.g. Probleme.
Gruß Rico