Website-Suche

So verwalten Sie Software-RAIDs unter Linux mit dem Tool „Mdadm“ – Teil 9


Unabhängig von Ihrer bisherigen Erfahrung mit RAID-Arrays und davon, ob Sie alle Tutorials dieser RAID-Reihe befolgt haben oder nicht, ist die Verwaltung von Software-RAIDs unter Linux keine sehr komplizierte Aufgabe, sobald Sie sich mit mdadm --manage vertraut gemacht haben. Befehl.

In diesem Tutorial werden wir die von diesem Tool bereitgestellten Funktionen überprüfen, damit Sie es bei Bedarf zur Hand haben.

RAID-Testszenario

Wie im letzten Artikel dieser Serie verwenden wir der Einfachheit halber ein RAID 1 (Spiegel)-Array, das aus zwei 8 GB-Festplatten besteht (/dev/sdb und /dev/sdc) und ein erstes Ersatzgerät (/dev/sdd) zur Veranschaulichung, aber die hier aufgeführten Befehle und Konzepte gelten auch für andere Arten von auch Setups. Fügen Sie diese Seite jedoch gerne zu den Lesezeichen Ihres Browsers hinzu und legen Sie los.

Grundlegendes zu den Optionen und der Verwendung von mdadm

Glücklicherweise bietet mdadm ein eingebautes --help-Flag, das Erklärungen und Dokumentation für jede der Hauptoptionen bereitstellt.

Beginnen wir also mit der Eingabe:


mdadm --manage --help

um zu sehen, welche Aufgaben wir mit mdadm --manage ausführen können und wie:

Wie wir im obigen Bild sehen können, umfasst die Verwaltung eines RAID-Arrays die gelegentliche Ausführung der folgenden Aufgaben:

  1. (Erneutes) Hinzufügen eines Geräts zum Array.
  2. Markieren Sie ein Gerät als fehlerhaft.
  3. Entfernen eines fehlerhaften Geräts aus dem Array.
  4. Ersetzen des defekten Geräts durch ein Ersatzgerät.
  5. Starten Sie ein Array, das teilweise erstellt wurde.
  6. Stoppen Sie ein Array.
  7. Markieren Sie ein Array als ro (schreibgeschützt) oder rw (schreibgeschützt).

Verwalten von RAID-Geräten mit dem mdadm Tool

Beachten Sie, dass mdadm trotzdem den Verwaltungsmodus annimmt, wenn Sie die Option --manage weglassen. Behalten Sie diese Tatsache im Hinterkopf, um spätere Probleme zu vermeiden.

Der hervorgehobene Text im vorherigen Bild zeigt die grundlegende Syntax zum Verwalten von RAIDs:


mdadm --manage RAID options devices

Lassen Sie uns dies anhand einiger Beispiele veranschaulichen.

Beispiel 1: Fügen Sie dem RAID-Array ein Gerät hinzu

Normalerweise fügen Sie ein neues Gerät hinzu, wenn Sie ein defektes Gerät ersetzen oder wenn Sie ein Ersatzteil haben, das Sie im Falle eines Ausfalls zur Hand haben möchten:


mdadm --manage /dev/md0 --add /dev/sdd1

Beispiel 2: Markieren eines RAID-Geräts als fehlerhaft und Entfernen aus dem Array

Dies ist ein obligatorischer Schritt vor dem logischen Entfernen des Geräts aus dem Array und dem späteren physischen Herausziehen aus der Maschine – in dieser Reihenfolge (wenn Sie einen dieser Schritte verpassen, kann es am Ende zu tatsächlichem Schaden am Gerät kommen):


mdadm --manage /dev/md0 --fail /dev/sdb1

Beachten Sie, wie das im vorherigen Beispiel hinzugefügte Ersatzgerät verwendet wird, um die ausgefallene Festplatte automatisch zu ersetzen. Darüber hinaus beginnt auch die Wiederherstellung und Neuerstellung der Raid-Daten sofort:

Sobald das Gerät manuell als ausgefallen gemeldet wurde, kann es sicher aus dem Array entfernt werden:


mdadm --manage /dev/md0 --remove /dev/sdb1
Beispiel 3: Erneutes Hinzufügen eines Geräts, das Teil des zuvor entfernten Arrays war

Bis zu diesem Punkt haben wir ein funktionierendes RAID 1-Array, das aus zwei aktiven Geräten besteht: /dev/sdc1 und /dev/sdd1. Wenn wir jetzt versuchen, /dev/sdb1 erneut zu /dev/md0 hinzuzufügen:


mdadm --manage /dev/md0 --re-add /dev/sdb1

wir werden auf einen Fehler stoßen:


mdadm: --re-add for /dev/sdb1 to /dev/md0 is not possible

weil das Array bereits aus der maximal möglichen Anzahl an Laufwerken besteht. Wir haben also zwei Möglichkeiten: a) /dev/sdb1 als Ersatz hinzufügen, wie in Beispiel 1 gezeigt, oder b) /dev/sdd1 aus dem Array entfernen und Fügen Sie dann /dev/sdb1 erneut hinzu.

Wir wählen Option b) und stoppen zunächst das Array, um es später wieder zusammenzusetzen:


mdadm --stop /dev/md0
mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1

Wenn der obige Befehl /dev/sdb1 nicht erfolgreich wieder zum Array hinzufügt, verwenden Sie dazu den Befehl aus Beispiel Nr. 1.

Obwohl mdadm das neu hinzugefügte Gerät zunächst als Ersatzgerät erkennt, beginnt es mit der Wiederherstellung der Daten und sollte anschließend erkennen, dass das Gerät ein aktiver Teil des RAID ist:

Beispiel 4: Ersetzen Sie ein Raid-Gerät durch eine bestimmte Festplatte

Das Ersetzen einer Festplatte im Array durch eine Ersatzfestplatte ist so einfach wie:


mdadm --manage /dev/md0 --replace /dev/sdb1 --with /dev/sdd1

Dies führt dazu, dass das Gerät, das dem Schalter --with folgt, dem RAID hinzugefügt wird, während die durch --replace angegebene Festplatte als fehlerhaft markiert wird:

Beispiel 5: Markieren eines Raid-Arrays als ro oder rw

Nachdem Sie das Array erstellt haben, müssen Sie darüber ein Dateisystem erstellt und es in einem Verzeichnis gemountet haben, um es verwenden zu können. Was Sie damals wahrscheinlich noch nicht wussten, ist, dass Sie das RAID als ro markieren können, sodass nur Lesevorgänge darauf oder rw ausgeführt werden können, um zu schreiben auch am Gerät.

Um das Gerät als ro zu markieren, muss es zunächst ausgehängt werden:


umount /mnt/raid1
mdadm --manage /dev/md0 --readonly
mount /mnt/raid1
touch /mnt/raid1/test1

Um das Array so zu konfigurieren, dass es auch Schreibvorgänge zulässt, verwenden Sie die Option --readwrite. Beachten Sie, dass Sie das Gerät aushängen und stoppen müssen, bevor Sie das rw-Flag setzen:


umount /mnt/raid1
mdadm --manage /dev/md0 --stop
mdadm --assemble /dev/md0 /dev/sdc1 /dev/sdd1
mdadm --manage /dev/md0 --readwrite
touch /mnt/raid1/test2

Zusammenfassung

In dieser Serie haben wir erklärt, wie man verschiedene Software-RAID-Arrays einrichtet, die in Unternehmensumgebungen verwendet werden. Wenn Sie die Artikel und Beispiele in diesen Artikeln gelesen haben, sind Sie bereit, die Leistungsfähigkeit von Software-RAIDs unter Linux zu nutzen.

Sollten Sie Fragen oder Anregungen haben, können Sie uns gerne über das untenstehende Formular kontaktieren.