Startseite
» LINUX
»
So konfigurieren Sie ein RAID-1-Array unter Debian 12 über die Kommandozeile
So konfigurieren Sie ein RAID-1-Array unter Debian 12 über die Kommandozeile
Dieses Verfahren erstellt ein Software-RAID-1-Datenarray unter Debian 12 (Bookworm) mdadm, formatiert das erstellte Gerät als ext4 und bindet es dauerhaft ein. Es setzt voraus, dass Debian bereits auf einer separaten Systemfestplatte installiert ist und die beiden RAID-Festplatten ungenutzt sind. Die folgenden Befehle sind Beispiele; Gerätenamen und -größen müssen auf dem Server, den Sie konfigurieren, überprüft werden.
Warnung vor Datenverlust: Partitionierung und Formatierung können Daten zerstören. Führen Sie diese Befehle nicht auf einer Festplatte aus, die wichtige Dateien enthält. RAID 1 spiegelt Schreibvorgänge; es ersetzt keine unabhängige Datensicherung und bietet keinen Schutz vor Löschung, Dateisystembeschädigung, Diebstahl oder Schadsoftware, die beide Kopien verändert.
Bevor Sie beginnen: Bestätigen Sie die Zieldatenträger.
sudoVor jedem administrativen Befehl müssen Root-Zugriffsrechte vorhanden sein .
Verwenden Sie zwei separate Festplatten, idealerweise mit gleicher oder nahezu gleicher Kapazität. Die nutzbare Speicherkapazität des Arrays wird durch die kleinere Festplatte begrenzt.
Das Betriebssystem, der Bootloader und die EFI-Systempartition dürfen nicht Teil dieses Datenarray-Verfahrens sein.
Sichern Sie wichtige Daten und vergewissern Sie sich, dass keines der Ziellaufwerke eingebunden oder in Gebrauch ist.
Debian 12 Bookworm stellt die hier verwendeten Tools bereit. Das Verhalten von mdadm` mdadm` sgdisk, `sgdisk` und `update-initramfs`update-initramfs ist in den Debian Bookworm-Handbüchern dokumentiert . Prüfen Sie diese Versionsangaben, falls Ihre installierten Pakete abweichen .
Wie konfiguriert man RAID 1 unter Debian 12?
1. Identifizieren Sie die Datenträger und prüfen Sie, ob sie unbenutzt sind.
Beginnen Sie mit einem schreibgeschützten Inventar:
Im folgenden Beispiel /dev/sdaist die Debian-Systemfestplatte, während /dev/sdbund /dev/sdcleere 2-TB-Datenfestplatten sind. Ihre Bezeichnungen werden wahrscheinlich abweichen. Achten Sie auf die Übereinstimmung von Größe, Modell, Seriennummer, Dateisystem und Mountpunkten; identifizieren Sie eine Festplatte nicht /dev/sdXallein anhand ihres Namens. Um eine dauerhafte Kennung zu erhalten, prüfen Sie ls -l /dev/disk/by-id/jeden Link und ordnen Sie ihn der von ausgegebenen Seriennummer zu lsblk.
Beispielhafte Terminalansicht von lsblk: Die Systemfestplatte ist eingebunden, während zwei separate Datenfestplatten ohne Dateisysteme oder Mountpunkte angezeigt werden. Überprüfen Sie diese Details auf Ihrem eigenen Server, bevor Sie fortfahren.
2. Erstellen Sie auf jeder leeren Festplatte eine Linux-RAID-Partition.
Erstellen Sie für nachweislich leere Festplatten eine GPT-Partition über den verfügbaren Speicherplatz und kennzeichnen Sie diese als Linux-RAID. Hier fd00ist der Kurzcode von sgdisk für Linux-RAID:
Ersetzen Sie die beiden Beispiel-Datenträgernamen durch die beiden verifizierten Zieldatenträger. --new=1:0:0sgdisk wird angewiesen, Partition 1 im verfügbaren Speicherplatz zuzuweisen. Die Änderungen an der Partitionstabelle sind destruktiv, wenn Sie Datenträger mit vorhandenen Daten auswählen. Wenn sgdisk ein bestehendes Layout, unerwartete Partitionen oder unklare Fehler meldet, brechen Sie den Vorgang ab und untersuchen Sie die Ursache, anstatt die Änderung zu erzwingen. Stellen Sie sicher, dass die neuen Partitionen (normalerweise /dev/sdb1und /dev/sdc1) vorhanden sind und annähernd die gleiche Größe haben.
Beispielhafte Terminalansicht von sgdisk beim Schreiben einer Linux-RAID-Partition auf jede der beiden ausgewählten Datenfestplatten. Die Partitionierung ändert die Metadaten der Festplatte und darf nur auf verifizierten, leeren Laufwerken erfolgen.
3. Installieren Sie mdadm und die GPT-Partitionierungsprogramme.
Aktualisieren Sie den Paketindex und installieren Sie die erforderlichen Befehle:
apt update
apt install mdadm gdisk
Das gdiskPaket enthält sgdisk... Überprüfen Sie die vom Paketmanager vorgeschlagenen Änderungen sorgfältig, bevor Sie sie akzeptieren, insbesondere auf einem Produktivsystem.
Illustrative Terminalansicht der Installation von mdadm und gdisk durch apt aus den Debian Bookworm-Repositories.
4. Erstellen Sie das RAID-1-Array mit zwei Festplatten.
Verwenden Sie die Partitionsgeräte, nicht die vollständigen Festplatten, als Array-Mitglieder. Ersetzen Sie die /dev/disk/by-id/…-part1vorhandenen Pfade durch die von Ihnen überprüften stabilen Pfade; die unten stehenden Kurznamen sorgen für ein übersichtliches Beispiel:
--level=1Wählt die Spiegelung aus, --raid-devices=2legt die beiden Mitglieder fest und gibt explizit die Metadatenversion 1.2 an. Beim Erstellen des Arrays werden RAID-Metadaten geschrieben und die Synchronisierung gestartet. Fahren Sie nicht fort, wenn mdadm warnt, dass ein Mitglied vorhandene RAID-Metadaten oder Daten enthält, die Sie nicht nachvollziehen können. Verwenden Sie nicht die --forceOption „Abkürzung“.
Beispielhafte Terminalansicht des Befehls `mdadm --create` für ein RAID-1-Array mit zwei Mitgliedern. Die angezeigten Gerätenamen sind Beispiele, keine verifizierten Festplatten.
5. Überwachen Sie die Synchronisierung und überprüfen Sie beide Mitglieder.
Überprüfen Sie den Fortschritt und den aktuellen Zustand des Arrays:
cat /proc/mdstat
mdadm --detail /dev/md0
Während der ersten Synchronisierung /proc/mdstatwerden möglicherweise der Synchronisierungsfortschritt und die geschätzte Dauer angezeigt. Warten Sie, bis die Synchronisierung abgeschlossen ist, bevor Sie das Spiegelsystem als vollständig synchronisiert betrachten. Ein typisches, vollständig synchronisiertes Array mit zwei Mitgliedern zeigt „2“ an [2/2] [UU], was bedeutet, dass beide erwarteten Mitgliedsplätze vorhanden sind. mdadm --detailDie Anzeige sollte zwei aktive Geräte auflisten und einen fehlerfreien Zustand melden. Diese Indikatoren beschreiben den Zustand des Arrays zu diesem Zeitpunkt; sie stellen keine Backup-Prüfung dar und garantieren nicht, dass eine der physischen Festplatten dauerhaft fehlerfrei bleibt.
Beispielhafte Terminalansicht von /proc/mdstat und mdadm --detail. Ein intaktes Array mit zwei Mitgliedern zeigt üblicherweise beide Mitglieder als aktiv und [2/2] [UU] an; überprüfen Sie die Live-Ausgabe auf dem Host.
6. Speichern Sie die Array-Definition für die Assemblierung beim Systemstart.
Fragen Sie mdadm nach der Array-Definition:
mdadm --detail --scan /dev/md0
Überprüfen Sie die zurückgegebene ARRAYZeile und fügen Sie diese exakt /etc/mdadm/mdadm.confmit einem Editor in die Datei `mdadm.conf` ein, wobei Sie alle vorhandenen Array-Einträge beibehalten. Vermeiden Sie das wahllose Hinzufügen von Kopien. Die Dokumentation zu `mdadm.conf` in Debian beschreibt diese Datei und wie Array-Definitionen die Assemblierung unterstützen. Bei einer Standardinstallation von Debian mit `initramfs-tools` muss das Initramfs nach der Konfigurationsänderung neu erstellt werden.
update-initramfs -u
Dadurch wird das bestehende Initramfs-Image aktualisiert; es wird keine Sicherung Ihres Arrays erstellt. Wenn dieses System ein anderes Initramfs-Framework oder eine nicht standardmäßige Boot-Konfiguration verwendet, befolgen Sie die dokumentierte Aktualisierungsprozedur dieses Frameworks.
Beispielhafte Terminalansicht eines ARRAY-Eintrags, der mit mdadm --detail --scan und einem initramfs update-Befehl gefunden wurde.
7. Erstellen Sie ein Dateisystem und binden Sie das zusammengestellte Array ein.
Erst nachdem sichergestellt wurde, dass /dev/md0es sich um das neue Array handelt, sollte ein ext4-Dateisystem auf diesem Gerät erstellt werden:
mkfs.ext4 /dev/md0
mkdir -p /srv/raid1
mount /dev/md0 /srv/raid1
blkid /dev/md0
mkfs.ext4Löscht Dateisystemdaten auf dem Zielsystem. Führen Sie es auf dem zusammengesetzten Array-Gerät aus, nicht auf dem Zielsystem /dev/sdb1oder dem Zielsystem /dev/sdc1; die direkte Formatierung eines Elements würde die Spiegelung umgehen. Kopieren Sie die von ausgegebene Dateisystem-UUID blkidund fügen Sie dann eine Zeile wie die folgende zu Ihrer Datei hinzu /etc/fstab, wobei Sie den Platzhalter durch die tatsächliche UUID ersetzen:
Die Verwendung der Dateisystem-UUID vermeidet Abhängigkeiten von der Reihenfolge, in der Linux die Festplatten erkennt. Die letzte Option 2aktiviert die normale sekundäre Dateisystemprüfung für ext-Dateisysteme. Wenn Sie die nofailMount-Option wählen, damit der Bootvorgang auch bei fehlendem Speicher fortgesetzt werden kann, stellen Sie sicher, dass Dienste nicht in das leere Mount-Verzeichnis schreiben, solange das Array nicht vorhanden ist.
Beispielhafte Terminalansicht der Erstellung eines ext4-Dateisystems auf dem zusammengebauten Array-Gerät und dessen Einbindung unter /srv/raid1. Durch die Formatierung werden die vorhandenen Dateisystemdaten gelöscht.
8. Testen Sie die Mount-Konfiguration und planen Sie einen kontrollierten Neustart.
Prüfen Sie den fstab-Eintrag ohne Neustart und überprüfen Sie anschließend den resultierenden Mount- und RAID-Status:
mount -a
findmnt /srv/raid1
df -hT /srv/raid1
cat /proc/mdstat
mdadm --detail /dev/md0
findmnt/dev/md0Das Laufwerk sollte /srv/raid1mit dem erwarteten Dateisystem eingebunden werden. Falls nicht, korrigieren Sie den /etc/fstabFehler vor dem Neustart; ein Tippfehler kann den Startvorgang unterbrechen oder dazu führen, dass die Einbindung fehlt. Sobald die Prüfungen erfolgreich waren, planen Sie einen kontrollierten Neustart und wiederholen Sie anschließend die Einbindungs- und RAID-Prüfungen. Dieser Artikel garantiert nicht, dass ein bestimmter Server auf Neustarts getestet wurde.
Beispielhafte Terminalansicht eines Dateisystem-UUID-Eintrags in fstab und findmnt, der /dev/md0 unter /srv/raid1 gemountet anzeigt.
Checkliste zur schnellen Überprüfung
Korrektes Ziel: Seriennummern-/Modell- und Mount-Prüfungen bestätigten, dass die ausgewählten Datenträger die beabsichtigten, ungenutzten Laufwerke sind.
Partitionierung: Beide Mitgliedspartitionen existieren und sind von ähnlicher Größe.
Array-Status:/proc/mdstat Zeigt nach der Synchronisierung beide Mitglieder als vorhanden an [UU]und mdadm --detailmeldet zwei aktive Geräte.
Dateisystem und Mount:findmnt /srv/raid1 zeigt das Array-basierte Gerät und das erwartete Dateisystem unter dem vorgesehenen Pfad an.
Persistenz: Die Array-Definition ist in gespeichert /etc/mdadm/mdadm.conf, die Dateisystem-UUID befindet sich in /etc/fstab, und ein geplanter Neustart bestätigt, dass beides assembliert und gemountet ist.
Einschränkungen und Überlegungen zur Wiederherstellung
RAID 1 speichert eine Kopie der geschriebenen Blöcke auf jedem Mitglied. Der Ausfall eines einzelnen Mitglieds kann daher den Betrieb des Arrays beeinträchtigen. Dies bedeutet nicht, dass jede Anwendung normal funktioniert oder jeder Fehler ohne Ausfallzeiten behoben werden kann. Überwachen Sie das System und reagieren Sie umgehend auf Festplatten- oder Array-Warnungen. Bevor Sie eine ausgefallene Festplatte austauschen, verwenden Sie mdadm --detail /dev/md0stabile Geräteidentifikatoren, um das betroffene Mitglied zu ermitteln. Die Ersatzfestplatte muss in der Regel mindestens so groß wie das vorhandene Mitglied sein und entsprechend dem Array partitioniert werden. Das Hinzufügen der korrekt identifizierten Ersatzpartition mdadm --add /dev/md0 /dev/REPLACEMENT_PARTITIONstartet einen Wiederherstellungsvorgang. Überprüfen Sie die Geräteidentität sorgfältig, bevor Sie einen Wiederherstellungsbefehl ausführen, und überwachen Sie den Wiederherstellungsvorgang, bis beide Mitglieder wieder fehlerfrei funktionieren.
Verwenden Sie diese Anleitung zum Erstellen von Datenvolumes nicht, um ein Debian-Root-Dateisystem zu spiegeln. Ein bootfähiges Root-RAID-Setup stellt zusätzliche Anforderungen an die EFI-Systempartition, die Installation des Bootloaders, den Inhalt der initramfs und die Wiederherstellungstests. Behandeln Sie ein funktionierendes Spiegel-RAID ebenfalls nicht als unabhängige Kopie: Erstellen Sie ein separates, versioniertes Backup und testen Sie die Wiederherstellung von Dateien daraus. Informationen zur allgemeinen Administration von Debian-Software-RAID finden Sie in der Dokumentation zu Debian SoftwareRAID sowie in den oben verlinkten, versionierten Bookworm-Handbüchern.