Zum Inhalt springen

Proxmox ZFS Mirror Disk austauschen mit Boot Partition

3. Januar 2025 durch
Christian Lisec

Viele Proxmox VE Installationen sind redundant aufgebaut und bieten dank ZFS-Mirror (ähnlich RAID1) Ausfallsicherheit. Selbst wenn eine Systemfestplatte ausfällt, bleibt dein System betriebsbereit. In diesem Artikel erfährst du, wie du nach einem Festplattenausfall vorgehst, einschließlich des Umgangs mit Boot-Loadern wie GRUB und systemd-boot (UEFI), damit du deine Festplatte erfolgreich austauschst und die Redundanz wiederherstellst.


ACHTUNG! Das Ausführen jeglicher Befehlszeilen in diesem Beitrag erfolgt auf eigene Gefahr und ist keine Garantie dafür, dass Daten unbeschädigt bleiben!


Boot-Loader herausfinden

Um festzustellen, ob dein PVE-System mit GRUB oder systemd-boot startet, verwende den folgenden Befehl:

efibootmgr -v
GRUB
  • Legacy Mode
    : BIOS läuft im Legacy-Mode und hat keine UEFI-Unterstützung.
    Ergebnis des Befehls: EFI variables are not supported on this system.
  • UEFI Mode
    : Verwendung von GRUB mit UEFI-Modus im BIOS.
    Ergebnis des Befehls: Boot0005* proxmox File(\EFI\proxmox\grubx64.efi)
Systemd-Boot
  • UEFI mit systemd-boot:
    Ergebnis des Befehls: Boot0005* Linux Boot Manager HD(2,GPT[...])/File(\EFI\systemd\systemd-bootx64.efi)


Ausgefallene Festplatte identifizieren

Um festzustellen, welche Festplatte ausgefallen ist, verwende den Befehl "lsblk".

  • Vor dem Ausfall
    Zwei Boot-Datenträger vorhanden (sda und sdb).
    > lsblk
    sda 1000G disk ├─sda1 BIOS boot ├─sda2 EFI System └─sda3 ZFS sdb 1000G disk ├─sdb1 BIOS boot ├─sdb2 EFI System └─sdb3 ZFS
  • Nach dem Ausfall
    Falls sda fehlt, ist sie ausgefallen.
    > lsblk
    sdb 1000G disk ├─sdb1 BIOS boot ├─sdb2 EFI System └─sdb3 ZFS


Partitionslayout kopieren

Verwende folgende Befehle, um das Partitionslayout einer gesunden Festplatte auf eine neue Festplatte zu kopieren:
(sgdisk <healthy bootable device> -R <new device>)

(sgdisk -G <new device>)

sgdisk /dev/sdb -R /dev/sda
sgdisk -G /dev/sda


ZFS Festplatte austauschen

Überprüfe zunächst den ZFS-Pool-Status und finde die Disk-IDs heraus:

zpool status -v

Führe folgenden Befehl aus, damit du dir die jeweiligen Disk-IDs notierst. Normalerweise sind die ZFS-Mirror-Daten in der dritten Partition. Notiere dir die jeweils dritte Partition der neuen und gesunden Festplatte:

> ls -l /dev/disk/by-id/*
/dev/disk/by-id/scsi-[...]-part3 -> ../../sdb3
...
/dev/disk/by-id/scsi-[...]-part3 -> ../../sda3

Ersetze die alte durch die neue Festplatte:
(zpool replace -f <pool name> <old partition> <new partition>)

zpool replace -f rpool /dev/disk/by-id/scsi-[...]-part3 /dev/disk/by-id/<ID-NEUE-FESTPLATTE>


Festplattenaustausch finalisieren

Bevor du fortfährst, stelle noch sicher, welcher Bootloader im Einsatz ist und wähle entsprechend die zutreffenden Befehle aus.

GRUB

Installiere GRUB auf der neuen Festplatte:

grub-install /dev/sda
update-initramfs -u

Falls Grub nicht installiert werden kann, da proxmox-boot-tool eingesetzt wird:
(Achte darauf, dass du hier die Disk-ID der zweiten Partition bzw. "EFI"-Partition eintragst.)

proxmox-boot-tool format /dev/disk/by-id/scsi-[...]-part2
proxmox-boot-tool init /dev/disk/by-id/scsi-[...]-part2 grub
proxmox-boot-tool refresh proxmox-boot-tool clean proxmox-boot-tool status
UEFI

Formatieren und initialisiere die EFI-Systempartition:

proxmox-boot-tool format /dev/disk/by-id/<DISK-ID-DER-ZWEITEN-PARTITION>
proxmox-boot-tool init /dev/disk/by-id/<DISK-ID-DER-ZWEITEN-PARTITION>

Führe die Aktualisierungen und Reinigungen durch:

proxmox-boot-tool refresh
proxmox-boot-tool clean
proxmox-boot-tool status
Christian Lisec 3. Januar 2025
Diesen Beitrag teilen