LFCS #6: Wie man Partitionen als RAID-Geräte zusammenstellt und System-Backups erstellt

Die Linux Foundation hat die LFCS (Linux Foundation Certified Sysadmin) Zertifizierung gestartet, eine glänzende Chance für Systemadministratoren überall, durch eine leistungsorientierte Prüfung zu zeigen, dass sie in der Lage sind, umfassende Betriebssupport auf Linux-Systemen durchzuführen: Systemunterstützung, Diagnose und Überwachung der ersten Ebene sowie Eskalation von Problemen, wenn erforderlich, an andere Support-Teams.

Die Serie wird unter dem Titel Vorbereitung auf die LFCS (Linux Foundation Certified Sysadmin) Teile 1 bis 33 sein und die folgenden Themen abdecken:

No. Title
Part 1 How to Use ‘Sed’ Command to Manipulate Files in Linux
Part 2 How to Install and Use Vi/Vim in Linux
Part 3 How to Compress Files & Directoires and Finding Files in Linux
Part 4 How to Partition Storage Devices in Linux
Part 5 How to Mount (Samba and NFS) Filesystems in Linux
Part 6 How to Assemble Partitions as RAID Devices and Create System Backups
Part 7 Managing System Startup Processes and Services (SysVinit, Systemd, and Upstart
Part 8 How to Manage User & Groups, File Permissions, and Sudo Access
Part 9 Linux Package Management with Yum, RPM, Apt, Dpkg, Aptitude, and Zypper
Part 10 Learning Basic Shell Scripting and Filesystem Troubleshooting
Part 11 How to Manage and Create LVM Using vgcreate, lvcreate, and lvextend Commands
Part 12 How to Explore Linux with Installed Help Documentations and Tools
Part 13 How to Configure and Troubleshoot Grand Unified Bootloader (GRUB)
Part 14 Monitor Linux Processes Resource Usage and Set Process Limits on a Per-User Basis
Part 15 How to Set or Modify Kernel Runtime Parameters in Linux Systems
Part 16 Implementing Mandatory Access Control with SELinux or AppArmor in Linux
Part 17 How to Set Access Control Lists (ACLs) and Disk Quotas for Users and Groups
Part 18 Installing Network Services and Configuring Automatic Startup at Boot
Part 19 An Ultimate Guide to Setting Up FTP Server to Allow Anonymous Logins
Part 20 Setup a Basic Recursive Caching DNS Server and Configure Zones for Domain
Part 21 How to Install, Secure, and Performance Tuning of MariaDB Database Server
Part 22 How to Install and Configure NFS Server for File System Sharing
Part 23 How to Setup Apache with Name-Based Virtual Hosting with SSL Certificate
Part 24 How To Setup an Iptables Firewall to Enable Remote Access to Services in Linux
Part 25 How to Turn a Linux into a Router to Handle Traffic Statically and Dynamically
Part 26 How to Setup Encrypted Filesystems and Swap Using Cryptsetup Tool
Part 27 How to Monitor System Usage, Outages, and Troubleshoot Linux Servers
Part 28 How to Setup a Network Repository to Install or Update Packages
Part 29 How to Audit Network Performance, Security, and Troubleshooting
Part 30 How to Install and Manage Virtual Machines and Containers
Part 31 Learn the Basics of Git to Manage Projects Efficiently
Part 32 A Beginner’s Guide to Configuring IPv4 and IPv6 Addresses in Linux
Part 33 A Beginner’s Guide to Creating Network Bonding and Bridging in Ubuntu

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

Verständnis von RAID in Linux

Die Technologie, bekannt als Redundant Array of Independent Disks (RAID), ist eine Speicherlösung, die mehrere Festplatten zu einer einzigen logischen Einheit kombiniert, um Redundanz von Daten und/oder Leistungssteigerung bei Lese- / Schreiboperationen auf die Festplatte zu bieten.

Jedoch hängen die tatsächliche Fehlertoleranz und die Festplatten-I/O-Leistung davon ab, wie die Festplatten eingerichtet sind, um das Festplattenarray zu bilden. Abhängig von den verfügbaren Geräten und den Anforderungen an die Fehlertoleranz/Leistung werden verschiedene RAID-Level definiert.

Sie können sich auf den folgenden RAID-Serienartikel beziehen, um eine detailliertere Erklärung jedes RAID-Levels zu erhalten.

Installieren Sie mdadm in Linux

Unser Werkzeug der Wahl zur Erstellung, Montage, Verwaltung und Überwachung 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]    

Partitionen als RAID-Geräte zusammenfügen

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

1. Erstellen eines neuen Arrays mit mdadm

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

Vorausgesetzt, Sie haben die notwendigen Vorsichtsmaßnahmen getroffen, um den Verlust wichtiger Daten zu vermeiden, die darin enthalten gewesen sein könnten, können Sie sicher j eingeben und Enter drücken.

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

2. Überprüfen des Array-Erstellungsstatus

Um den Status der Array-Erstellung zu überprüfen, verwenden Sie die folgenden Befehle – unabhängig vom RAID-Typ. Diese sind genauso gültig wie bei der Erstellung eines RAID0 (wie oben gezeigt) oder wenn Sie dabei sind, ein RAID5 einzurichten, wie im folgenden Bild gezeigt.3. RAID-Gerät formatieren

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

3. Format RAID-Gerät

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

4. Überwachen des RAID-Array-Dienstes

Befolgen Sie die Anweisungen des Überwachungsdienstes, um 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
Monitor RAID Array
# mdadm --assemble --scan 	[Assemble the array]

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

# systemctl start mdmonitor
# systemctl enable mdmonitor

5. Prüfen von RAID-Festplattenausfällen

Bei RAID-Stufen, die Redundanz unterstützen, ersetzen Sie defekte Laufwerke bei Bedarf. Wenn ein Gerät im Festplattenarray defekt wird, beginnt ein Wiederherstellungsvorgang automatisch, nur wenn beim Erstellen des Arrays ein Ersatzgerät hinzugefügt wurde.

Check RAID Faulty Disk

Andernfalls müssen wir eine zusätzliche physische Festplatte manuell an unser System anschließen und ausführen.

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

Dabei ist /dev/md0 das betroffene Array und /dev/sdX1 das neue Gerät.

6. Zerlegen eines funktionierenden Arrays

Sie müssen dies möglicherweise 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 von E-Mail-Benachrichtigungen

Sie können eine gültige E-Mail-Adresse oder ein Systemkonto konfigurieren, um Benachrichtigungen zu senden (stellen Sie sicher, dass diese Zeile in mdadm.conf enthalten ist). – (Optionaler Schritt)

MAILADDR root

In diesem Fall werden alle Warnungen, die der RAID-Überwachungs-Daemon sammelt, an den lokalen Root-Konto-Posteingang gesendet. Eine solche Warnung sieht beispielsweise wie folgt aus.

Hinweis: Dieses Ereignis bezieht sich auf das Beispiel in SCHRITT 5, bei dem eine Einheit als defekt markiert wurde und die Ersatzeinheit automatisch von mdadm in den RAID eingebaut wurde. Daher „sind wir ohne“ gesunde Ersatzlaufwerke gelaufen und haben die Warnung erhalten.

RAID Monitoring Alerts

Verständnis von RAID-Ebenen in Linux

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

RAID 0

Die Gesamtgröße des Arrays beträgt n mal die Größe des kleinsten Teilungsabschnitts, wobei n die Anzahl der unabhängigen Laufwerke 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

Allgemeine Verwendung: Einsätze, die Echtzeit-Anwendungen unterstützen, bei denen Leistung wichtiger ist als Fehlertoleranz.

RAID 1 (auch als Spiegelung bekannt)

Die Gesamtgröße des Arrays entspricht der Größe des kleinsten Teilungsabschnitts (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

Allgemeine Verwendung: Installation des Betriebssystems oder wichtiger Unterverzeichnisse, wie z.B. /home.

RAID 5 (auch als Laufwerke mit Parität bekannt)

Die Gesamtgröße des Arrays beträgt (n – 1) mal die Größe des kleinsten Teilungsabschnitts. Der „verlorengegangene“ Platz in (n-1) wird für die Paritätsberechnung (Redundanz) verwendet (Sie benötigen mindestens drei Laufwerke).

Beachten Sie, dass Sie eine Reserveeinheit angeben können (/dev/sde1 in diesem Fall), um einen defekten 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

Allgemeine Verwendung: Web- und Dateiserver.

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

Die Gesamtgröße des Arrays beträgt (n*s)-2*s, wobei n die Anzahl der unabhängigen Festplatten im Array ist und s die Größe der kleinsten Festplatte ist. Beachten Sie, dass Sie eine Reserveeinheit angeben können (/dev/sdf1 in diesem Fall), um einen defekten 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

Allgemeine Verwendung: Datei- und Sicherungsserver mit hohen Anforderungen an Kapazität und hohe Verfügbarkeit.

RAID 1+0 (auch als Stripe von Spiegeln bekannt)

Die Gesamtgröße des Arrays 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 bei Bedarf eine Reserve-Einheit (/dev/sdf1) angeben können, um eine defekte Komponente 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 zu erstellen.

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

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

Erstellen und Verwalten von Systembackups in Linux

Es schadet nie, sich daran zu erinnern, dass RAID trotz all seiner Vorteile KEIN ERSATZ FÜR BACKUPS IST! Schreiben Sie es 1000 Mal auf die Schiefertafel, wenn Sie müssen, aber stellen Sie sicher, dass Sie diesen Gedanken immer im Hinterkopf behalten.

Bevor wir beginnen, müssen wir festhalten, dass es keine Allerweltslösung für Systembackups 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? Im letzteren Fall anwenden, was sind die kritischsten Dienste – deren Konfiguration wäre ein echtes Ärgernis zu verlieren?)
  • Wie oft müssen Sie Backups Ihres Systems erstellen?
  • Welche Daten (z.B. Dateien/Verzeichnisse/Datenbankdumps) möchten Sie sichern? Sie könnten auch in Betracht ziehen, ob Sie wirklich große Dateien (wie Audio- oder Videodateien) sichern müssen.
  • Wo (also physischer Ort und Medium) werden diese Backups gespeichert?

1. Backup-Laufwerke mit dem dd-Befehl

Sichern Sie ganze Laufwerke mit dem dd-Befehl. Sie können entweder eine gesamte Festplatte oder eine Partition durch Erstellen eines genauen Abbilds zu einem beliebigen Zeitpunkt sichern. Beachten Sie, dass dies am besten funktioniert, wenn das Gerät offline ist, d. h. nicht gemountet ist und keine Prozesse darauf für E/A-Operationen zugreifen.

Der Nachteil dieser Sicherungsstrategie ist, dass das Abbild die gleiche Größe wie die Festplatte oder Partition hat, selbst wenn die tatsächlichen Daten nur einen kleinen Prozentsatz davon ausmachen.

Zum Beispiel, wenn Sie ein Abbild einer Partition von 20 GB erstellen möchten, die nur 10% voll ist, wird die Abbilddatei immer noch 20 GB in Größe sein. Mit anderen Worten, es werden nicht nur die tatsächlichen Daten gesichert, sondern die gesamte Partition selbst. Sie können diese Methode in Betracht ziehen, wenn Sie exakte Sicherungen Ihrer Geräte benötigen.

Erstellen eines Partition Abbilds

# 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 Partition Abbilds

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

2. Dateien mit dem tar-Befehl sichern

Sichern Sie bestimmte Dateien / Verzeichnisse mit dem tar-Befehl – bereits in Teil 3 dieser Serie behandelt. Sie können diese Methode in Betracht ziehen, wenn Sie Kopien bestimmter Dateien und Verzeichnisse (Konfigurationsdateien, Benutzer-Heimatverzeichnisse usw.) benötigen.

2. Dateien mit dem rsync-Befehl synchronisieren und sichern

Dateien mit dem rsync-Befehl zu synchronisieren, der ein vielseitiges Werkzeug zur Kopie von Dateien (lokal und entfernt) ist. Sollten Sie Ihre Dateien auf/von Netzlaufwerken sichern und synchronisieren müssen, ist rsync eine gute Wahl.

Ob Sie zwei lokale Verzeichnisse oder lokale < --- > auf dem lokalen Dateisystem montierte entfernte Verzeichnisse synchronisieren möchten, ist die grundlegende Syntax gleich.

Synchronisieren von zwei lokalen Verzeichnissen

# rsync -av source_directory destination directory

Hierbei steht -a für das Eindringen in Unterverzeichnisse (falls vorhanden), das Beibehalten von symbolischen Links, Zeitstempeln, Berechtigungen und dem ursprünglichen Besitzer/Gruppe und -v für ausführliche Ausgabe.

rsync Synchronizing Files

Zusätzlich können Sie für eine erhöhte Sicherheit des Datentransfers über das Kabel ssh über rsync verwenden.

Synchronisieren von lokal → entfernten Verzeichnissen über SSH

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

Dieses Beispiel synchronisiert das Sicherungsverzeichnis auf dem lokalen Host mit dem Inhalt von /root/remote_directory auf dem entfernten Host.

Hierbei zeigt die Option -h Dateigrößen in menschenlesbarer Form und der -e-Flag wird verwendet, um eine SSH-Verbindung anzuzeigen.

rsync Synchronize Remote Files

Synchronisieren von entfernt → lokalen Verzeichnissen über SSH

In diesem Fall müssen Sie die Quell- und Zielverzeichnisse aus dem vorherigen Beispiel tauschen.

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

Bitte beachten Sie, dass dies nur 3 Beispiele (häufigste Fälle, die Sie wahrscheinlich erleben werden) der Verwendung von rsync sind. Weitere Beispiele und Verwendungen von rsync-Befehlen finden Sie im folgenden Artikel.

Zusammenfassung

Als Sysadmin 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 in Sicherheit.

Das LFCS eBook ist ab sofort erhältlich. Bestellen Sie Ihre Kopie heute und beginnen Sie Ihre Reise zu einer zertifizierten Linux-Systemadministratorin!

Product Name Price Buy
The Linux Foundation’s LFCS Certification Preparation Guide $19.99 [Buy Now]

Zu guter Letzt sollten Sie bitte in Betracht ziehen, Ihren Prüfungsgutschein über die folgenden Links zu kaufen, um uns eine kleine Provision zu verdienen, die uns dabei hilft, dieses Buch auf dem neuesten Stand zu halten.

Wenn Sie Fragen, Kommentare oder weitere Ideen haben, wie dieser Artikel verbessert werden kann, zögern Sie bitte nicht, unten Stellung zu nehmen. Darüber hinaus sollten Sie in Betracht ziehen, diese Serie über Ihre sozialen Netzwerkprofile zu teilen.

Source:
https://www.tecmint.com/creating-and-managing-raid-backups-in-linux/