So stellen Sie ein bestimmtes RAID-Array zusammen, ohne /etc/mdadm.conf zu verwenden

9

Ist es möglich, ein bestimmtes RAID-Array mit mdadm und seiner Scan-Funktionalität zusammenzustellen, ohne dass eine Konfigurationsdatei erforderlich ist?

Hintergrund:
Ich verwende ein maßgeschneidertes Initramfs, um mein System einzurichten (dm-crypt und andere Dinge). Alles wird im Init-Skript erledigt und konfiguriert, und so möchte ich es behalten, dh ohne zusätzliche Konfigurationsdateien.

Mein Ziel:
Innerhalb des Init-Skripts möchte ich ein bestimmtes RAID-Array nur über die Befehlszeile zusammenstellen. Das Array wird über seine UUID identifiziert, der md-Gerätename wird angegeben und die Array-Mitglieder sollten gescannt werden (da beispielsweise ein angeschlossener USB-Stick oder ein ausgefallenes Gerät die Namen / dev / sdX durcheinander bringen würde). Alle anderen Geräte und potenziellen RAID-Arrays sind zu ignorieren, da beim Booten nur dieses eine Array von Interesse ist (das Root-Dateisystem trägt).


Ich habe die Manpage von mdadm gründlich gelesen und mehrere Tests durchgeführt.

mdadm --assemble --uuid <uuid> /dev/md0


Das scheint zu funktionieren, aber ist das der richtige Weg?


Über die Manpage:
Wenn genau ein Gerät aufgelistet ist, aber --scan nicht angegeben ist, verhält sich mdadm so, als ob --scan angegeben wurde, und Identitätsinformationen werden aus der Konfigurationsdatei extrahiert.

maxxim
quelle

Antworten:

15

Wenn Sie die Array-UUID kennen, wird mdadm --assemble /dev/md0 --uuid <uuid>(beachten Sie den geringfügigen Unterschied in der Parameterreihenfolge) das getan, was Sie möchten: Scannen Sie alle nicht verwendeten Volumes nach solchen, die mdMetadaten für die angegebene UUID haben. Andere Optionen:

  • mdadm --assemble /dev/md0 --name <name>(macht dasselbe wie --uuid, aber mit einem Array-Namen anstelle einer UUID.)
  • mdadm --assemble /dev/md0 --super-minor <minor id #>(Funktioniert genauso wie --uuid, jedoch mit geringfügigen Gerätenummern in den Metadaten. Nur für Metadaten der Version 0.90 empfohlen.)
  • mdadm --assemble /dev/md0 /dev/disk/by-id/<disk>...(Wenn Aliase udeveingerichtet wurden /dev/disk/by-id, die bei Hardwareänderungen statisch sein sollten.)
  • mdadm --assemble --scanIn der Konfigurationsdatei sind keine Arrays aufgeführt (scannen Sie alle nicht verwendeten Volumes nach mdMetadaten und stellen Sie RAID-Arrays basierend auf den gefundenen Arrays zusammen. Beachten Sie dies, wenn Sie mehrere Arrays haben und nur eines davon einrichten möchten oder wenn Ihr Array erhalten wurde Split, das macht nicht was du willst.)
Kennzeichen
quelle