Wie benenne ich ein mdadm-RAID-Array um?

12

Ich habe ein neues RAID-Array zusammengestellt, um ein altes zu ersetzen. Diesem neuen Array wurde jedoch automatisch der Name / dev / md127 zugewiesen, und ich möchte ihn in / dev / md3 umbenennen, damit ich nicht verschiedene andere Einstellungen ändern muss. Wie benenne ich ein mdadm-RAID-Array um?

Skolima
quelle

Antworten:

10

Beginnen Sie mit mdadm --detail /dev/md127:

Version : 0.90
Creation Time : Wed Apr 13 20:03:21 2011
Raid Level : raid10
Array Size : 656765952 (626.34 GiB 672.53 GB)
Used Dev Size : 437843968 (417.56 GiB 448.35 GB)
Raid Devices : 3
Total Devices : 2
Preferred Minor : 8
Persistence : Superblock is persistent

In der ersten Zeile wird die von diesem Array verwendete Metadatenversion angezeigt. Stoppen Sie nun das Array:

mdadm --stop /dev/md127
mdadm --remove /dev/md127

Und montieren Sie es erneut unter dem neuen Namen. Wenn die Metadatenversion 1.0 oder höher ist, verwenden Sie Folgendes:

mdadm --assemble /dev/md3 /dev/sd[abcdefghijk]3 --update=name

Verwenden Sie für Arrays, die eine alte Metadatenstruktur verwenden (höchstwahrscheinlich 0,90, da dies die automatische Zusammenstellung des Kernels ermöglicht):

mdadm --assemble /dev/md3 --update=super-minor /dev/sd[abcdefghijk]3
Skolima
quelle
Dieser Vorgang funktioniert einwandfrei für mich bis zum Neustart. Dann geht es zurück zu / dev / md127.
2
Ich verwende jetzt Array-UUID anstelle von Name, da es sich für mich als viel zuverlässiger erwiesen hat (z. B. hat das Dual-Booten die Namen jedes Mal durcheinander gebracht und verursacht keine Probleme mit UUIDs).
Skolima
In diesem Fall sollten Sie Ihre Antwort aktualisieren.
Isuldor
@briankb Ich meinte, dass es mir egal ist, mit welchen Namen ich ende, weil ich sie nicht mehr benutze. Ich habe die UUID an die Stelle gesetzt, an der ich zB / dev / md3 vorher gesetzt habe. Wenn die Antwort veraltet ist, schlagen Sie bitte eine aktualisierte vor und ich werde sie gerne annehmen. Im Allgemeinen würde ich jedoch empfehlen, das anfängliche Problem ganz zu vermeiden, indem Sie überhaupt keine Array-Namen verwenden.
Skolima
5

Ich befand mich in einer ähnlichen Position - ich hatte ein Array erstellt, das nach dem Neustart in / dev / md127 umbenannt wurde.

Der Code

mdadm --stop /dev/md127

mdadm --assemble /dev/md3 /dev/sd[cdef]1

war genug, um das md-Array für mich umzubenennen, aber wie alle anderen würde es nach einem Neustart wieder zu / dev / md127 zurückkehren

Ich fand heraus, dass, wenn ich das MD-Array wieder in / dev / md3 zusammenbaute und dann die initramfs-Datei neu erstellte ( dracut --forcewie ich es unter CentOS tue), es sich nach dem Neustart an den Namen meines Arrays (/ dev / md3) erinnern würde.

jpk
quelle