Container starten nach Proxmox Update nicht mehr

Hallo,
Auch ich habe den Host aktualisiert und nach dem Neustart waren die ZFS Dateisysteme nicht gemountet, weil wohl "zfs mount -a" mit der Fehlermeldung "cannot mount '/vz': directory is not empty" fehlschlug.

Auch ich musste alte, leere Verzeichnisse unterhalb von /vz manuell loeschen, bevor ich "zfs mount -a" ausfuehren konnte.
Anschliessend waren die Inhalte unterhalb von /vz wieder vorhanden.
welche leeren Verzeichnisse waren das? Die automatisch erzeugten wie images und dump? Könntest Du auch Deine /etc/pve/storage.cfg posten?
 
Hi,

Hallo,

welche leeren Verzeichnisse waren das? Die automatisch erzeugten wie images und dump?

Ganz genau.

Es waren:
Bash:
rmdir dump/ images/ template/cache/ template/iso/ template/

Könntest Du auch Deine /etc/pve/storage.cfg posten?

lrwxrwxrwx 1 root root 4 Jul 17 2018 /var/lib/vz -> /vz/

Code:
dir: local
        path /var/lib/vz
        content vztmpl,images,iso
        maxfiles 0
        shared 0

zfspool: lxcstorage
        pool vz
        content images,rootdir
        sparse 0

dir: BackupDump
        path /var/lib/vz
        content backup
        maxfiles 7
        shared 0

Gruss,

Matze
 
Der Storage Manager besitzt keine Funktionalität, um Abhängigkeiten wie lxcstorage muss vor local und BackupDump aktiviert werden, erkennen zu können. Also kann es passieren, dass das Problem beim nächsten Reboot wieder auftritt. Als Lösung, kannst Du
Code:
pvesm set local --mkdir 0
pvesm set BackupDump --mkdir 0
setzen; dann werden diese Verzeichnisse nicht mehr automatisch angelegt. Insbesondere also auch nicht bevor der Pool importiert und gemountet ist ;)
 
Hi,

vielen Dank, aber das waere ja nur ein Workaround und geht der Ursache nicht auf den Grund.

Bis zum letzten PM Update hat das ja immer geklappt, nur seither nicht mehr.
Da muss sich also entweder durch das Update etwas geaendert haben oder ich hatte bei frueheren Bootvorgaengen einfach immer Glueck.

Meine storage.cfg sah schon "immer" so aus:

-rw-r----- 1 root www-data 216 Jul 27 2018 /etc/pve/storage.cfg

(lustigerweise genau heute vor 2 Jahren)

Wuerde es auch helfen, die Reihenfolge in der storage.cfg zu aendern und den zfspool Block vor alle anderen zu setzen?
 
Hi,

vielen Dank, aber das waere ja nur ein Workaround und geht der Ursache nicht auf den Grund.

Bis zum letzten PM Update hat das ja immer geklappt, nur seither nicht mehr.
Da muss sich also entweder durch das Update etwas geaendert haben oder ich hatte bei frueheren Bootvorgaengen einfach immer Glueck.

Um es aus Perspektive von der PVE Storage Bibliothek sauber zu lösen, bräuchte es einen Mechanismus, um die Aktivierungs-Reihenfolge zu steuern. Für einen Directory-Storage haben wir implizit die Annahme, dass das Dateisystem auf dem das liegt, beim Booten korrekt gemountet wird. Und normalerweise passiert das für ZFS Dateisysteme mit zfs-import.service zfs-import-cache.service und zfs-mount.service auch. Das Problem mit dem vorzeitigen Aktivieren kann also nur auftreten, wenn diese Services fehlschlagen.

Die wirkliche Ursache ist/war wahrscheinlich die hier, in Kombination mit dem Pech, dass dann von der PVE Storage Bibliothek, die falsche Storage vorher aktiviert wurde.

Meine storage.cfg sah schon "immer" so aus:

-rw-r----- 1 root www-data 216 Jul 27 2018 /etc/pve/storage.cfg

(lustigerweise genau heute vor 2 Jahren)

Wuerde es auch helfen, die Reihenfolge in der storage.cfg zu aendern und den zfspool Block vor alle anderen zu setzen?

Mit einem kurzen Blick auf den Code: Nein, leider nicht (die Storages werden als Perl-Hash geführt). Ich habe einen Feature-Request für die saubere Lösung gemacht.

EDIT: zfs-import-cache.service ist der richtige Service.
 
Last edited:
Hi Fabian,

Um es aus Perspektive von der PVE Storage Bibliothek sauber zu lösen, bräuchte es einen Mechanismus, um die Aktivierungs-Reihenfolge zu steuern. Für einen Directory-Storage haben wir implizit die Annahme, dass das Dateisystem auf dem das liegt, beim Booten korrekt gemountet wird. Und normalerweise passiert das für ZFS Dateisysteme mit zfs-import.service und zfs-mount.service auch. Das Problem mit dem vorzeitigen Aktivieren kann also nur auftreten, wenn diese Services fehlschlagen.

Dieser Service ist bei mir "masked", sollte der nicht eher "active" sein, wie zfs-mount.service auch?

Code:
● zfs-import.service
   Loaded: masked (Reason: Unit zfs-import.service is masked.)
   Active: inactive (dead)

Ich hab bisher noch nicht gebootet, muesste das jetzt aber mal machen, daher frag ich lieber vorher mal nach :)
Gruss,

Matze
 
Da habe ich wohl in Eile den falschen Service hingeschrieben. Wichtig ist das zfs-import.target und das wird bei PVE mithilfe von zfs-import-cache.service erreicht.
 
Hi,

Da habe ich wohl in Eile den falschen Service hingeschrieben. Wichtig ist das zfs-import.target und das wird bei PVE mithilfe von zfs-import-cache.service erreicht.

Ah, verstehe, vielen Dank.
Aber hier sieht's auch nicht viel besser aus:

Code:
● zfs-import-cache.service - Import ZFS pools by cache file
   Loaded: loaded (/lib/systemd/system/zfs-import-cache.service; enabled; vendor preset: enabled)
   Active: inactive (dead)
Condition: start condition failed at Fri 2020-07-24 10:55:35 CEST; 1 months 2 days ago

Das ist wohl der Grund, dass das Mounten des Pools beim Booten nicht geklappt hat.

Wenn ich den Dienst starte:

Code:
● zfs-import-cache.service - Import ZFS pools by cache file
   Loaded: loaded (/lib/systemd/system/zfs-import-cache.service; enabled; vendor preset: enabled)
   Active: inactive (dead)
Condition: start condition failed at Wed 2020-08-26 10:44:57 CEST; 1s ago
           └─ ConditionPathExists=/etc/zfs/zpool.cache was not met
     Docs: man:zpool(8)

Aug 26 10:44:57 vzhost02 systemd[1]: Condition check resulted in Import ZFS pools by cache file being skipped.

Ich wuerde nun also folgendes setzen und mal booten:

Code:
pvesm set local --mkdir 0
pvesm set BackupDump --mkdir 0

Ich hoffe, das geht nicht schief :)

Gruss,

Matze
 
Was sagt denn zdb -C? Hast Du dir schon diesen Post angeschaut, den ich auch schon verlinkt hatte?
 
Hi,

Was sagt denn zdb -C? Hast Du dir schon diesen Post angeschaut, den ich auch schon verlinkt hatte?

Der sagte, dass es das File /etc/zfs/zpool.cache nicht gibt.
Ich hab's nun gemaess Deinem Link angelegt und rebootet.
Alles kam hoch und auch das ZFS war korrekt gemountet.

Dass das bei jedem Boot so bleibt hoffe ich mal, sonst weiss ich jetzt ja, wo ich suchen muss.

Vielen Dank fuer Deine Hilfe!

Gruss,

Matze
 
  • Like
Reactions: fiona

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!