Hot-Swap-Laufwerk hat neuen Namen bekommen. Funktioniert das Array weiterhin, wenn ich es wieder zum Array "md" hinzufüge und es beim Neustart umbenannt wird?

9

Eine der Festplatten in der RAID-Konfiguration meines Servers ist ausgefallen, daher habe ich sie aus dem Array entfernt und vom Rechenzentrum im laufenden Betrieb austauschen lassen. Sie haben das getan, aber jetzt ist das neue Laufwerk /dev/sdceher als /dev/sda. Ich vermute, dass der Server beim Neustart /dev/sdaerneut gestartet wird. Daher zögere ich, ihn wieder zum Array hinzuzufügen, /dev/sdcda ich beim nächsten Neustart keine Falle für mich selbst stellen möchte. Ich würde den Server genauso schnell nicht neu starten, wenn ich nicht muss (wenn ich muss, na ja, schade für mich).

Wenn ich es als hinzufüge /dev/sdc, tritt beim Neustart ein Problem auf? Oder gibt es eine Möglichkeit, den Gerätenamen von /dev/sdcin zu ändern , /dev/sdaohne neu zu starten?

Dies ist auf Ubuntu 10.04 LTS. Es ist ein mdArray ("Linux Software RAID"), auf dem derzeit eines der Geräte (es gibt einige davon) so aussieht ("degradiert", weil ich das alte /dev/sdadaraus entfernt habe):

# mdadm --detail / dev / md0
/ dev / md0:
        Version: 00.90.03
  Erstellungszeit: So 11.10. 21:07:54 2009
     Schlachtzugsstufe: Schlachtzug1
     Array-Größe: 97536 (95,27 MiB 99,88 MB)
  Gebraucht Dev Größe: 97536 (95,27 MiB 99,88 MB)
   Schlachtzugsgeräte: 2
  Geräte insgesamt: 1
Bevorzugte Minderjährige: 0
    Persistenz: Superblock ist persistent

    Aktualisierungszeit: Do 30.06. 09:31:16 2011
          Zustand: sauber, degradiert
 Aktive Geräte: 1
Arbeitsgeräte: 1
 Fehlerhafte Geräte: 0
  Ersatzgeräte: 0

           UUID: 496be7a5: ab9177ed: 7792c71e: 7dc17aa4
         Ereignisse: 0,112

    Anzahl Major Minor RaidDevice State
       0 8 17 0 aktive Synchronisierung / dev / sdb1
       1 0 0 1 entfernt
TJ Crowder
quelle
1
Welches Array? Wenn es
UIDs scannt, spielt
Es ist ein mdArray ("Linux Software RAID"). Das gesamte Hinzufügen / Entfernen von Geräten und dergleichen bezieht sich auf Gerätenamen, aber ich weiß nicht, dass dies bedeutet, dass es tatsächlich von ihnen abhängt oder ... Ich habe die Ausgabe von mdadm --detaildieser Frage zur Frage hinzugefügt .
TJ Crowder
für md-Arrays mdadm durchsucht alle Festplatten (wie in /etc/mdadm.conf definiert), sodass es keine Rolle spielt, wo sie sich befinden, da eine ID in den Header der Festplatte geschrieben wird, damit die Arrays wieder zusammengesetzt werden können.
Jure1873
Ja, danke, sehen Sie sich das Update zu der Frage an. Ich habe dieses Verhalten beschrieben und überprüft, ob es funktioniert.
TJ Crowder
1
@TJCrowder Anstatt (oder zusätzlich) Ihre Frage zu aktualisieren, möchten Sie möglicherweise Ihren Befund als Antwort hinzufügen (und akzeptieren), da diese Frage im Grunde gelöst ist.
Dennis Nolte

Antworten:

1

Es ist in Ordnung, fortzufahren und es als hinzuzufügen /dev/sdc. Lesen durch die Kernel - mdDokumentation , wenn der Name auf Neustart ändert, es spielt keine Rolle. (Gutes Design, das.) Hier ist der Grund:

Automatische Erkennung der Startzeit von RAID-Arrays

Wenn md in den Kernel kompiliert wird (nicht als Modul), werden Partitionen vom Typ 0xfd gescannt und automatisch zu RAID-Arrays zusammengesetzt. Diese automatische Erkennung kann mit dem Kernel-Parameter "raid = noautodetect" unterdrückt werden. Ab Kernel 2.6.9 können nur Laufwerke mit einem Superblock vom Typ 0 automatisch erkannt und beim Booten ausgeführt werden.

Der Kernel-Parameter "raid = partitionable" (oder "raid = part") bedeutet, dass alle automatisch erkannten Arrays als partitionierbar zusammengestellt werden.

Obwohl ich nicht mdin den Kernel kompiliert habe, funktioniert mein Setup genauso wie oben, da es automatisch geladen wird mdadmund mdadm.confso eingerichtet ist, dass alle Partitionen nach einem Superblock durchsucht werden, so wie es der Kernel tun würde:

# Scannen Sie standardmäßig alle Partitionen (/ proc / partitions) nach MD-Superblocks.
# Alternativ können Sie Geräte zum Scannen angeben und bei Bedarf Platzhalter verwenden.
GERÄTE-Partitionen

Es ist also in Ordnung, das Array mit neu zu erstellen /dev/sdc. Der Name wird sich wahrscheinlich /dev/sdabeim Neustart in ändern , aber das verursacht keine Probleme, wenn mdes wie oben eingerichtet ist.

TJ Crowder
quelle