Website-Suche

LFCS #6: Wie man Partitionen als RAID-Geräte unter Linux zusammenbaut


Die Linux Foundation hat die LFCS-Zertifizierung (Linux Foundation Certified Sysadmin) eingeführt, eine glänzende Gelegenheit für Systemadministratoren auf der ganzen Welt, durch eine leistungsbasierte Prüfung zu demonstrieren, dass sie in der Lage sind, den gesamten Betriebssupport für Linux-Systeme zu leisten: Systemsupport, Diagnose und Überwachung auf der ersten Ebene sowie bei Bedarf Eskalation von Problemen an andere Support-Teams.

Die Serie trägt den Titel Vorbereitung auf die LFCS (Linux Foundation Certified Sysadmin) Teile 1 bis 33 und behandelt die folgenden Themen:

Nein.Titel
Teil 1So verwenden Sie den Befehl 'sed', um Dateien unter Linux zu manipulieren
Teil 2So installieren und verwenden Sie Vi/Vim unter Linux
Teil 3Wie man Dateien und Anweisungen komprimiert und Dateien in Linux findet
Teil 4So partitionieren Sie Speichergeräte unter Linux
Teil 5Einbinden von (Samba- und NFS-)Dateisystemen unter Linux
Teil 6So stellen Sie Partitionen als RAID-Geräte zusammen und erstellen Systemsicherungen
Teil 7Verwalten von Systemstartprozessen und -diensten (SysVinit, systemd und upstart)
Teil 8Verwalten von Benutzern und Gruppen, Dateiberechtigungen und Sudo-Zugriff
Teil 9Linux-Paketverwaltung mit Yum, RPM, Apt, Dpkg, Aptitude und Zypper
Teil 10Erlernen grundlegender Shell-Skripterstellung und Fehlerbehebung bei Dateisystemen
Teil 11Verwalten und Erstellen von LVM mit den Befehlen vgcreate, lvcreate und lvextend
Teil 12So erkunden Sie Linux mit installierten Hilfedokumentationen und Tools
Teil 13Konfigurieren und Beheben von Problemen mit Grand Unified Bootloader (GRUB)
Teil 14Überwachen Sie die Ressourcennutzung von Linux-Prozessen und legen Sie Prozesslimits pro Benutzer fest
Teil 15Festlegen oder Ändern von Kernel-Laufzeitparametern in Linux-Systemen
Teil 16Implementierung der obligatorischen Zugriffskontrolle mit SELinux oder AppArmor unter Linux
Teil 17Festlegen von Zugriffssteuerungslisten (Access Control Lists, ACLs) und Festplattenkontingenten für Benutzer und Gruppen
Teil 18Installieren von Netzwerkdiensten und Konfigurieren des automatischen Starts beim Booten
Teil 19Eine ultimative Anleitung zum Einrichten eines FTP-Servers, um anonyme Anmeldungen zu ermöglichen
Teil 20Richten Sie einen grundlegenden DNS-Server für rekursives Caching ein und konfigurieren Sie Zonen für die Domäne
Teil 21Installieren, Sichern und Optimieren der Leistung des MariaDB-Datenbankservers
Teil 22Installieren und Konfigurieren des NFS-Servers für die gemeinsame Nutzung von Dateisystemen
Teil 23So richten Sie Apache mit namensbasiertem virtuellem Hosting mit SSL-Zertifikat ein
Teil 24So richten Sie eine iptables-Firewall ein, um den Fernzugriff auf Dienste unter Linux zu ermöglichen
Teil 25So verwandeln Sie ein Linux in einen Router, um den Datenverkehr statisch und dynamisch zu verarbeiten
Teil 26So richten Sie verschlüsselte Dateisysteme ein und tauschen sie mit dem Cryptsetup-Tool aus
Teil 27Überwachen der Systemauslastung, Ausfälle und Fehlerbehebung bei Linux-Servern
Teil 28Einrichten eines Netzwerk-Repositorys zum Installieren oder Aktualisieren von Paketen
Teil 29Prüfen der Netzwerkleistung, -sicherheit und -problembehandlung
Teil 30Installieren und Verwalten von virtuellen Maschinen und Containern
Teil 31Lernen Sie die Grundlagen von Git kennen, um Projekte effizient zu verwalten
Teil 32Ein Leitfaden für Anfänger zur Konfiguration von IPv4- und IPv6-Adressen unter Linux
Teil 33Ein Leitfaden für Anfänger zum Erstellen von Netzwerkbindung und -bridging in Ubuntu

Dieser Beitrag ist Teil 6 einer 33-teiligen Tutorial-Reihe, hier in diesem Teil erklären wir, wie man Partitionen als RAID-Geräte zusammenstellt und Systemsicherungen erstellt und verwaltet, die für die LFCS-Zertifizierungsprüfung erforderlich sind.

RAID unter Linux verstehen

Die als Redundant Array of Independent Disks (RAID) bekannte Technologie ist eine Speicherlösung, die mehrere Festplatten zu einer einzigen logischen Einheit kombiniert, um Redundanz von Daten zu gewährleisten und/oder die Leistung bei Lese-/Schreibvorgängen auf der Festplatte zu verbessern.

Die tatsächliche Fehlertoleranz und die Datenträger-E/A-Leistung hängen jedoch davon ab, wie die Festplatten so eingerichtet sind, dass sie das Datenträgerarray bilden. Abhängig von den verfügbaren Geräten und den Anforderungen an die Fehlertoleranz/Leistung werden unterschiedliche RAID-Level definiert.

Im folgenden Artikel der RAID-Serie finden Sie eine detailliertere Erläuterung der einzelnen RAID-Level.

Installieren von mdadm unter Linux

Unser bevorzugtes Tool zum Erstellen, Zusammenstellen, Verwalten und Überwachen unserer Software-RAIDs heißt mdadm (kurz für Multiple Disks Admin).

$ sudo apt install mdadm         [On Debian, Ubuntu and Mint]
sudo yum install mdadm         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo zypper install mdadm      [On OpenSUSE]    

Zusammenstellen von Partitionen als RAID-Geräte

Der Prozess des Zusammenstellens vorhandener Partitionen als RAID-Geräte besteht aus den folgenden Schritten.

1. Erstellen eines neuen Arrays mit mdadm

Wenn eine der Partitionen bereits formatiert wurde oder zuvor Teil eines anderen RAID-Arrays war, werden Sie aufgefordert, die Erstellung des neuen Arrays zu bestätigen.

Angenommen, Sie haben die notwendigen Vorkehrungen getroffen, um den Verlust wichtiger Daten zu vermeiden, die sich möglicherweise in ihnen befunden haben, können Sie sicher y eingeben und die Eingabetaste drücken.

# mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1

2. Überprüfen Sie den Status der Array-Erstellung

Um den Status der Array-Erstellung zu überprüfen, verwenden Sie die folgenden Befehle – unabhängig vom RAID-Typ. Diese gelten genauso wie bei der Erstellung eines RAID0 (wie oben gezeigt) oder bei der Einrichtung eines RAID5, wie in der Abbildung unten gezeigt.

# cat /proc/mdstat
or 
mdadm --detail /dev/md0	[More detailed summary]

3. RAID-Gerät formatieren

Formatieren Sie das Gerät mit einem Dateisystem gemäß Ihren Bedürfnissen/Anforderungen, wie in Teil 4 dieser Serie erläutert.

4. Überwachen des RAID-Array-Dienstes

Weisen Sie den Überwachungsdienst an, das Array im Auge zu behalten. Fügen Sie die Ausgabe von mdadm --detail --scan zu /etc/mdadm/mdadm.conf (Debian und Derivate) oder /etc/mdadm.conf (CentOS/openSUSE) hinzu, wie folgt.

# mdadm --detail --scan

# mdadm --assemble --scan 	[Assemble the array]

Um sicherzustellen, dass der Dienst beim Systemstart gestartet wird, führen Sie die folgenden Befehle als root aus.

# systemctl start mdmonitor
systemctl enable mdmonitor

5. Überprüfen Sie den Ausfall der RAID-Festplatte

Ersetzen Sie bei RAID-Stufen, die Redundanz unterstützen, ausgefallene Laufwerke bei Bedarf. Wenn ein Gerät im Festplatten-Array fehlerhaft wird, wird eine Neuerstellung nur dann automatisch gestartet, wenn beim ersten Erstellen des Arrays ein Ersatzgerät hinzugefügt wurde.

Andernfalls müssen wir manuell ein zusätzliches physisches Laufwerk an unser System anhängen und es ausführen.

# mdadm /dev/md0 --add /dev/sdX1

Dabei ist /dev/md0 das Array, bei dem das Problem aufgetreten ist, und /dev/sdX1 das neue Gerät.

6. Zerlegen eines funktionierenden Arrays

Möglicherweise müssen Sie dies tun, wenn Sie ein neues Array mit den Geräten erstellen müssen – (Optionaler Schritt).

# mdadm --stop /dev/md0 		#  Stop the array
mdadm --remove /dev/md0 		# Remove the RAID device
mdadm --zero-superblock /dev/sdX1 	# Overwrite the existing md superblock with zeroes

7. Erstellen Sie E-Mail-Benachrichtigungen

Sie können eine gültige E-Mail-Adresse oder ein gültiges Systemkonto konfigurieren, an das Warnungen gesendet werden sollen (stellen Sie sicher, dass Sie diese Zeile in mdadm.conf haben). – (Optionaler Schritt)

MAILADDR root

In diesem Fall werden alle Warnungen, die der RAID-Überwachungs-Daemon sammelt, an das Postfach des lokalen Root-Kontos gesendet. Eine dieser Warnungen sieht wie folgt aus.

Hinweis: Dieses Ereignis bezieht sich auf das Beispiel in SCHRITT 5, in dem ein Gerät als fehlerhaft markiert wurde und das Ersatzgerät automatisch von mdadm in das Array eingebaut wurde. So gingen uns die gesunden Ersatzgeräte aus und wir bekamen den Alarm.

Grundlegendes zu RAID-Levels in Linux

Hier ist ein kurzer Überblick über gängige RAID-Level:

RAID 0

Die Gesamtgröße des Arrays ist n-mal so groß wie die kleinste Partition, wobei n die Anzahl der unabhängigen Festplatten im Array ist (Sie benötigen mindestens zwei Laufwerke). Führen Sie den folgenden Befehl aus, um ein RAID 0-Array mit den Partitionen /dev/sdb1 und /dev/sdc1 zusammenzustellen.

# mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1

Häufige Verwendungszwecke: Setups, die Echtzeitanwendungen unterstützen, bei denen die Leistung wichtiger ist als die Fehlertoleranz.

RAID 1 (auch bekannt als Spiegelung)

Die Gesamtgröße des Arrays entspricht der Größe der kleinsten Partition (Sie benötigen mindestens zwei Laufwerke). Führen Sie den folgenden Befehl aus, um ein RAID 1-Array mit den Partitionen /dev/sdb1 und /dev/sdc1 zusammenzustellen.

# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

Häufige Verwendungen: Installation des Betriebssystems oder wichtiger Unterverzeichnisse, wie z.B. /home.

RAID 5 (auch bekannt als Laufwerke mit Parity)

Die Gesamtgröße des Arrays beträgt (n – 1) mal so groß wie die kleinste Partition. Der "verlorene" Speicherplatz in (n-1) wird für die Berechnung der Parität (Redundanz) verwendet (Sie benötigen mindestens drei Laufwerke).

Beachten Sie, dass Sie ein Ersatzgerät (in diesem Fall /dev/sde1) angeben können, um ein fehlerhaftes Teil zu ersetzen, wenn ein Problem auftritt. Führen Sie den folgenden Befehl aus, um ein RAID 5-Array mit den Partitionen /dev/sdb1, /dev/sdc1, /dev/sdd1 und /dev/sde1 als Reserve zusammenzustellen.

# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1 --spare-devices=1 /dev/sde1

Häufige Verwendungen: Web- und Dateiserver.

RAID 6 (auch bekannt als Laufwerke mit doppelter Parität

Die Gesamtgröße des Arrays beträgt (n*s)-2*s, wobei n die Anzahl der unabhängigen Festplatten im Array und s die Größe der kleinsten Festplatte ist. Beachten Sie, dass Sie ein Ersatzgerät (in diesem Fall /dev/sdf1) angeben können, um ein fehlerhaftes Teil zu ersetzen, wenn ein Problem auftritt.

Führen Sie den folgenden Befehl aus, um ein RAID 6-Array mit den Partitionen /dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1 und /dev/sdf1 als Reserve zusammenzustellen.

# mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde --spare-devices=1 /dev/sdf1

Häufige Verwendungen: Datei- und Backup-Server mit hohen Kapazitäts- und Hochverfügbarkeitsanforderungen.

RAID 1+0 (auch bekannt als Stripe of Mirrors)

Die Gesamt-Array-Größe wird basierend auf den Formeln für RAID 0 und RAID 1 berechnet, da RAID 1+0 eine Kombination aus beiden ist. Berechnen Sie zuerst die Größe jedes Spiegels und dann die Größe des Streifens.

Beachten Sie, dass Sie ein Ersatzgerät (in diesem Fall /dev/sdf1) angeben können, um ein fehlerhaftes Teil zu ersetzen, wenn ein Problem auftritt. Führen Sie den folgenden Befehl aus, um ein RAID 1+0-Array mit den Partitionen /dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1 und /dev/sdf1 als Reserve zusammenzustellen.

# mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sd[b-e]1 --spare-devices=1 /dev/sdf1

Häufige Verwendungen: Datenbank- und Anwendungsserver, die schnelle E/A-Vorgänge erfordern.

Erstellen und Verwalten von Systemsicherungen unter Linux

Es schadet nie, sich daran zu erinnern, dass RAID mit all seinen Boni KEIN ERSATZ FÜR BACKUPS IST! Schreibe es 1000 Mal an die Tafel, wenn es sein muss, aber stelle sicher, dass du diese Idee immer im Kopf behältst.

Bevor wir beginnen, müssen wir beachten, dass es keine Einheitslösung für Systemsicherungen gibt, aber hier sind einige Dinge, die Sie bei der Planung einer Backup-Strategie berücksichtigen müssen.

  • Wofür verwenden Sie Ihr System? (Desktop oder Server? Wenn letzteres zutrifft, was sind die kritischsten Dienste – deren Konfiguration wäre ein echter Schmerz, wenn man sie verliert?)
  • Wie oft müssen Sie Backups Ihres Systems erstellen?
  • Welche Daten (z. B. Dateien/Verzeichnisse/Datenbank-Dumps) möchten Sie sichern? Sie sollten auch überlegen, ob Sie wirklich große Dateien (z. B. Audio- oder Videodateien) sichern müssen.
  • Wo (d. h. an einem physischen Ort und auf einem Medium) werden diese Backups gespeichert?

1. Sichern Sie Laufwerke mit dem Befehl dd

Sichern Sie ganze Laufwerke mit dem Befehl dd. Sie können entweder eine ganze Festplatte oder eine Partition sichern, indem Sie zu einem beliebigen Zeitpunkt ein exaktes Image erstellen. Beachten Sie, dass dies am besten funktioniert, wenn das Gerät offline ist, d. h. es ist nicht gemountet und es gibt keine Prozesse, die für E/A-Vorgänge darauf zugreifen.

Der Nachteil dieses Sicherungsansatzes besteht darin, dass das Image die gleiche Größe wie die Festplatte oder Partition hat, selbst wenn die tatsächlichen Daten nur einen kleinen Prozentsatz davon belegen.

Wenn Sie z. B. ein Image einer Partition von 20 GB erstellen möchten, die nur zu 10 % gefüllt ist, ist die Imagedatei immer noch 20 GB groß. Mit anderen Worten, es werden nicht nur die eigentlichen Daten gesichert, sondern die gesamte Partition selbst. Sie können diese Methode in Betracht ziehen, wenn Sie genaue Backups Ihrer Geräte benötigen.

Erstellen eines Partitionsabbilds

# dd if=/dev/sda of=/system_images/sda.img
OR
--------------------- Alternatively, you can compress the image file --------------------- 
dd if=/dev/sda | gzip -c > /system_images/sda.img.gz 

Wiederherstellen eines Partitionsabbilds

# dd if=/system_images/sda.img of=/dev/sda
OR 
gzip -dc /system_images/sda.img.gz | dd of=/dev/sda 

2. Sichern Sie Dateien mit dem tar-Befehl

Sichern Sie bestimmte Dateien / Verzeichnisse mit dem Befehl tar – bereits in Teil 3 dieser Serie behandelt. Sie können diese Methode verwenden, wenn Sie Kopien bestimmter Dateien und Verzeichnisse (Konfigurationsdateien, Benutzerstammverzeichnisse usw.) aufbewahren müssen.

2. Sichern und synchronisieren Sie Dateien mit dem Befehl rsync

Synchronisieren Sie Dateien mit dem Befehl rsync, einem vielseitigen Tool zum Kopieren von Dateien aus der Ferne (und vor Ort). Wenn Sie Ihre Dateien auf/von Netzlaufwerken sichern und synchronisieren müssen, ist rsync eine gute Wahl.

Unabhängig davon, ob Sie zwei lokale Verzeichnisse oder lokale < --- > Remote-Verzeichnisse synchronisieren, die auf dem lokalen Dateisystem eingebunden sind, ist die grundlegende Syntax dieselbe.

Synchronisieren von zwei lokalen Verzeichnissen

# rsync -av source_directory destination directory

Wobei, -a rekursiv in Unterverzeichnisse (falls vorhanden), symbolische Links, Zeitstempel, Berechtigungen und ursprünglicher Besitzer/Gruppe beibehalten und -v ausführlich.

Wenn Sie die Sicherheit der Datenübertragung über das Kabel erhöhen möchten, können Sie außerdem ssh over rsync verwenden.

Synchronisieren von lokalen → Remote-Verzeichnissen über SSH

# rsync -avzhe ssh backups root@remote_host:/remote_directory/

In diesem Beispiel wird das Sicherungsverzeichnis auf dem lokalen Host mit dem Inhalt von /root/remote_directory auf dem Remotehost synchronisiert.

Dabei zeigt die Option -h die Dateigrößen in einem lesbaren Format an und das Flag -e wird verwendet, um eine SSH-Verbindung anzuzeigen.

Synchronisieren von Remote-→ lokalen Verzeichnissen über SSH

Wechseln Sie in diesem Fall das Quell- und das Zielverzeichnis aus dem vorherigen Beispiel.

# rsync -avzhe ssh root@remote_host:/remote_directory/ backups 

Bitte beachten Sie, dass dies nur 3 Beispiele (die häufigsten Fälle, auf die Sie wahrscheinlich stoßen werden) für die Verwendung von rsync sind. Weitere Beispiele und Verwendungen von rsync-Befehlen finden Sie im folgenden Artikel.

Zusammenfassung

Als Systemadministrator müssen Sie sicherstellen, dass Ihre Systeme so gut wie möglich funktionieren. Wenn Sie gut vorbereitet sind und die Integrität Ihrer Daten durch Speichertechnologien wie RAID und regelmäßige Systemsicherungen gut unterstützt wird, sind Sie auf der sicheren Seite.

Das LFCS eBook ist ab sofort zum Kauf erhältlich. Bestellen Sie noch heute Ihr Exemplar und beginnen Sie Ihre Reise zum zertifizierten Linux-Systemadministrator!

ProduktnamePreisKaufen
Der Leitfaden zur Vorbereitung der LFCS-Zertifizierung der Linux Foundation19,99 $[Jetzt kaufen]

Zu guter Letzt erwägen Sie bitte, Ihren Prüfungsgutschein über die folgenden Links zu kaufen, um uns eine kleine Provision zu verdienen, die uns hilft, dieses Buch auf dem neuesten Stand zu halten.

Wenn Sie Fragen, Kommentare oder weitere Ideen haben, wie dieser Artikel verbessert werden kann, können Sie sich gerne unten äußern. Bitte erwägen Sie außerdem, diese Serie über Ihre Profile in sozialen Netzwerken zu teilen.

Verwandte Artikel: