Bootloader auf eine ersetzte Platte im RAID1

Hi,

ich hab nen kleinen Linuxserver mit software RAID1. Jetzt ist eine Platte kaputt, Server läuft weiter. Prima.

Ich würde jetzt die neue Platte mit sfdisk entsprechend der noch funktionierenden Platte partitionieren und mit mdadm die einzelnen Partitionen zum RAID hinzufügen.

Jetzt hab ich aber in einer Anleitung gelesen, dass man auf die neue Platte noch den Bootloader installieren muss. Ist das nötig? Ich hätte gedacht, dass durch den Rebuild eine vollständige Kopie der noch funktionierenden Platte gemacht wird. Da müsste doch der Bootloader mit dabei sein. Kann das schaden, wenn ich ein grub-install auf eine Platte ausführe, die Teil eines RAID1 ist?

Ach ja, headless Ubuntu 22.04.

Hi,

gemäß der Partition, die bei mdadm steht. Also wenn nur /dev/sda1 und /dev/sdb1 ge-mirror-t werden, dann fehlt der MBR. Hast Du stattdessen /dev/sda und /dev/sdb im Verbund, dann ist der MBR dabei.

1 Like

Alles klar, vielen Dank. Ich habe die Partitionen einzeln hinzugefügt.

sfdisk -d /dev/nvme0n1 | sfdisk /dev/nvme1n1
mdadm --manage /dev/md0 -a /dev/nvme1n1p1
mdadm --manage /dev/md1 -a /dev/nvme1n1p2
mdadm --manage /dev/md2 -a /dev/nvme1n1p3

lsblk sagt

    NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
    nvme0n1     259:0    0 476.9G  0 disk
    ├─nvme0n1p1 259:1    0    32G  0 part
    │ └─md0       9:0    0    32G  0 raid1 [SWAP]
    ├─nvme0n1p2 259:2    0     1G  0 part
    │ └─md1       9:1    0  1022M  0 raid1 /boot
    └─nvme0n1p3 259:3    0 443.9G  0 part
      └─md2       9:2    0 443.8G  0 raid1 /
    nvme1n1     259:4    0 476.9G  0 disk
    ├─nvme1n1p1 259:5    0    32G  0 part
    │ └─md0       9:0    0    32G  0 raid1 [SWAP]
    ├─nvme1n1p2 259:6    0     1G  0 part
    │ └─md1       9:1    0  1022M  0 raid1 /boot
    └─nvme1n1p3 259:7    0 443.9G  0 part
      └─md2       9:2    0 443.8G  0 raid1 / 

Das heißt, ich mach auf die Partition der neuen Platte ein grub-install, die auf /boot gemounted ist?

grub-install /dev/nvme1n1p2 

… die auf /boot gemounted ist?

Das nicht, die wird ja mitgesynct. Es geht bei dem Hinweis, um den MBR, die ersten 512 bytes. Mit grub weiß ich nicht, wie das geht. Ich mache immer:

dd if=/usr/share/syslinux/mbr.bin of=/dev/nvme1n1

oder falls Du Dir über den Inhalt nicht sicher bist:

dd if=/dev/nvme0n1 of=/dev/nfme1n1 bs=512 count=1
1 Like

Ok. Hab das gemacht. Brauch ich noch was oder ist das jetzt alles? Ist tatsächlich mein erstes Mal.

1+0 records in
1+0 records out
512 bytes copied, 0.000109857 s, 4.7 MB/s

Vielen Dank für deine super hilfreiche Unterstützung.

Nein brauchst Du nicht. Und keine Ursache. Außer vielleicht die Frage, warum Du swap mit raid1 verwaltest? Soll das so ein Hot-Swap-Everything-Rechner sein, der niemals heruntergefahren wird?

Cool, vielen Dank.

Das kann ich dir gar nicht beantworten. Das war im Urzustand schon so. Ich hab das nur wieder in den Originalzustand versetzt.

Nö. Das ist ein kleiner Rechenknecht, da sind ein paar Minuten Downtime kein Problem.

Hi!

Ich mag grade quatsch schreiben, aber:

So ein RAID1 dürfte darauf basieren, dass der Inhalt der Platten sektorweise gleich ist. Man kann beim Einrichten der neuen Platte auch nicht einfach die Dateien der alten rüberkopieren, weil deren Inhalte nicht in den gleichen Sektoren landen würden. Mit den entsprechenden RAID-Tools wird das dann aber sichergestellt.

In dem Sinne muss man auch sicherstellen, dass der Bootloader-Bereich wirklich identisch ist. Ob das mit grub immer sichergestellt ist, ist fraglich.

dd dagegen kopiert Sektoren, ohne sich für den Inhalt zu interessieren, und ist daher für den Bootloader besser. Man kann mit dd auch vollständige 1:1 Kopien der Festplattenmachen, das dauert aber lange, weil einfach jeder Sektor, auch wenn er nicht belegt ist, kopiert wird.

1 Like

Danke für die Erklärung. Ich habs jetzt auch mit dd gemacht.

Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Nachrichten mehr erlaubt.