mdadm erstellt beim Booten ein Legacy-Array

mdadm erstellt beim Booten ein Legacy-Array

Ich habe RAID0, das mit dynamischer Windows-Festplatte 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 können:

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 großartig!

Jetzt arbeite ich daran, dieses Array beim Booten zu mounten. 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 gemountet werden kann, muss es assembliert werden. Alles, was ich gelesen habe, sagt, man solle Folgendes ausführen:

sudo mdadm --detail --scan

Und fügen Sie die Ausgabe in mdadm.conf ein. Die Ausgabe lautet jedoch:

ARRAY /dev/md0 metadata=

Da es sich bei dem Array um ein Legacy-Array handelt, verfügt es weder über eine UUID noch über Metadaten, und mdadm kann es nicht allein auf Grundlage ARRAY /dev/md0der Conf-Datei erstellen.

Was muss ich in mdadm.conf eingeben, damit das Raid beim Booten im Legacy-Modus zusammengestellt wird?

Antwort1

Da mdadm.confArrays für die Assembly angegeben werden, kann es nur für „normale“ Arrays und nicht für Legacy-Arrays verwendet werden. Die Manpage gibt Folgendes für Legacy-Arrays (Build-Modus) an:

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

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

Die Lösung für Sie besteht darin, das Array beim Booten mithilfe eines Skripts in /etc/init.d(oder /etc/rc.local) zu erstellen, das aufgerufen wird, bevor alle fstab-Dateisysteme gemountet werden.

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

verwandte Informationen