[gelöst] Wie zweite Platte eines RAID1 bootfähig machen?

  • Mein VDR hat das System (openSUSE 15.0) auf einem RAID1 und benutzt grub2 als Bootmanager.

    Jede der beiden Platten hat auch eine EFI-Partition, wobei nur die von der ersten Platte als /boot/efi gemountet ist.

    Die EFI-Partition der zweiten Platte ist leer.


    Ich möchte nun vorsorgen für den Fall, dass die erste Platte total ausfällt. Wie kann ich sicherstellen, dass das System auch dann noch bootet (von der zweiten Platte)?

    Irgendwie muss ich wohl die EFI-Partition der zweiten Platte füllen. Aber reicht es, den Inhalt der ersten Platte einfach zu kopieren?

    Und was ist mit dem Bootsektor? Gibt's den bei EFI überhaupt noch?

    Und der fstab-Eintrag

    UUID=6F85-BE57 /boot/efi vfat defaults 0 0

    lässt auch nichts Gutes ahnen, denn die EFI-Partition der zweiten Platte wird wohl eine andere UUID haben, oder?

  • Das sieht bei mir so aus:

    Code
    /dev/sda2: UUID="7a610577-853f-c248-d243-79d51da1fe49" UUID_SUB="4d846d9c-ab7b-17d4-f520-9b3e8cabc6d0" LABEL="any:os2" TYPE="linux_raid_member" PARTUUID="d036fe86-69fd-461e-8822-21e247162cc4"
    /dev/sda6: LABEL="EFI" UUID="6F85-BE57" TYPE="vfat" PARTUUID="7c8229eb-be8e-460d-9a48-325290ad892a"
    /dev/sdb2: UUID="7a610577-853f-c248-d243-79d51da1fe49" UUID_SUB="4811e112-474d-c335-b40a-587ef5e9c7e8" LABEL="any:os2" TYPE="linux_raid_member" PARTUUID="d036fe86-69fd-461e-8822-21e247162cc4"
    /dev/sdb6: UUID="1FAD-3B12" TYPE="vfat" PARTUUID="f58bc054-62a4-4cd3-91ca-0f742a39026d"
    /dev/md127: LABEL="SUSE15.0" UUID="7c926639-31fd-45cf-9761-dbf78747d11c" TYPE="ext4"

    Die Partitionen sd[ab][1,3-5] sind unbenutzt.

  • Die boot/efi Partition der zweiten Platte hat wohl die uuid 1FAD-3B12.

    Theoretisch solltest du die uuids in der Platte in der fstab durch /dev/sd[ab][123456] ersetzen können.

    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler


    to spoil
    verderben
    beschädigen
    plündern
    behindern
    berauben
    vereiteln
    rauben
    zerstören [fig.] [verderben, verunstalten]
    vergällen
    verhageln [fig.]

  • Oder man arbeitet mit LABELs. Die können bei beiden Platten auch gleich sein. Ob das aber mit EFI funktioniert, hab ich noch nicht probiert.

    vdr User #2022 - hdvdr2:

    Lenovo SFF M83, Intel(R) Core(TM) i5-4670S, 32 GB Ram, zram-swap, ubuntu-focal+ESM, softhdcuvid-placebo, ffmpeg-8.0.1(git)

    ddbridge mit DVB-S2 und (Flex) 2xDVB-C/T Tunern, nvidia-GF1050Ti SFF (nvidia-dkms-580.126.09), system SSD btrfs,

    timeshift-btrfs, Video 8TB HDD XFS/cow, yavdr-ansible-2.8.1-seahawk, tvscraper tvsp, Kernel 6.18.19+dddvb-0.9.41-git

    vdradmin-am-3.6.15, vdr-live-ng, svdrpapp (Smartphones als FB)

  • Man kann die Platte auch so einrichten das man nur "umstecken" muss, hab ich schon öfters gemacht.

    Die blkid der vorhandenen Platte ermitteln: https://wiki.ubuntuusers.de/blkid/

    Dann die uuid der neuen Platte zuweisen: https://wiki.ubuntuusers.de/UUID/

    Bei ext geht das mit tune2fs -U NEUER_UUID /dev/sdxX

    Gruß utiltiy

    meine VDR

    vdr03: Antec Remote Fusion, Intel DH67BL, Celeron G1620, GT630, 2x 2GB DDR3 - Hynix, SDA SATA 40GB, SDB SATA 1.5TB, L4M Cine S2 [yaVDR/vdr4arch]
    vdr04: Antec Remote Fusion Micro, Intel DH67BL, Celeron G550, GT630, 2x 2GB DDR3 - Kingston, SDA SATA 160GB WD, SDB SATA 3TB WD Red, L4M Cine S2 [yaVDR/vdr4arch]


    VDR Projects

  • Das Problem ist wohl weniger der fstab-Eintrag, denn der greift eh erst, nachdem das System gebootet hat und das RAID1 gestartet ist.

    Was mich hauptsächlich beschäftigt ist, wie ich die zweite Platte dazu bringe, ohne weiteres Zutun nach einem Totalausfall der ersten Platte zu booten.

  • Zu MBR-Zeiten ging das noch, indem mit LABEL gearbeitet wurde und der Grub auf beide Platten installiert wurde.

    Aber so ein "Totalausfall" einer Platte ohne den Bus erstmal zu blockieren, ist ohnehin eine Seltenheit - in der Praxis wird es ohne Abstecken (und Umstecken) der kaputten Platte nicht gehen, außer man hat 2 Controller am Board.

    vdr User #2022 - hdvdr2:

    Lenovo SFF M83, Intel(R) Core(TM) i5-4670S, 32 GB Ram, zram-swap, ubuntu-focal+ESM, softhdcuvid-placebo, ffmpeg-8.0.1(git)

    ddbridge mit DVB-S2 und (Flex) 2xDVB-C/T Tunern, nvidia-GF1050Ti SFF (nvidia-dkms-580.126.09), system SSD btrfs,

    timeshift-btrfs, Video 8TB HDD XFS/cow, yavdr-ansible-2.8.1-seahawk, tvscraper tvsp, Kernel 6.18.19+dddvb-0.9.41-git

    vdradmin-am-3.6.15, vdr-live-ng, svdrpapp (Smartphones als FB)

  • Da gibt es wohl 2 Möglichkeiten:

    1. mit efibootmgr die 2.Platte mit hinzufügen:

    http://www.thomas-krenn.com/de/wiki/Ubuntu…_Eintr%C3%A4gen

    2. die uefi boot Partition als raid1 ausführen:

    askubuntu.com/questions/66637/can-the-efi-system-partition-be-raided

    Hier ist der Hinweis wichtig, das raid1 mit Metadata ver. 1.0 zu erzeugen.

    Das hatte ich längere Zeit so, allerdings mit MBR, im Einsatz.

    VDR 2.8.1: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 10TB HD mit ZFS RaidZ, GT1030, Fedora 42 Kernel 6.19 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Zum Abschluss für alle, die auch so ein Setup haben:

    Nach den Aktionen

    umount /boot/efi

    mkfs.vfat /dev/sdb6

    parted /dev/sdb set 1 boot on

    mount /dev/sdb6 /boot/efi

    grub2-install --bootloader-id opensuse2 /dev/sdb

    umount /boot/efi

    mount /boot/efi

    habe ich den PC ausgeschaltet, /dev/sda abgesteckt und neu gebootet.

    Das System startete, wartete aber auf die fehlende Partition /dev/sda6, weil diese ja in /etc/fstab eingetragen ist.

    Nach Timeout (1.5 Minuten) wurde fertig gebootet. Nachdem ich die /boot/efi-Zeile in /etc/fstab auskommentiert hatte, erfolgte ein weiterer Reboot problemlos. Ich gehe davon aus, dass eine Anpassung der UUID für den Mount von /boot/efi diesen wieder ermöglichen wird, habe das aber nicht explizit getestet.

    Nachdem ich /dev/sda wieder angesteckt und mit mdadm die System-Partition wieder zum RAID hinzugefügt habe, ist alles wieder wie vorher.

    Fazit: Um bei einem RAID1-System mit separater EFI-Partition sicherzustellen, dass man nach Ausfall der Platte, von der gebootet wird, nicht ohne bootfähiges System dasteht, sollte man obige Aktion durchführen (Disk-Namen und Partitions-Nummern natürlich entsprechend anpassen!).

  • Das System startete, wartete aber auf die fehlende Partition /dev/sda6, weil diese ja in /etc/fstab eingetragen ist.

    Nach Timeout (1.5 Minuten) wurde fertig gebootet.

    Falls man nicht so lange warten will, kann man den Wert auch anpassen: x-systemd.mount-timeout=

    Für nicht-essentielle Datenträger kann es ggf. Sinn machen nofail zu setzen.

    Meine VDRs

    VDR 1: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 24.04 (yavdr-ansible), VDR 2.7.4, CIR-Empfänger
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    Client 1: Raspberry Pi 2, Ubuntu 22.04 (yavdr-ansible), VDR 2.6.1

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!