So richten Sie RAID1 unter Linux ein

So richten Sie RAID1 unter Linux ein

RAID steht für redundante Array von kostengünstigen Festplatten; Abhängig von der von uns eingerichteten RAID -Ebene können wir Datenreplikation und/oder Datenverteilung erreichen. Ein RAID -Setup kann über dedizierte Hardware oder über Software erreicht werden. In diesem Tutorial sehen wir, wie Sie eine RAID1 (MILROR) über Software unter Linux implementieren können
Die mdadm Dienstprogramm.

In diesem Tutorial lernen Sie:

  • Die Besonderheiten der am häufigsten verwendeten RAID -Werte
  • So installieren Sie MDADM auf den Hauptlinux -Verteilungen
  • So konfigurieren Sie einen RAID1 mit zwei Scheiben
  • So ersetzen Sie eine Festplatte im RAID -Array

Softwareanforderungen und Konventionen verwendet

Softwareanforderungen und Linux -Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder Softwareversion verwendet
System Verteilung unabhängig
Software mdadm
Andere Wurzelberechtigungen
Konventionen # - Erfordert, dass gegebene Linux -Commands mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mithilfe von verwendet werden können sudo Befehl
US

Ein kurzer Überblick über die am häufigsten verwendeten RAID -Werte



Bevor wir mit unserem Tutorial beginnen und sehen, wie ein Software -RAID1 -Setup unter Linux implementiert wird mdadm, Es ist eine gute Idee, eine kurze Zusammenfassung der am häufigsten verwendeten RAID -Levels zu machen und zu sehen, was ihre Besonderheiten sind.

Raid0

Das Hauptziel ist es, die Leistung zu verbessern. In dieser Ebene oder in dieser Ebene haben wir zwei oder mehr Scheiben, die gleich groß sein sollten. Die Daten werden alternativ auf den Scheiben (Streifen) verteilt, und dies verringert die Les- und Schreibzeiten.

RAID0 -Diagramm

Raid1

RAID1 (Spiegelung) ist das, was wir in diesem Tutorial implementieren werden: In dieser RAID.



RAID1 -Diagramm

Raid5

Um ein Setup mit dieser RAID-Ebene zu erstellen, sind mindestens drei Festplatten erforderlich, und N-1-Scheiben können Daten enthalten. Dieses Setup kann das Ausfall einer Festplatte ohne Datenverlust bewältigen. Genau wie RAID0 in diesen Setup -Daten gestreift und auf mehreren Festplatten verteilt sind. Der Hauptunterschied ist das auch Datenparitätsinformationen existieren und wird auch gestreift. Was sind Datenparitätsinformationen? Grundsätzlich alle Scheiben
enthalten im RAID -Array Informationen zum Datenstatus. Solche Informationen ermöglichen den Wiederaufbau der Daten, wenn einer der Festplatten fehlschlägt.



RAID5 -Diagramm

Raid6

RAID6 funktioniert ähnlich wie RAID5; Der Hauptunterschied besteht darin, dass dieses Setup das Vorhandensein von beinhaltet zwei Paritätsdisks, so dass es mit dieser RAID. Mindestens vier Festplatten sind erforderlich, um diese Konfiguration zu erreichen.

Raid6 -Diagramm

Installieren von MDADM



MDADM ist das Dienstprogramm, das Software -RAID unter Linux verwaltet. Es ist in allen wichtigen Verteilungen erhältlich. Auf Debian und seinen Ableitungen können es mit dem folgenden Befehl installiert werden:

$ sudo apt-Get Update && sudo apt-Get Installieren Sie MDADM 

Auf der Red Hat -Familie der Verteilungen können wir die verwenden DNF Paket-Manager:

$ sudo dnf install mdadm 

Auf Archlinux können wir das Paket mit dem installieren Pacman Paket-Manager:

$ sudo pacman -sy mdadm 

Sobald die Software installiert ist, können wir fortfahren und unser RAID1 -Setup erstellen.

Erstellen des RAID

Für dieses Tutorial werde ich in einer virtuellen Umgebung mit einem Debian „Buster“ -System und zwei zuvor erstellten virtuellen Festplatten arbeiten, die Teil des RAID1 -Setups sein werden. Solche Festplatten werden als anerkannt als VDB Und VDC, Wie Sie aus der Ausgabe der Ausgabe sehen können LSBLK Befehl:

SR0 11: 0 1 1024m 0 ROM VDA 254: 0 0 7G 0 Festplatte ├─vda1 254: 1 0 6g 0 Teil / ├─vda2 254: 2 0 1k 0 Teil └─vda5 254: 5 0 1021m 0 Teil [Swap] VDB 254: 16 0 1G 0 Festplatte VDC 254: 32 0 1G 0 Festplatte 

Verteilung der Scheiben



Obwohl es möglich ist, den RAID mit Rohscheiben direkt zu erstellen. Um eine solche Aufgabe auszuführen, werden wir verwenden geteilt. Das erste, was wir tun möchten, ist, eine Partitionstabelle zu erstellen. Für dieses Beispiel werden wir verwenden mbr Trenntabelle, aber gpt Einen werden in realen Szenarien benötigt, wenn sie Scheiben von 2 TB oder größer verwenden. Um eine Festplatte zu initialisieren, können wir den folgenden Befehl ausführen:

$ sudo parted -s /dev /vdb mklabel msdos 

Jetzt können wir eine Partition erstellen, die den gesamten verfügbaren Platz nimmt:

$ sudo parted -s /dev /vdb mkPart primär 1mib 100% 

Wir können jetzt die RAID fd - "Linux Raid Autodetekte"):

$ sudo trennte -s /dev /vdb set 1 raid auf 

In diesem Fall haben wir an der gearbeitet /dev/vdb Geräte sollten wir natürlich auch die gleichen Operationen auch auf der /dev/vdc Scheibe.

RAID1 einrichten1

Sobald wir die Festplatten initialisiert und verteilt haben, die wir verwenden können mdadm So erstellen Sie das eigentliche Setup. Wir müssen nur den folgenden Befehl ausführen:

$ sudo mdadm \ --verbose \ --create /dev /md0 \-Level = 1 \-RAID-DEVICES = 2 \ /dev /vdb1 /dev /vdc1 

Lassen Sie uns den obigen Befehl analysieren. Zunächst benutzten wir die --ausführlich Option, um den Befehl auszugeben weitere Informationen zu den durchgeführten Vorgängen.

Wir verwendeten mdadm In "Create -Modus" haben das die Grundlage des Grundes bestanden --erstellen Option, die den Namen des Geräts bereitstellt, das erstellt werden sollte (/dev/md0 in diesem Fall). Wir haben als angegeben, auf welchem ​​Niveau für den RAID mit verwendet werden soll --eben, und die Anzahl der Geräte, die ein Teil davon sein sollten --Raid-Geräte. Schließlich haben wir den Weg der Geräte zur Verfügung gestellt, die verwendet werden sollten.

Sobald wir den Befehl ausgeführt haben, sollten wir die folgende Ausgabe visualisieren:

MDADM: Hinweis: Dieses Array hat Metadaten zu Beginn und ist möglicherweise nicht als Startgerät geeignet. Wenn Sie planen, '/Boot' auf diesem Gerät zu speichern.x metadaten oder verwenden -metadata = 0.90 MDADM: Größe auf 1046528K Setzen Sie weiter Array erstellen? y 

In diesem Fall können wir die Frage positiv beantworten und das Array weiter erstellen:



MDADM: Versäumnis von Version 1.2 Metadaten Mdadm: Array /Dev /MD0 gestartet. 

Um Informationen und den Status des erstellten RAID -Setups zu visualisieren, können wir ausführen mdadm mit dem --Detail Option, übergeben Sie den Namen des Geräts, das wir überprüfen möchten. In diesem Fall ist die Ausgabe die folgende:

$ sudo mdadm -detail /dev /md0 /dev /md0: Version: 1.2 Erstellungszeit: Fr 23. April 11:16:44 2021 RAID Level: RAID1 Array Größe: 1046528 (1022.00 MIB 1071.64 MB) Gebrauchte Entwicklungsgröße: 1046528 (1022.00 MIB 1071.64 MB) RAID -Geräte: 2 Gesamtgeräte: 2 Persistenz: Superblock ist persistente Aktualisierungszeit: Fr 23. April 11:17:04 2021 Zustand: Saubere aktive Geräte: 2 Arbeitsgeräte: 2 Fehlgeschlagene Geräte: 0 Ersatzgeräte: 0 Konsistenzrichtlinie: Resync -Name: Debian: 0 (lokal, um Debian zu hosten) UUID: 4721f921: BB82187C: 487DEFB8: E960508A Ereignisse: 17 Hauptfach kleiner Raiddevice -Zustand 0 254 17 0 Active Sync /Dev /VDB1 1 254 33 1 Active Sync /Dev /VDC1 

Mit dem --Detail Option können wir Informationen über den Überfall als Ganzes sammeln. Wenn wir Informationen über jede einzelne Festplatte wünschen, die Mitglied des Setups ist, können wir verwenden --prüfen Stattdessen und bestehen Sie die Geräte als Argument. In diesem Fall würden wir zum Beispiel rennen:

$ sudo mdadm -examine /dev /vdb1 /dev /vdc1 


Der Befehl würde eine ähnliche Ausgabe erzeugen, die dem folgenden ähnlich ist:

/dev/vdb1: Magie: A92B4EFC Version: 1.2 Feature Map: 0x0 Array UUID: 4721f921: BB82187C: 487DEFB8: E960508A Name: Debian: 0 (lokal zu Host Debian) Erstellungszeit: Fr. 2093056 (1022.00 MIB 1071.64 MB) Arraygröße: 1046528 (1022.00 MIB 1071.64 MB) Datenversatz: 2048 Sektoren Super -Offset: 8 Sektoren Unbenutzt Raum: Vor = 1968 Sektoren, After = 0 Sektoren Status: Clean Device UUID: A9575594: 40C0784B: 394490E8: 6EB7E9A3 UPDATE: Fri 23.33. Schlechtes Blockprotokoll: 512 Einträge, die bei Offset 16 Sektoren verfügbar sind: 51AFC54D - Richtige Ereignisse: 17 Geräterolle: Active Device 0 Array Status: AA ('A' == Active, '.'== fehlt,' R '== Ersetzen) /dev /vdc1: Magic: A92B4EFC Version: 1.2 Feature Map: 0x0 Array UUID: 4721f921: BB82187C: 487DEFB8: E960508A Name: Debian: 0 (lokal zu Host Debian) Erstellungszeit: Fr. 2093056 (1022.00 MIB 1071.64 MB) Arraygröße: 1046528 (1022.00 MIB 1071.64 MB) Datenversatz: 2048 Sektoren Super -Offset: 8 Sektoren Unbenutztes Raum: Vor = 1968 Sektoren, After = 0 Sektoren Status: Clean Device UUID: B0CF8735: 5FE765C0: 6C269C2F: 3777D11D Update Zeit: Fri 23.33. Schlechtes Blockprotokoll: 512 Einträge, die bei Offset 16 Sektoren verfügbar sind: 28C3066F - Richtige Ereignisse: 17 Geräterolle: Active Device 1 Array Status: AA ('A' == Active, '.'== fehlt,' R '== Ersetzen) 

Verwenden des RAID -Geräts



Im vorherigen Abschnitt haben wir ein RAID1 -Setup mit zwei (virtuellen) Festplatten erstellt:
/dev/vdb Und /dev/vdc. Das von uns erstellte RAID -Gerät heißt /dev/md0. Um es verwenden zu können, sollten wir ein Dateisystem darauf erstellen. Um die zu verwenden ext4, Dateisystem zum Beispiel würden wir ausführen:

$ sudo mkfs.ext4 /dev /md0 

Sobald das Dateisystem erstellt wurde, sollten wir es irgendwo montieren und es als normales Blockgerät verwenden, um es zu verwenden. Damit das System das Gerät beim Start automatisch montiert, sollten wir einen Eintrag dafür in der Datei /etc /fstab erstellen. Dabei sollten wir uns auf das RAID -Gerät beziehen Uuid, Da sich sein Weg beim Neustart ändern kann. Um die UUID des Geräts zu finden, können wir die verwenden LSBLK Befehl:

$ LSBLK -O UUID /DEV /MD0 UUID 58FF8624-E122-419E-8538-D948439A8C07 

Ersetzen einer Festplatte im Array



Stellen Sie sich nun vor, eines der Festplatten im Array scheitert. Wie sollen wir vorgehen? Wie wir sehen werden, können wir es aus dem Array entfernen, ohne Daten zu verlieren. Angenommen, die gescheiterte Festplatte ist /dev/vdc, Wir können den folgenden Befehl ausgeben, um ihn als solches zu markieren:

$ sudo mdadm -Manager /dev /md0 - -fail /dev /vdc1 

Die Ausgabe des obigen Befehls ist:

mdadm: set /dev /vdc1 fehlerhaft in /dev /md0 

Wir können den Status des RAID überprüfen, um zu bestätigen, dass das Gerät als fehlerhaft markiert wurde:

$ sudo mdadm -detail /dev /md0 /dev /md0: Version: 1.2 Erstellungszeit: Fr 23. April 11:16:44 2021 RAID Level: RAID1 Array Größe: 1046528 (1022.00 MIB 1071.64 MB) Gebrauchte Entwicklungsgröße: 1046528 (1022.00 MIB 1071.64 MB) RAID -Geräte: 2 Gesamtgeräte: 2 Persistenz: Superblock ist beharrliche Updatezeit: Fr 23. April 15:01:36 2021 Zustand: sauber, verschlechtert aktiv Richtlinie: Resync Name: Debian: 0 (lokal, um Debian zu hosten) UUID: 4721f921: BB82187C: 487DEFB8: E960508A Ereignisse: 19 Number Major Minor Moll RaidDevice State 0 254 17 0 Active Sync /Dev /VDB1 - 0 0 1 entfernt 1 254 33 - 33 - fehlerhaft /dev /vdc1 

Haben Sie sehen, dass es jetzt nur noch einen gibt? aktives Gerät, Und /dev/vdc1 Zustand
Ist: Defekt. Um nun die Festplatte aus dem Array zu entfernen, können wir ausführen:

$ sudo mdadm -Manmanage /dev /md0 -remove /dev /vdc1 

Durch Passieren --verwalten Wir arbeiten mit mdadm im Modus "verwalten"; In diesem Modus können wir Aktionen wie das Entfernen fehlerhafter Festplatten oder das Hinzufügen neuer. Wenn alles wie erwartet läuft, sollte das Gerät „heiß aufgerichtet“ werden:

MDADM: Hot entfernt /dev /vdc1 von /dev /md0 


Wir sollten jetzt die neue Festplatte formatieren, die wir verwenden werden, um die fehlerhafte zu ersetzen, wie wir es zu Beginn dieses Tutorials für die anderen beiden getan haben. Wir könnten auch eine Verknüpfung verwenden, die in der Verwendung des sfdisk Befehl. Wenn wir diesen Befehl mit dem ausführen -D Option (kurz für --entsorgen), es wird Informationen über die Partitionen eines Geräts, das wir als Argument verabschieden. Solche Informationen können als Sicherung verwendet werden und das Setup replizieren. Wir können die Ausgabe in eine Datei umleiten oder sie direkt in einer Pipeline verwenden. Angenommen, die neue Festplatte ist /dev/vdd, Wir würden rennen:

$ sudo sfdisk -d /dev /vdb | sudo sfdisk /dev /vdd 

Sobald die neue Festplatte verteilt und bereit ist, können wir sie mit dem folgenden Befehl zu unserem RAID1 -Array hinzufügen:

$ sudo mdadm -Manager /dev /md0 --add /dev /vdd1 

Wenn wir jetzt den Status des RAID -Geräts überprüfen, können wir feststellen, dass es auf dem von uns hinzugefügten Ersatzgerät „umgebaut“ wird:

$ sudo mdadm -detail /dev /md0 /dev /md0: Version: 1.2 Erstellungszeit: Fr 23. April 11:16:44 2021 RAID Level: RAID1 Array Größe: 1046528 (1022.00 MIB 1071.64 MB) Gebrauchte Entwicklungsgröße: 1046528 (1022.00 MIB 1071.64 MB) RAID -Geräte: 2 Gesamtgeräte: 2 Persistenz: Superblock ist persistente Updatezeit: Fr 23. April 15:29:45 2021 Zustand: sauber, verschlechtert, aktive Geräte wiederherstellen: 1 Arbeitsgeräte: 2 Fehlgeschlagene Geräte: 0 Ersatzgeräte: 0 Ersatzgeräte: 1 Konsistenzpolitik: Resync -Wiederaufbaustatus: 19% Vollständiger Name: Debian: 0 (lokal für Host Debian) UUID: 4721f921: BB82187C: 487DEFB8: E960508A Ereignisse: 26 Nummer Major Moll RaidDevice State 0 254 17 0 Active Sync /Dev /VDB1 2 2 254 49 1 Ersatzaufbau /dev /vdd1 

Aus der Ausgabe des Befehls können wir sehen, dass der Staat als „sauber, verschlechtert, wiederhergestellt“ und der gemeldet wird /dev/vdd1 Die Partition wird als „Ersatzaufbau“ gemeldet. Sobald der Wiederaufbauprozess abgeschlossen ist, wird er in "aktive Synchronisierung" verwandelt.

Schlussfolgerungen

In diesem Tutorial haben wir einen kurzen Überblick über die am häufigsten verwendeten RAID -Levels gesehen, wie man eine Software -RAID1 mit zwei Scheiben mit dem erstellt mdadm Dienstprogramm, wie Sie den Status des RAID -Geräts und jeder einzelnen Festplatten im Array überprüfen. Wir haben auch gesehen, wie man eine fehlerhafte Festplatte entfernen und ersetzt. Denken Sie immer daran, dass RAID1 uns die Datenreduktion erreichen, aber nicht als Backup betrachtet werden dürfen!

Verwandte Linux -Tutorials:

  • Ubuntu Spiegel
  • Dinge zu installieren auf Ubuntu 20.04
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Dinge zu tun nach der Installation Ubuntu 22.04 Jammy Quallen…
  • Verschachtelte Schleifen in Bash -Skripten
  • Linux -Konfigurationsdateien: Top 30 am wichtigsten
  • Linux -Download
  • Mint 20: Besser als Ubuntu und Microsoft Windows?
  • Kann Linux Viren bekommen?? Erforschung der Verwundbarkeit von Linux…