ZFS raid1 für PVE: Startet nicht nach Neuinstallation

Madtrick

Active Member
Mar 17, 2019
43
3
28
54
Germany
Hallo werte Forum Gemeinde.

Hier war eine Neuinstallation nach Hardwareveränderungen nötig.
Der PVE hat nun 2 SSDs (120Gb) die als ZFS Mirror das System aufnehmen sollen.
Bei der Installation (Uefi vom Stick) habe ich das entsprechend ausgewählt und die Installation lief wie gewohnt komplett ohne Fehlermeldungen durch.
Der nachfolgende Neustart hängt dann bei dem Bildschirm, den ich als Foto hier eingebunden habe.

IMG_20191125_200909.jpg

Was kann das Problem sein. In Sachen ZFS bin ich ein Neuling. So recht komme ich mit dem was ich bei Google oder auch hier im Forum gefunden habe nicht zurecht und weiß eigentlich so gar nicht, was das Problem sein kann.

System des PVE:

ASUS Mainboard M5A97 R2.0 mit AMD FX-8350 und 32 Gb DDR3 ECC RAM

6 x SATA 6Gb/s onboard, im Bios auf AHCI eingestellt (Raid ist disabled).
2 x SSDs Patriot 120 Gb, 6Gb/s - als ZFS Raid1 für den PVE selber
1 x SSD Intel 545S, 500Gb, 6Gb/s - für die VMs (ext4)
1 x HDD WD Enterprise, 750Gb/s, 6Gb/s - für die Backups (ext4)

So wollte ich den PVE in Betrieb nehmen.

Ich bitte euch um Unterstützung und Hilfestellung.

Grüße, Dirk
 
Was bekommst du angezeigt wenn du in der Busybox Shell zpool import ausführst?
 
Wenn ich an dem Bildschirm wie auf dem Foto warte passiert nichts weiter. Wenn ich dann Enter drücke, bekomme ich das Prompt.

Ausgabe nach "zpool import":

Code:
(initramfs) zpool import
[   30.103610] random: crng init done
[   30.104196] random: 5 urandom warning(s) missed due to ratelimiting
   pool: rpool
     id: 14029945189157674731
  state: ONLINE
 action: The pool can be imported using its name or numeric identifier.
 config: 

        rpool                                             ONLINE
          mirror-0                                        ONLINE
            ata-Patriot_Burst_E0CD07990A2200963361-part3  ONLINE
            ata-Patriot_Burst_55BF07990A8A00962555-part3  ONLINE
(initramfs)
 
Dann probier mal den zpool zu importieren mit zpool import rpool und dann AFAIK mit exit aus der Busybox. Der Server sollte dann starten.

Dann stell bitte sicher, dass das zpool.cache file richtig erstellt wurde und generiere das initramfs neu. Die Schritte sind in dieser Antwort gut erklärt: https://forum.proxmox.com/threads/update-broke-lxc.59776/#post-277303
 
Dann probier mal den zpool zu importieren mit zpool import rpool und dann AFAIK mit exit aus der Busybox. Der Server sollte dann starten.
Okay. Also habe ich nun zpool import rpool eingegeben. Antwort ist:

(initramfs) zpool import rpool cannot mount '/': directory is not empty (initramfs)
 
Die Tips habe ich nun durchgearbeitet.
Leider brachte bisher nichts den Erfolg.
Ich beschreibe einmal was ich alles gemacht habe.

Zuerst:
(initramfs) zpool import rpool
cannot mount '/': directory is not empty
(initramfs)

und wie aus dem Tip: "exit"

Das System fährt weiter hoch. Und wenn ich es recht erkennen kann. ohne weitere Fehlermeldungen.
Das kann ich replizieren und läuft bei jedem Start gleich ab.

Dann:
Dann stell bitte sicher, dass das zpool.cache file richtig erstellt wurde und generiere das initramfs neu. Die Schritte sind in dieser Antwort gut erklärt:
Unter: /etc/zfs war keine zpool.cache vorhanden. Also diesem Tip gefolgt. Auch das brachte keine Verbesserung.
Der Bootvorgang stoppt jedes mal und bleibt bei dem Bildschirm auf dem Foto hängen. Erst mit einem "Enter" bekomme ich: (initramfs)

Dann den nächsten Tip von Stoiko Ivanov gefolgt.

von der abfolge der messages im screenshot - koennte es auch uU helfen einen root_delay zu setzen - siehe

Hier ebenfalls wie beschrieben vorgegangen. Auch diese Änderungen brachten keinen Erfolg und der Bootvorgang stoppt wie gehabt.
Wenn ich es recht verstehe, soll durch eine Verzögerung dem Pool eine Chance gegeben werden... Wenn das so sein sollte, dann habe ich keine Verzögerung bemerken können.

Was könnte ich noch tun bzw. ausprobieren?
Wie könnte ich an die Meldungen kommen, die oben aus dem Bildschirm heraus gelaufen sind? Wenn ich es recht gesehen habe, beginnen die Fehlermeldungen schon ca. 20 Zeilen oberhalb des Fotos...
 
hat der pool mit:
zpool import -R /rpool -N rpool
importiert werden können?
 
Ich denke der Import hat geklappt:

20191127_104525.jpg

..., aber, das anschließende:
exit
brachte diesen Bildschirm.

Nur kurz zur Info:

Frisch installiertes System aus aktueller PVE ISO.
Mit ausgeführten Befehlen aus den 2 Postings gestern:

(initramfs) zpool import rpool (initramfs) exit

# Der Server startet durch. Also als root angemeldet und in /etc/zfs das File zpool.cache gesucht. Nicht vorhanden, also folgendes ausgeführt:

(initramfs) zpool set cachefile=/etc/zfs/zpool.cache rpool (initramfs) update-initramfs -u -k all reboot

Keine Änderung. Hängt an der gleichen Stelle wieder. Also wieder zpool import rpool und exit und als root anmelden.
File /etc/zfs/zpool.cache ist weiterhin vorhanden. Also reboot und folgendes ausprobiert:

(initramfs) zpool import -R /rpool -N rpool # klappte... (initramfs) exit # klappte nicht und hängte sich wieder weg.

Also wieder reboot und wie gehabt alles bis zum Login. Anmelden und den nächstenb Hinweis umgesetzt:

edit /etc/default/grub
und "rootdelay=10"zum Parameter "GRUB_CMDLINE_LINUX_DEFAULT" hinzugefügt, so dass die Zeile jetzt so aussieht:
GRUB_CMDLINE_LINUX_DEFAULT="rootdelay=10 quiet" update-grub

und:

edit /etc/default/zfs
und den Wert von 0 auf 4 gesetzt: ZFS_INITRD_PRE_MOUNTROOT_SLEEP='4' # anschließend:
update-initramfs -k 5.0.15-1-pve -u

wieder rebooted und wieder hängt er sich weg.
Also nichts hat sich verändert.

Heute habe ich dann mal in der Busybox das ausprobiert:

(initramfs) zpool import -R / -N rpool (initramfs) exit

Nach dem Exit ist er dann weiter hochgefahren.
Was nun? Bei einem Neustart bleibt er wieder an gleicher Stelle hängen...
 
wird das system überhaupt mit grub gebootet?
seit PVE6, wird im Falle von UEFI boot und ZFS nämlich systemd-boot verwendet - siehe: https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot

in dem fall müsste das 'rootdelay=10' in /etc/kernel/cmdline' hinzugefügt werden (überprüft werden kann dies auch im initramfs - cat /proc/cmdline)
 
Nein. Grub wird nicht verwendet. Ich hatte das stoisch mit eingearbeitet.
Uefi ist auch neu für mich. Nach dem POST kommt der schwarze Schirm mit der Auswahl von PVE oder Firmware... Sollte also UEFI sein.

Hole jetzt das "rootdelay=10" wieder raus.
Danke für den Hinweis!

Das ZFS_INITRD_PRE_MOUNTROOT_SLEEP='4' ist noch drin.
 
Last edited:
Wo wird eigendlich der Bootvorgang gelogged?
Also ich meine die Meldungen beim Hochfahren. Siehe Foto...
Was funktioniert hier beim Boot nicht?
 
Last edited:
Hat jemand noch einen Hinweis oder Rat für mich?

Was funktioniert hier beim Bootvorgang eigentlich nicht richtig? Stelle mir das ähnlich vor, wie beim Einbinden von HDDs mittels "mount".
Stelle mir vor, dass beide SSDs beim Boot zu einem Pool (Poolname: rpool) mittels ZFS1 zusammen gezogen werden. Und weiter dann dem System als "rpool" bekannt gegeben werden (import?), so dass das System die SSDs quasi als eine Platte mit dem Namen "rpool" ansprechen kann.
Ist das so ungefähr richtig?
Ich versuche zu verstehen und zu lernen. Würde auch weiter im Inet suchen, aber ich weiß nicht genau wonach...
 
steht jetzt in /proc/cmdline rootdelay=10? (ansonsten hat das mit dem hinzufügen über /etc/kernel/cmdline noch nicht funktioniert - vl. pve-efiboot-tool refresh vergessen)
 
Nun muss ich doch noch einmal nachfragen...
Schreibe gerade an einer kleinen Anleitung für mich, die ich dann auch hier noch einsetzten würde.

Mir fällt nun folgendes auf...
1. Das System ist ein UEFI System. Das heißt, alles was auf den Grub abzielen, scheiden aus.
2. Weiter oben in diesem Thread sollte ich das ausprobieren: "zpool import -R /rpool -N rpool". Das hat nich richtig geholfen. Was besser klappte war: "zpool import -R / -N rpool". Gefolgt von einem "exit". Das System fährt dann ohne erkennbare weitere Fehler hoch. Was ist nun die richtigere Eingabe?
3. Es muss ein rootdelay=10 eingetragen werden. In die /proc/cmdline oder /etc/kernel/cmdline? Nachfolgender Befehl: pve-efiboot-tool refresh
4. Sollte ich noch in der Datei /etc/default/zfs den Wert für "ZFS_INITRD_PRE_MOUNTROOT_SLEEP" ändern auf: "FS_INITRD_PRE_MOUNTROOT_SLEEP='4'"?
Anschließend: "update-initramfs -k 5.0.15-1-pve -u"?
 
Was ich versuchen wuerde:
* rootdelay=10 in /etc/kernel/cmdline eintragen und pve-efiboot-tool refresh eingeben
* rebooten
* wenn der boot nicht funktioniert - mit cat /proc/cmdline schauen, ob der rootdelay parameter auch wirklich in der kernel commandline gelandet ist
 
Okay.
Nur um alles zu verivizieren setzte ich das System noch einmal komplett auf.

Nach der Installation werde ich mit zpool import -R / -N rpool und exit bis zum Login kommen.
Als zweiten Schritt trage ich das rootdelay=10 in /etc/kernel/cmdline ein und schliesse mit pve-efiboot-tool refresh ab.

Mal sehen was dabei raus kommt. Melde mich gleich wieder dazu.
 
  • Like
Reactions: Stoiko Ivanov
okay....
neu installiert.
Genau wie beschrieben.
* Nach der Install wie erwartet in der Busybox gelandet.
* Dann mit zpool import -R / -N rpool und exit bis zum normalen Login gekommen.
* Eingeloggt und in /etc/kernel/cmdline das rootdelay=10 eingetragen.
* Das Kommando pve-efiboot-tool refresh erfolgreich abgesetzt.
* Reboot
* Das System fährt nun bis zum Login hoch.

NEU ist jetzt das:

20191203_105957.jpg


* Nach dem Login mit cat /proc/cmdline nach dem rootdelay Parameter geschaut. Ist ordentlich eingetragen!

Weiterhin gleich noch in /etc/zfs nach der zpool.cache Datei geschaut. Diese fehlt!

20191203_110950.jpg
 
  • Like
Reactions: felix.hix

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!