Dieses Tutorial erklärt, wie man RAID-Levels (0, 1 und 5) in Linux Schritt für Schritt mit praktischen Beispielen anzeigt, auflistet, erstellt, hinzufügt, entfernt, löscht, in der Größe verändert, formatiert, mountet und konfiguriert. Lernen Sie die grundlegenden Konzepte von Software-RAID (Chunk, Mirroring, Striping und Parity) und wichtige RAID-Geräteverwaltungsbefehle im Detail kennen.
RAID steht für Redundant Array of Independent Disks. Es gibt zwei Arten von RAID; Hardware-RAID und Software-RAID.
Hardware-RAID
Hardware-RAID ist ein physisches Speichergerät, das aus mehreren Festplatten aufgebaut ist. Beim Anschluss an das System erscheinen alle Festplatten als eine einzige SCSI-Platte im System. Aus der Sicht des Systems gibt es keinen Unterschied zwischen einer normalen SCSI-Platte und einem Hardware-RAID-Gerät. Das System kann ein Hardware-RAID-Gerät als eine einzige SCSI-Platte verwenden.
Hardware-RAID hat sein eigenes unabhängiges Plattensubsystem und seine eigenen Ressourcen. Es verwendet keine Ressourcen des Systems wie Strom, RAM und CPU. Hardware-RAID stellt keine zusätzliche Belastung für das System dar. Da es über eigene Ressourcen verfügt, bietet es eine hohe Leistung.
Software-RAID
Software-RAID ist ein logisches Speichergerät, das aus angeschlossenen Festplatten im System aufgebaut ist. Es nutzt alle Ressourcen des Systems. Es bietet eine langsame Leistung, kostet aber nichts. In diesem Tutorial lernen wir, wie man Software-RAID im Detail erstellt und verwaltet.
Dieses Tutorial ist der letzte Teil unseres Artikels „Linux Disk Management erklärt in einfacher Sprache mit Beispielen“. Sie können andere Teile dieses Artikels hier lesen.
Dies ist der erste Teil dieses Artikels. Dieser Teil erklärt grundlegende Konzepte der Linux-Festplattenverwaltung wie BIOS, UEFI, MBR, GPT, SWAP, LVM, RAID, primäre Partition, erweiterte Partition und Linux-Dateisystemtyp.
Linux-Festplattenpartition mit fdisk-Befehl verwalten
Dies ist der zweite Teil dieses Artikels. Dieser Teil erklärt, wie man primäre, erweiterte und logische Partitionen mit dem fdisk-Befehl in Linux Schritt für Schritt mit Beispielen erstellt.
Linux-Festplattenpartition mit dem gdisk-Befehl verwalten
Dies ist der dritte Teil dieses Artikels. Dieser Teil erklärt, wie man GPT (GUID Partitionstabelle) Partitionen mit dem gdisk Befehl in Linux Schritt für Schritt mit Beispielen erstellt.
Linux Festplattenverwaltung mit dem parted Befehl
Dies ist der vierte Teil dieses Artikels. Dieser Teil erklärt, wie man primäre, erweiterte, logische und GPT-Partitionen mit dem parted-Befehl in Linux Schritt für Schritt mit Beispielen erstellt.
Wie man eine SWAP-Partition in Linux erstellt
Dies ist der fünfte Teil dieses Artikels. Dieser Teil erklärt, wie man eine Swap-Partition in Linux mit Beispielen erstellt, einschließlich grundlegender Swap-Verwaltungsaufgaben, wie z.B. wie man den Swap-Speicher vergrößert, mountet oder löscht.
Lernen Sie, wie man LVM in Linux Schritt für Schritt konfiguriert
Dies ist der sechste Teil dieses Artikels. Dieser Teil erklärt die grundlegenden Konzepte von LVM im Detail mit Beispielen und wie man LVM in Linux Schritt für Schritt konfiguriert und verwaltet.
Grundlegende Konzepte von RAID
Ein RAID-Gerät kann auf verschiedene Arten konfiguriert werden. Je nach Konfiguration kann es in zehn verschiedene Level eingeteilt werden. Bevor wir uns näher mit den RAID-Levels befassen, werfen wir einen kurzen Blick auf einige wichtige Begriffe, die bei der RAID-Konfiguration verwendet werden.
Chunk: – Dies ist die Größe des in der RAID-Konfiguration verwendeten Datenblocks. Wenn die Chunk-Größe 64KB beträgt, gibt es 16 Chunks in einem 1MB (1024KB/64KB) RAID-Array.
Hot Spare: – Dies ist die zusätzliche Festplatte im RAID-Array. Wenn eine Festplatte ausfällt, werden die Daten von der fehlerhaften Festplatte automatisch auf diese Ersatzplatte migriert.
Mirroring: – Wenn diese Funktion aktiviert ist, wird eine Kopie derselben Daten auch auf der anderen Festplatte gespeichert. Es ist so, als würde man eine zusätzliche Kopie der Daten zu Sicherungszwecken erstellen.
Striping: – Wenn diese Funktion aktiviert ist, werden die Daten zufällig auf alle verfügbaren Festplatten geschrieben. Es ist wie die Aufteilung der Daten auf alle Festplatten, so dass alle gleichmäßig gefüllt werden.
Parity: – Dies ist eine Methode, um verlorene Daten aus gespeicherten Paritätsinformationen zu regenerieren.
Unterschiedliche RAID-Levels sind definiert, je nachdem, wie Spiegelung und Stripping erforderlich sind. Von diesen Levels werden in Red Hat Linux meist nur Level 0, Level1 und Level5 verwendet.
RAID Level 0
Dieser Level bietet Striping ohne Parität. Da es keine Paritätsdaten speichert und Lese- und Schreibvorgänge gleichzeitig durchführt, ist die Geschwindigkeit viel höher als bei anderen Levels. Für diese Ebene sind mindestens zwei Festplatten erforderlich. Alle Festplatten dieses Levels sind gleichmäßig gefüllt. Sie sollten diese Stufe nur verwenden, wenn die Lese- und Schreibgeschwindigkeit wichtig ist. Wenn Sie sich für diese Stufe entscheiden, sollten Sie immer einen alternativen Datensicherungsplan einsetzen. Da jeder Ausfall einer einzelnen Festplatte im Array zu einem totalen Datenverlust führt.
RAID Level 1
Dieser Level bietet Parität ohne Striping. Es schreibt alle Daten auf zwei Festplatten. Wenn eine Platte ausfällt oder entfernt wird, sind alle Daten noch auf der anderen Platte vorhanden. Für diese Stufe sind zwei Festplatten erforderlich. Das heißt, wenn Sie 2 Festplatten verwenden wollen, müssen Sie 4 Festplatten einsetzen oder wenn Sie eine Festplatte verwenden wollen, müssen Sie zwei Festplatten einsetzen. Die erste Festplatte speichert die Originaldaten, während die andere Festplatte eine exakte Kopie der ersten Festplatte speichert. Da die Daten zweimal geschrieben werden, wird die Leistung verringert. Sie sollten diese Stufe nur verwenden, wenn die Datensicherheit um jeden Preis gewährleistet werden soll.
RAID Stufe 5
Diese Stufe bietet sowohl Parität als auch Striping. Er erfordert mindestens drei Festplatten. Es schreibt Paritätsdaten gleichmäßig auf alle Platten. Wenn eine Festplatte ausfällt, können die Daten aus den Paritätsdaten auf den verbleibenden Festplatten rekonstruiert werden. Dies bietet eine Kombination aus Integrität und Leistung. Wo immer möglich, sollten Sie diese Stufe verwenden.
Wenn Sie ein Hardware-RAID-Gerät verwenden möchten, verwenden Sie ein Hot-Swap-Hardware-RAID-Gerät mit Ersatzplatten. Wenn eine Platte ausfällt, werden die Daten auf der ersten verfügbaren Ersatzplatte ohne Ausfallzeit rekonstruiert, und da es sich um ein Hot-Swap-Gerät handelt, können Sie das ausgefallene Gerät ersetzen, während der Server noch läuft.
Wenn das RAID-Gerät richtig konfiguriert ist, gibt es aus Sicht des Betriebssystems keinen Unterschied zwischen Software-RAID und Hardware-RAID. Das Betriebssystem greift auf das RAID-Gerät wie auf eine normale Festplatte zu, unabhängig davon, ob es sich um ein Software-RAID oder ein Hardware-RAID handelt.
Linux bietet ein md-Kernelmodul für die Software-RAID-Konfiguration. Um Software-RAID zu verwenden, müssen wir ein RAID md-Gerät konfigurieren, das ein Verbund aus zwei oder mehr Speichergeräten ist.
Wie man Software-RAID Schritt für Schritt konfiguriert
Für dieses Tutorial gehe ich davon aus, dass Sie unpartitionierten Speicherplatz oder zusätzliche Festplatten zum Üben haben. Wenn Sie diese Anleitung mit einer virtuellen Software wie VMware Workstation durchführen, fügen Sie drei zusätzliche Festplatten im System hinzu. Wie Sie zusätzliche Festplatten in einem virtuellen System hinzufügen können, erfahren Sie im ersten Teil dieses Tutorials. Wenn Sie diese Anleitung auf einem physischen Computer durchführen, schließen Sie eine zusätzliche Festplatte an. Sie können einen USB-Stick oder einen USB-Stick zum Üben verwenden. Zu Demonstrationszwecken habe ich in meinem Laborsystem drei zusätzliche Festplatten angeschlossen.
Jede Festplatte ist 2 GB groß. Wir können alle angeschlossenen Festplatten mit dem Befehl fdisk -l auflisten.
Wir können auch den Befehl lsblk verwenden, um eine strukturierte Übersicht über alle angeschlossenen Speichergeräte zu erhalten.
Wie wir in der obigen Ausgabe sehen können, sind drei unpartitionierte Festplatten mit einer Größe von jeweils 2G verfügbar.
Das mdadm-Paket wird zum Erstellen und Verwalten des Software-RAID verwendet. Stellen Sie sicher, dass es installiert ist, bevor wir mit Software-RAID arbeiten.Um zu lernen, wie man Pakete in Linux installiert und verwaltet, lesen Sie die folgenden Tutorials
Wie man das YUM-Repository in RHEL konfiguriert
RPM-Befehl mit Beispiel erklärt
Für dieses Tutorial gehe ich davon aus, dass das mdadm-Paket installiert ist.
Erstellen eines RAID 0 Arrays
Wir können ein RAID 0 Array mit Festplatten oder Partitionen erstellen. Um beide Optionen zu verstehen, werden wir zwei separate RAID 0-Arrays erstellen; eines mit Festplatten und eines mit Partitionen. RAID 0-Array erfordert mindestens zwei Festplatten oder Partitionen. Wir verwenden die Festplatten /dev/sdc und /dev/sdd, um ein RAID 0-Array aus Festplatten zu erstellen. Wir werden zwei Partitionen in /dev/sdb erstellen und sie später verwenden, um ein weiteres RAID 0-Array aus Partitionen zu erstellen.
Um ein RAID 0 Array mit Festplatten zu erstellen, verwenden Sie folgenden Befehl
#mdadm --create --verbose /dev/ --level= --raid-devices=
Lassen Sie uns diesen Befehl im Detail verstehen
mdadm:- Dies ist der Hauptbefehl
–create:- Diese Option wird verwendet, um ein neues md (RAID) Gerät zu erstellen.
–verbose:- Diese Option wird verwendet, um die Echtzeitaktualisierung des Prozesses anzuzeigen.
/dev/:- Dieses Argument wird verwendet, um den Namen und den Ort des RAID-Arrays anzugeben. Das md-Gerät sollte unter dem Verzeichnis /dev/ erstellt werden.
–level=:- Diese Option und das Argument werden verwendet, um den RAID-Level zu definieren, der erstellt werden soll.
–raid-devices=:- Diese Option und das Argument werden verwendet, um die Anzahl der Speichergeräte oder Partitionen anzugeben, die wir in diesem Gerät verwenden möchten.
:- Diese Option wird verwendet, um den Namen und den Speicherort des Speichergeräts anzugeben.
Der folgende Befehl wird verwendet, um ein RAID 0-Array aus den Festplatten /dev/sdc und /dev/sdd mit dem Namen md0 zu erstellen.
Um das Array zu überprüfen, können wir folgenden Befehl verwenden
Die obige Ausgabe bestätigt, dass das RAID-Array md0 erfolgreich aus zwei Festplatten (sdd und sdc) mit RAID-Level-0-Konfigurationen erstellt wurde.
Erstellen eines RAID 0 Arrays mit Partitionen
Erstellen einer 1GiB Partition mit dem fdisk Befehl
Standardmäßig werden alle Partitionen als Linux Standard erstellt. Ändern Sie den Partitionstyp auf RAID und speichern Sie die Partition. Beenden Sie das fdisk-Dienstprogramm und führen Sie den Befehl partprobe aus, um die Kernel-Partitionstabelle zur Laufzeit zu aktualisieren.
Um den Befehl fdisk und seine Unterbefehle im Detail kennenzulernen, lesen Sie bitte den zweiten Teil dieses Tutorials, in dem Schritt für Schritt erklärt wird, wie man mit dem Befehl fdisk Partitionen erstellt und verwaltet.
Lassen Sie uns eine weitere Partition erstellen, aber dieses Mal mit dem Befehl parted.
Um den Befehl parted im Detail zu lernen, sehen Sie sich bitte den vierten Teil dieses Tutorials an, der Schritt für Schritt erklärt, wie man mit dem Befehl parted eine Festplatte verwaltet.
Wir haben zwei Partitionen erstellt. Lassen Sie uns ein weiteres RAID (Level 0) Array erstellen, aber dieses Mal verwenden Sie Partitionen anstelle von Festplatten.
Der gleiche Befehl wird verwendet, um ein RAID Array aus Partitionen zu erstellen.
Wenn wir den mdadm-Befehl verwenden, um ein neues RAID Array zu erstellen, legt es seine Signatur auf das bereitgestellte Gerät oder die Partition.Das bedeutet, dass wir ein RAID Array von jedem Partitionstyp oder sogar von einer Festplatte erstellen können, die überhaupt keine Partition enthält. Welchen Partitionstyp wir hier verwenden, ist nicht wichtig. Der wichtigste Punkt, den wir immer berücksichtigen sollten, ist, dass die Partition keine wertvollen Daten enthalten sollte. Während dieses Prozesses werden alle Daten aus der Partition gelöscht.
Erstellen eines Dateisystems in einem RAID-Array
Wir können ein RAID-Array erst dann zur Datenspeicherung verwenden, wenn es ein gültiges Dateisystem enthält. Der folgende Befehl wird verwendet, um ein Dateisystem im Array zu erstellen.
#mkfs –t
Lassen Sie uns md0 mit dem ext4-Dateisystem und md1 mit dem xfs-Dateisystem formatieren.
RAID 0-Arrays sind einsatzbereit. Um sie zu verwenden, müssen wir sie irgendwo im Linux-Dateisystem mounten.Linux-Dateisystem (primäre Verzeichnisstruktur) beginnt mit Root (/) Verzeichnis und alles geht unter ihm oder seinen Unterverzeichnissen.Wir müssen Partitionen irgendwo unter diesem Verzeichnisbaum mounten. Wir können Partitionen temporär oder permanent mounten.
Temporary mounting RAID 0 Array
Der folgende Befehl wird verwendet, um das Array temporär zu mounten.
#mount
Der Mount-Befehl akzeptiert mehrere Optionen und Argumente, die ich in einem anderen Tutorium separat erklären werde. Für dieses Tutorial ist diese grundlegende Syntax ausreichend.
Was soll gemountet werden :- Das ist das Array.
Wo soll gemountet werden :- Das ist das Verzeichnis, das für den Zugriff auf die gemountete Ressource verwendet wird.
Sobald gemountet, wird jede Aktion, die wir im gemounteten Verzeichnis durchführen, in den gemounteten Ressourcen ausgeführt. Lassen Sie uns das praktisch verstehen.
- Erstellen eines gemounteten Verzeichnisses im Verzeichnis /
- Mounten des Arrays /dev/md0
- Auflisten des Inhalts
- Erstellen eines Testverzeichnisses und einer Datei
- Auflisten des Inhalts erneut
- Un-mounten Sie das Array /dev/md0 und listen Sie den Inhalt erneut auf
- Nun mounten Sie das Array /dev/md1 und listen Sie den Inhalt auf
- Erstellen Sie erneut ein Testverzeichnis und eine Datei. Verwenden Sie unterschiedliche Namen für Datei und Verzeichnis
- Listen Sie den Inhalt auf
- Demounten Sie das /dev/md1-Array und listen Sie den Inhalt erneut auf
Die folgende Abbildung veranschaulicht diese Übung Schritt für Schritt
Wie die obige Abbildung zeigt, wurde jede Aktion, die wir im Mount-Verzeichnis durchgeführt haben, auch im entsprechenden Array durchgeführt.
Die Option „Temporäres Einhängen“ ist gut für Arrays, auf die wir gelegentlich zugreifen. Jedes Mal, wenn wir das System neu starten, werden alle temporär eingehängten Ressourcen automatisch wieder ausgehängt. Wenn wir also ein Array haben, das regelmäßig benutzt werden soll, sollten wir es permanent mounten.
RAID-Array permanent mounten
Jede Ressource im Dateisystem hat eine eindeutige ID, die UUID genannt wird. Wenn man ein Array dauerhaft einbindet, sollte man die UUID anstelle des Namens verwenden. Ab Version 7 verwendet RHEL ebenfalls die UUID anstelle des Gerätenamens.
Die UUID steht für Universally Unique Identifier. Es handelt sich um eine 128-Bit-Zahl, die im Hexadezimalformat (Basis 16) ausgedrückt wird.
Wenn Sie eine statische Umgebung haben, können Sie den Gerätenamen verwenden. In einer dynamischen Umgebung sollten Sie jedoch immer die UUID verwenden. In einer dynamischen Umgebung kann sich der Gerätename jedes Mal ändern, wenn das System startet. Wir haben zum Beispiel eine zusätzliche SCSI-Platte in das System eingebunden; sie wird als /dev/sdb bezeichnet. Wir haben diese Festplatte dauerhaft mit ihrem Gerätenamen eingebunden. Nehmen wir nun an, jemand anderes hat diese Platte entfernt und eine neue SCSI-Platte in denselben Steckplatz eingebaut. Die neue Platte wird ebenfalls als /dev/sdb bezeichnet. Da der Name der alten und der neuen Platte gleich ist, wird die neue Platte an der Stelle der alten Platte gemountet. Auf diese Weise kann der Gerätename in einer dynamischen Umgebung ein ernsthaftes Problem darstellen. Aber dieses Problem kann mit UUID gelöst werden. Egal, wie wir die Ressource mit dem System verbinden, ihre UUID wird immer fest bleiben.
Wenn Sie eine statische Umgebung haben, können Sie den Gerätenamen zum Einhängen der Ressource verwenden. Aber wenn Sie eine dynamische Umgebung haben, sollten Sie immer UUID verwenden.
Um die UUID aller Partitionen zu kennen, können wir den Befehl blkid verwenden. Um die UUID einer bestimmten Partition zu kennen, müssen wir ihren Namen als Argument mit diesem Befehl verwenden.
Wenn wir die UUID kennen, können wir sie anstelle des Gerätenamens verwenden. Wir können auch die Option Kopieren und Einfügen verwenden, um die UUID einzugeben.
- Befehl blkid verwenden, um die UUID des Arrays zu drucken.
- Kopieren Sie die UUID des Arrays.
- Befehl mount verwenden, um das Array einzuhängen. Verwenden Sie die Option paste, anstatt die UUID einzugeben.
Die folgende Abbildung veranschaulicht die obigen Schritte
Wenn das System bootet, sucht es in der Datei /etc/fstab nach den Geräten (Partitionen, LVs, Swap oder Array), die automatisch in das Dateisystem eingehängt werden müssen. Standardmäßig enthält diese Datei Einträge für die Partitionen, logischen Volumes und den Swap-Bereich, die während der Installation erstellt wurden. Um ein zusätzliches Gerät (Array) automatisch einzubinden, müssen wir einen Eintrag für dieses Gerät in dieser Datei vornehmen. Jeder Eintrag in dieser Datei hat sechs Felder.
Nummer | Datei | Beschreibung |
1 | Was mounten | Gerät, das wir mounten wollen. Wir können den Gerätenamen, die UUID und das Label in diesem Feld verwenden, um das Gerät zu repräsentieren. |
2 | Wo soll gemountet werden | Das Verzeichnis im Haupt-Linux-Dateisystem, in das wir das Gerät mounten wollen. |
3 | Dateisystem | Dateisystemtyp des Geräts. |
4 | Optionen | Genau wie beim Mount-Befehl können wir auch hier unterstützte Optionen verwenden, um den Mount-Prozess zu steuern. Für dieses Tutorial werden wir die Standardoptionen verwenden. |
5 | Dump support | Um den Dump auf diesem Gerät zu aktivieren, verwenden Sie 1. Verwenden Sie 0, um den Dump zu deaktivieren. |
6 | Automatische Prüfung | Ob dieses Gerät beim Einhängen geprüft werden soll oder nicht. Zum Deaktivieren verwenden Sie 0, zum Aktivieren verwenden Sie 1 (für die Root-Partition) oder 2 (für alle Partitionen außer der Root-Partition). |
Lassen Sie uns einige Verzeichnisse erstellen, um die Arrays zu mounten, die wir kürzlich erstellt haben
Nehmen Sie die Sicherung der fstab-Datei und öffnen Sie sie zum Bearbeiten
Erstellen Sie Einträge für Arrays und speichern Sie die Datei.
Zu Demonstrationszwecken habe ich sowohl den Gerätenamen als auch die UUID zum Einhängen der Partitionen verwendet.Nach dem Speichern immer die Einträge mit dem Befehl mount -a überprüfen. Dieser Befehl mountet alles, was in der Datei /etc/fstab aufgeführt ist. Wenn wir also beim Aktualisieren dieser Datei einen Fehler gemacht haben, erhalten wir einen Fehler als Ausgabe dieses Befehls.
Wenn Sie einen Fehler als Ausgabe des Befehls mount -a erhalten, korrigieren Sie diesen, bevor Sie das System neu starten.
Der Befehl df -h wird verwendet, um den verfügbaren Speicherplatz in allen eingehängten Partitionen zu überprüfen. Wir können diesen Befehl verwenden, um zu überprüfen, ob alle Partitionen korrekt gemountet sind.
Die obige Ausgabe bestätigt, dass alle Partitionen korrekt gemountet sind. Lassen Sie uns die beiden RAID-Geräte auflisten.
Wie löscht man ein RAID-Array
Wir können ein gemountetes Array nicht löschen. Unmounten Sie alle Arrays, die wir in dieser Übung erstellt haben
Verwenden Sie folgenden Befehl, um das RAID-Array zu stoppen
#mdadm --stop /dev/
Entfernen Sie das Mount-Verzeichnis und kopieren Sie die ursprüngliche fstab-Datei zurück.
Wenn Sie keine Sicherungskopie der ursprünglichen fstab-Datei gemacht haben, entfernen Sie alle Einträge aus dieser Datei, die Sie gemacht haben.
Schließlich setzen Sie alle in dieser Praxis verwendeten Festplatten zurück.
Der dd-Befehl ist der einfachste Weg, die Festplatte zurückzusetzen. Festplattendienstprogramme speichern ihre Konfigurationsparameter im Superblock. Normalerweise wird die Größe des Superblocks in KB definiert, also überschreiben wir einfach die ersten 10MB mit Nullbytes auf jeder Festplatte. Um den dd-Befehl im Detail zu lernen, lesen Sie den fünften Teil dieses Tutorials, in dem dieser Befehl ausführlich erklärt wird.
Starten Sie nun das System neu und verwenden Sie erneut den Befehl df -h, um zu überprüfen, ob alle RIAD-Geräte, die wir in dieser Übung erstellt haben, verschwunden sind.
Wie man ein RAID 1 und RAID 5 Array erstellt
Wir können ein RAID 1 oder RAID 5 Array erstellen, indem wir demselben Verfahren folgen. Alle Schritte und Befehle sind gleich, außer dem Befehl mdadm –create. In diesem Befehl müssen Sie den RAID-Level, die Anzahl der Festplatten und die Position der zugehörigen Festplatten ändern.
Um ein RAID 1 Array aus den Platten /dev/sdd und /dev/sdb zu erstellen, verwenden Sie folgenden Befehl
Um ein RAID 1 Array aus den Partitionen /dev/sdb1 und /dev/sdb2 zu erstellen, verwenden Sie folgenden Befehl
Es kann sein, dass Sie eine Metadaten-Warnung erhalten, wenn Sie zuvor dieselben Festplatten und Partitionen zur Erstellung eines RAID-Arrays verwendet haben und diese Festplatten oder Partitionen noch Metadaten-Informationen enthalten. Denken Sie daran, dass wir nur 10Mb Startspeicher bereinigt haben und der restliche Speicherplatz unberührt geblieben ist. Sie können diese Meldung getrost ignorieren oder die gesamte Festplatte bereinigen, bevor Sie sie wieder verwenden.
Um ein RAID 5-Array aus den Festplatten /dev/sdb, /dev/sdc und /dev/sdd zu erstellen, verwenden Sie den folgenden Befehl.
Für die RAID 5-Konfiguration sind mindestens 3 Festplatten oder Partitionen erforderlich. Deshalb haben wir hier drei Festplatten verwendet.
Um ein RAID 5 Array aus den Partitionen /dev/sdb1, /dev/sdb2 und /dev/sdb3 zu erstellen, verwenden Sie den folgenden Befehl
Um unnötige Fehler zu vermeiden, sollten Sie die Festplatten immer neu einrichten, bevor Sie sie in der Praxis verwenden.
Bislang haben wir in diesem Tutorial gelernt, wie man ein RAID Array erstellt, mountet und entfernt. Im folgenden Abschnitt werden wir lernen, wie man ein RAID-Array verwaltet und Fehler behebt. Für diesen Abschnitt gehe ich davon aus, dass Sie mindestens ein Array konfiguriert haben. Zu Demonstrationszwecken werde ich das zuletzt konfigurierte Beispiel (RAID 5 mit 3 Partitionen) verwenden. Lassen Sie uns ein Dateisystem in diesem Array erstellen und es mounten.
Lassen Sie uns einige Dummy-Daten in dieses Verzeichnis legen.
Ich habe die Handbuchseite des ls-Befehls in die Datei /testingdata/manual-of-ls-command umgeleitet. Später, um zu überprüfen, dass die Datei tatsächliche Daten enthält, habe ich den wc-Befehl verwendet, der Zeilen, Wörter und Zeichen der Datei zählt.
Wie man die Details des RAID-Geräts anzeigt
Der folgende Befehl wird verwendet, um die detaillierten Informationen über das RAID-Gerät anzuzeigen.
#mdadm --detail /dev/
Diese Informationen umfassen RAID-Level, Array-Größe, verwendete Größe von der verfügbaren Gesamtgröße, bei der Erstellung dieses Arrays verwendete Geräte, derzeit verwendete Geräte, Ersatzgeräte, ausgefallene Geräte, Chunk-Größe, UUID des Arrays und vieles mehr.
Wie fügt man zusätzliche Festplatten oder Partitionen in RIAD hinzu
Es gibt verschiedene Situationen, in denen wir die Größe eines RAID-Geräts erhöhen müssen, z.B. wenn ein Raid-Gerät mit Daten voll ist oder eine Festplatte des Arrays ausgefallen ist. Um den Speicherplatz des RAID-Geräts zu vergrößern, müssen wir zusätzliche Festplatten oder Partitionen in das bestehende Array einfügen.
Im laufenden Beispiel haben wir die Festplatte /dev/sdb verwendet, um drei Partitionen zu erstellen. Die Festplatten /dev/sdc und /dev/sdd sind noch verfügbar und können verwendet werden. Bevor wir sie zu diesem Array hinzufügen, müssen wir sicherstellen, dass sie gesäubert sind. Letztes Mal haben wir den Befehl dd verwendet, um die Festplatten zu säubern. Wir können diesen Befehl erneut verwenden oder den folgenden Befehl
#mdadm --zero-superblock /dev/
Um zu prüfen, ob eine Festplatte einen Superblock enthält oder nicht, können wir den folgenden Befehl verwenden
#mdadm --examine /dev/
Die folgende Abbildung zeigt die Verwendung beider Befehle auf beiden Festplatten
Jetzt sind beide Festplatten für das RAID-Array bereit. Der folgende Befehl wird verwendet, um eine zusätzliche Festplatte in das bestehende Array einzufügen.
#mdadm --manage /dev/ --add /dev/
Lassen Sie uns die Festplatte /dev/sdc in dieses Array einfügen und bestätigen Sie das Gleiche.
Jetzt wurde diese Festplatte als Ersatzplatte hinzugefügt. Diese Platte wird nicht verwendet, bis eine Platte aus dem vorhandenen Array ausfällt oder wir RAID manuell zwingen, diese Platte zu verwenden.
Wenn eine Platte ausfällt und Ersatzplatten verfügbar sind, wählt RAID automatisch die erste verfügbare Ersatzplatte aus, um die defekte Platte zu ersetzen. Ersatzplatten sind der beste Sicherungsplan in einem RAID-Gerät.
Zur Sicherung fügen wir eine weitere Platte in das Array ein und verwenden diese, um die Größe des Arrays zu erhöhen. Der folgende Befehl wird verwendet, um die Größe des RAID-Geräts zu erhöhen.
#mdadm --grow --raid-devices= /dev/
RAID ordnet alle Geräte in einer Reihenfolge an. Diese Reihenfolge ergibt sich aus der Reihenfolge, in der die Festplatten im Array hinzugefügt werden. Wenn wir diesen Befehl verwenden, fügt RAID das nächste funktionierende Gerät zu den aktiven Geräten hinzu.
Die folgende Abbildung veranschaulicht diesen Befehl
Wie wir in der obigen Ausgabe sehen können, wurde eine Festplatte zum Array hinzugefügt und die Größe des Arrays wurde erfolgreich erhöht.
Entfernen eines fehlerhaften Geräts
Wenn ein Ersatzgerät verfügbar ist, ersetzt RAID das fehlerhafte Gerät automatisch durch ein Ersatzgerät. Für den Endbenutzer ändert sich nichts. Er wird wie gewohnt auf die Daten zugreifen können. Verstehen wir es praktisch.
Im Moment ist keine Ersatzplatte im Array verfügbar. Fügen wir eine Ersatzplatte hinzu.
Wenn eine Platte ausfällt, markiert RAID diese Platte als ausgefallenes Gerät. Sobald sie markiert ist, kann sie sicher entfernt werden. Wenn wir ein funktionierendes Gerät aus dem Array entfernen wollen, um es zu warten oder Fehler zu beheben, sollten wir es immer als ausgefallenes Gerät markieren, bevor wir es entfernen. Wenn ein Gerät als ausgefallenes Gerät markiert wird, werden alle Daten des ausgefallenen Geräts in den Arbeitsgeräten rekonstruiert.
Um eine Festplatte als ausgefallenes Gerät zu markieren, wird folgender Befehl verwendet.
#mdadm --manage --set-faulty /dev/ /dev/
Wir haben vor kurzem die Größe dieses Arrays erhöht. Bevor wir also diese Übung durchführen, sollten wir noch einmal überprüfen, ob das Array noch gültige Daten enthält.
Die obige Ausgabe bestätigt, dass das Array noch gültige Daten enthält. Markieren wir nun ein Gerät /dev/sdc als fehlerhaftes Gerät aus dem Array und bestätigen den Vorgang.
Wie die obige Ausgabe bestätigt, wurde das Gerät sdc, das die Nummer vier in der Array-Reihenfolge ist, als fehlerhaftes Gerät markiert.
Wie wir wissen, wird die Ersatzplatte, wenn sie verfügbar ist, automatisch als Ersatz für das fehlerhafte Gerät verwendet. Bei diesem Vorgang ist kein manuelles Eingreifen erforderlich. Bestätigen wir, dass die Ersatzplatte als Ersatz für die defekte Platte verwendet wurde.
Schließlich überprüfen wir, ob die Daten noch im Array vorhanden sind.
Die obige Ausgabe bestätigt, dass das Array noch gültige Daten enthält.
Das war’s für dieses Tutorial.