Bootfehler nach Festplattentausch im ZFS Pool

MikeM

New Member
Jul 13, 2015
9
0
1
Hallo zusammen,

aufgrund eines Hardwaredefektes musste ich eine Festplatte auf meinem Proxmox 4.2 System (Standard Debian ISO) tauschen. Das Re-Synchronisieren des bei der Proxmox Installation angelegten ZFS RAID1 Pools hat einwandfrei geklappt und warf keine Fehler. Nach einem Reboot zeigt der Server nun aber "error: no such device: [...]" und lädt ins grub rescue System. Damit bin ich leider nicht vertraut ;)

Was habe ich verkehrt gemacht?

Danke für jeden Tipp, was zu tun ist!
 
War es sda die kaputt war? Normalerweise benötigt man auch noch den Bootsektor und ggf. eine funktionierende Grub-Konfiguration.
 
Die sdb war kaputt. Muss der Bootsektor von sda noch auf sdb kopiert werden? Was muss ich bei der Grub-Konfig ändern und wo?

Danke!
 
Also wenn du immer von sda bootest und sda nicht kaputt war sollte das auch einwandfrei weiter funktionieren.

Bei mir hat der Installer auf die ersten beiden Disks jeweils eine Bios-Partition draufgeknallt:

Code:
root@proxmox4 ~ > fdisk -l /dev/sda

Disk /dev/sda: 894,3 GiB, 960197124096 bytes, 1875385008 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 57C9C656-22C6-4C37-9A83-F80A55C8D3BE

Device          Start        End    Sectors   Size Type
/dev/sda1          34       2047       2014  1007K BIOS boot
/dev/sda2        2048 1875368589 1875366542 894,3G Solaris /usr & Apple ZFS
/dev/sda9  1875368590 1875384974      16385     8M Solaris reserved 1

root@proxmox4 ~ > fdisk -l /dev/sdb

Disk /dev/sdb: 894,3 GiB, 960197124096 bytes, 1875385008 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 04434CFA-0AB9-49FC-8727-D2B53B0A6909

Device          Start        End    Sectors   Size Type
/dev/sdb1          34       2047       2014  1007K BIOS boot
/dev/sdb2        2048 1875368589 1875366542 894,3G Solaris /usr & Apple ZFS
/dev/sdb9  1875368590 1875384974      16385     8M Solaris reserved 1

root@proxmox4 ~ > fdisk -l /dev/sdc

Disk /dev/sdc: 894,3 GiB, 960197124096 bytes, 1875385008 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 3B816012-0214-D844-A2F6-0AE73721CAE0

Device          Start        End    Sectors   Size Type
/dev/sdc1        2048 1875367935 1875365888 894,3G Solaris /usr & Apple ZFS
/dev/sdc9  1875367936 1875384319      16384     8M Solaris reserved 1

Somit muss man zum einen den Bootsektor und zum anderen die BIOS-Boot Partition erneuern. Das kann man recht einfach direkt über Grub machen. Entweder den Debian weg:

Code:
dpkg-reconfigure grub-pc

oder manuell

Code:
grub-install --recheck /dev/sdb
 
Danke für die schnelle Antwort. Ich weiss nicht, ob ich das nicht eindeutig formuliert habe, aber ich habe das fertige von Proxmox angebotene Debian ISO verwendet und gleich bei der Installation sda/sdb als RAID1 unter ZFS eingerichtet. Das heisst, dass auch die Systempartition auf dem RAID und nicht auf sda läuft...
 
Jaja, das ist schon klar. Prüfe mal bitte ob er bei dir auch diese BIOS Boot Partitionen angelegt hat. Sollte er eigentlich.
 
Also wenn man einfache nur die Platte tauscht und nicht den kompletten GPT kopiert hat man beim rpool ein Problem. Hat man nen eigenen Pool für die VMs (ich hab es so) benötigt man zum reintegrieren einer neuen Platte nur einen Befehl. Für den rpool sieht das anderes aus. Ich euch mal meine Doku hier angehängt. Ist aber auch gleich easy.

lg

Nachtrag, aber booten sollte das System auf jeden Fall, hast ja noch ne zweite Platte, check mal im Bios die Bootpriorität. Ansonsten mal die Platte manuell zum Boot auswählen.
 

Attachments

  • Linux ZFS – Doku.pdf
    269.3 KB · Views: 43
Danke für Dein PDF! Das Problem ist nun, dass ich mit einer Debian Live CD kein ZFS-Support zur Verfügung habe und auch nicht nachinstallieren kann (wg. benötigtem reboot).

Habe Deine Anleitung bis zum Resilvern (s.o.) durchgeführt, aber der Fehler bleibt beim Reboot "error: no such device: ...", auch die Bootprio hilft leider nicht weiter, da von der sdb gar nichts hochfährt.

Wie kriege ich das angegebene Device aus der grub Konfig? Ich kenn das leider nur von der fstab, aber in einem ZFS System mit rpool?
 
Also noch nicht getestet, aber mit der aktuellen PVE Installer sollte es einen Livemodus/Debug geben. Ansonsten PVE auf nen Stick dann booten und reparieren. Aber so wie du mir das erklärst hat SDB schon keinen Bootteil. Im Rpool ist nicht die ganze Platte auf ZFS ein kleiner Teil ist für das Booten zuständig. Deshalb ist der ZFSteil nicht so wie normal SDB sondern eine Partition wie z.B. SDB2 oder so.

Boote mal hoch und sieh mal nach wie Partionsaufteilung ist. Wennst die bestehene Platte kopierst also den Partionstable und die passt nicht, passt natürlich die neue auch nicht und es bootet nicht. Bist du sicher das du überhaupt von der Platte bootest und das BIOS nicht von wo anderes booten möchte?
 
Danke für Dein PDF! Das Problem ist nun, dass ich mit einer Debian Live CD kein ZFS-Support zur Verfügung habe und auch nicht nachinstallieren kann (wg. benötigtem reboot).

Du benötigst keinen Reboot um ZFS support auf Debian/Ubuntu Live nachzuinstallieren. Bei Ubuntu 16.04 musst du einfach nur die Userspace Tools installieren, das Modul ist im Kernel ohnehin enthalten. Bei Debian Jessie musst du die "jessie-backports" Repositories aktivieren, und dann die Userspace und DKMS Pakete installieren (inklusive Kernelheader, Compiler, ...). In beiden Fällen ist u.U. noch ein "modprobe spl zfs" notwendig, um die Module zu laden (das geht aber zur Laufzeit, ohne Reboot!). Einfacher/komfortabler ist es aber wahrscheinlich wirklich, ein ZFS-taugliches System fix auf einen USB-Stick o.Ä. zu installieren, dann musst du nicht jedes Mal mühsam alles in der Live-Session installieren ;)
 
@fabian: Wie stehen die Aktien einen Rescue/Debug-Modus in die Install-ISO einzubauen?

der debug installer erlaubt zugriff auf zfs (im disk setup dialog auf "abort" klicken, dann landest du in der shell)
die 4.3er iso hat auch einen rescue boot modus, in der wahlweise von lvm oder zfs gebootet wird, auch wenn der bootloader auf der disk selbst zerschossen ist (wenn du "e" im boot menü drückst während der rescue mode ausgewählt ist, siehst du was genau im hintergrund probiert wird und kannst selbst ergänzen/ändern/...).
 

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!