mdadm erstellt beim Booten ein Legacy-Array

1

Ich habe RAID0, das mit Windows Dynamic Disk erstellt wurde. Ich habe gelesen, dass dies ein Legacy-Array ist und mit build in mdadm zusammengestellt werden kann. Ich habe das Array mit den folgenden Befehlen erstellen und mounten lassen:

sudo mdadm --build /dev/md0 --chunk=64 --level=0 --raid-devices=2 /dev/sdc1 /dev/sdb1
sudo mount -t ntfs-3g /dev/md0 /media/raid

Das funktioniert super!

Jetzt arbeite ich daran, dieses Array beim Booten zu aktivieren. Ich habe den folgenden Eintrag zu fstab hinzugefügt:

 /dev/md0 /media/raid ntfs-3g defaults,locale=en_US.utf8 0 0

Hier entsteht mein Problem. Bevor md0 jedoch montiert werden kann, muss es zusammengebaut werden. Alles, was ich gelesen habe, lautet wie folgt:

sudo mdadm --detail --scan

Und um die Ausgabe in die mdadm.conf zu stellen. Die Ausgabe ist jedoch:

ARRAY /dev/md0 metadata=

Da es sich bei dem Array um ein Legacy-Array handelt, gibt es keine UUID oder Metadaten, und mdadm kann es nicht ausschließlich ARRAY /dev/md0in der Conf-Datei erstellen.

Was muss ich in die Datei mdadm.conf einfügen, damit der Raid beim Booten im Legacy-Modus erstellt wird?

Die Fledermaus
quelle
1
Ich bin mir nicht sicher, ob dies automatisch über mdadm.conf erfolgen kann. Sie können jedoch ein Skript mit dem richtigen Befehl mdadm erstellen und beim Booten ausführen lassen (entweder von /etc/rc.localoder von /etc/init.d- idealerweise vor dem Start der Bereitstellung aller Dateisysteme).
Marki555,
Ich habe meine beiden ursprünglichen Befehle zu einem init.d-Skript hinzugefügt und es wird jetzt erfolgreich bereitgestellt. Vielen Dank! Ich bin immer noch neugierig, ob es eine Möglichkeit gibt, einen Legacy-Raid mit mdadm durchzuführen.
TheBat

Antworten:

1

Da mdadm.confArrays für die Assembly angegeben sind, können sie nur für "normale" Arrays und nicht für ältere Arrays verwendet werden. Die Manpage gibt an, dass für ältere Arrays (Erstellungsmodus):

Diese Verwendung ähnelt --create. Der Unterschied besteht darin, dass ein Array ohne Superblock erstellt wird. Bei diesen Arrays gibt es keinen Unterschied zwischen dem anfänglichen Erstellen des Arrays und dem anschließenden Zusammenbauen des Arrays, außer dass im zweiten Fall hoffentlich nützliche Daten vorhanden sind.

Diese Arrays werden also nicht zusammengebaut. Ich vermute, das liegt daran, dass es keine Möglichkeit gibt, zu überprüfen, ob das Array erfolgreich erstellt wurde. mdadmIn diesem Fall macht sich das neue Gerät nur keine Gedanken darüber, welche Daten sich auf diesen Originalgeräten befinden.

Die Lösung für Sie besteht darin, das Array beim Booten mit einem Skript in /etc/init.d(oder /etc/rc.local) zu erstellen, das aufgerufen wird, bevor alle fstab-Dateisysteme eingehängt werden.

Sie können diese Zeile ausprobieren mdadm.conf, aber ich glaube nicht, dass es funktionieren wird:ARRAY /dev/md0 level=0 devices=/dev/sdc1,/dev/sdb1

Marki555
quelle