LFCS #6 : Comment assembler des partitions en tant que périphériques RAID et créer des sauvegardes système

La Linux Foundation a lancé la certification LFCS (Linux Foundation Certified Sysadmin), une opportunité brillante pour les administrateurs système du monde entier de démontrer, à travers un examen basé sur les performances, qu’ils sont capables d’assurer un support opérationnel complet sur les systèmes Linux : support système, diagnostic de premier niveau et surveillance, ainsi que l’escalade des problèmes, lorsque nécessaire, vers d’autres équipes de support.

La série sera intitulée Préparation pour le LFCS (Linux Foundation Certified Sysadmin) Parties 1 à 33 et couvrira les sujets suivants :

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

Cet article est Partie 6 d’une série de 33 tutoriels, ici dans cette partie, nous expliquerons comment assembler des partitions en tant que dispositifs RAID et créer et gérer des sauvegardes système, nécessaires pour l’examen de certification LFCS.

Compréhension du RAID sous Linux

La technologie connue sous le nom de Redundant Array of Independent Disks (RAID) est une solution de stockage qui combine plusieurs disques durs en une seule unité logique pour fournir une redondance de données et/ou améliorer les performances des opérations de lecture/écriture sur le disque.

Cependant, la tolérance aux pannes réelle et les performances de E/S de disque dépendent de la manière dont les disques durs sont configurés pour former le tableau de disques. En fonction des dispositifs disponibles et des besoins en termes de tolérance aux pannes/performances, différents niveaux RAID sont définis.

Vous pouvez vous référer à l’article de la série RAID ci-dessous pour obtenir une explication détaillée de chaque niveau RAID.

Installer mdadm sous Linux

Notre outil de choix pour créer, assembler, gérer et surveiller nos RAID logiciels s’appelle mdadm (abréviation de 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]    

Assemblage de partitions en tant que dispositifs RAID

Le processus d’assemblage de partitions existantes en tant que dispositifs RAID consiste en les étapes suivantes.

1. Créer un nouvel tableau à l’aide de mdadm

Si l’une des partitions a été formatée précédemment ou a fait partie d’un autre RAID tableau précédemment, vous serez invité à confirmer la création du nouveau tableau.

En supposant que vous avez pris les précautions nécessaires pour éviter de perdre des données importantes qui pourraient s’y trouver, vous pouvez taper en toute sécurité y et appuyer sur Entrée.

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

2. Vérifier l’état de création du tableau

Pour vérifier l’état de création du tableau, vous utiliserez les commandes suivantes – quelle que soit la configuration RAID. Elles sont tout aussi valides lorsque nous créons un RAID0 (comme indiqué ci-dessus), ou lorsque vous êtes en train de mettre en place un RAID5, comme indiqué dans l’image ci-dessous.3. Formater le dispositif RAID

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

3. Formater le périphérique RAID

Formatez le périphérique avec un système de fichiers selon vos besoins/exigences, comme expliqué dans Partie 4 de cette série.

4. Surveiller le service d’ensemble RAID

Indiquez au service de surveillance de « garder un œil » sur l’ensemble. Ajoutez la sortie de mdadm --detail --scan à /etc/mdadm/mdadm.conf (Debian et dérivés) ou /etc/mdadm.conf (CentOS / openSUSE), comme suit.

# mdadm --detail --scan
Monitor RAID Array
# mdadm --assemble --scan 	[Assemble the array]

Pour vous assurer que le service démarre au démarrage du système, exécutez les commandes suivantes en tant que root.

# systemctl start mdmonitor
# systemctl enable mdmonitor

5. Vérifier l’échec du disque RAID

Dans les niveaux RAID qui prennent en charge la redondance, remplacez les disques défaillants si nécessaire. Lorsqu’un périphérique dans le tableau de disques devient défectueux, une reconstruction automatique ne commence que s’il y avait un périphérique de rechange ajouté lorsque nous avons créé l’ensemble pour la première fois.

Check RAID Faulty Disk

Sinon, nous devons attacher manuellement un disque physique supplémentaire à notre système et le faire fonctionner.

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

/dev/md0 est l’ensemble qui a connu le problème et /dev/sdX1 est le nouveau périphérique.

6. Désassembler un ensemble fonctionnel

Vous devrez peut-être faire cela si vous avez besoin de créer un nouvel ensemble en utilisant les périphériques – (Étape facultative).

# 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. Créer des alertes par e-mail

Vous pouvez configurer une adresse e-mail valide ou un compte système pour envoyer des alertes (assurez-vous d’avoir cette ligne dans mdadm.conf). – (Étape facultative)

MAILADDR root

Dans ce cas, toutes les alertes que le démon de surveillance RAID collecte seront envoyées à la boîte aux lettres du compte local root. L’une de ces alertes ressemble à ce qui suit.

Note: Cet événement est lié à l’exemple dans ÉTAPE 5, où un dispositif a été marqué comme défectueux et le dispositif de rechange a été automatiquement intégré à l’ensemble par mdadm. Ainsi, nous avons « épuisé » les dispositifs de rechange en bon état et nous avons reçu l’alerte.

RAID Monitoring Alerts

Comprendre les niveaux RAID sous Linux

Voici un bref aperçu des niveaux RAID courants :

RAID 0

La taille totale de l’ensemble est n fois la taille de la plus petite partition, où n est le nombre de disques indépendants dans l’ensemble (vous aurez besoin d’au moins deux disques). Exécutez la commande suivante pour assembler un RAID 0 ensemble à l’aide des partitions /dev/sdb1 et /dev/sdc1.

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

Utilisations courantes: Les configurations qui prennent en charge les applications en temps réel où la performance est plus importante que la tolérance aux pannes.

RAID 1 (alias Mirroring)

La taille totale de l’ensemble est égale à la taille de la plus petite partition (vous aurez besoin d’au moins deux disques). Exécutez la commande suivante pour assembler un RAID 1 ensemble à l’aide des partitions /dev/sdb1 et /dev/sdc1.

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

Utilisations courantes: Installation du système d’exploitation ou de sous-répertoires importants, tels que /home.

RAID 5 (alias disques avec Parité)

La taille totale du tableau sera de (n – 1) fois la taille de la plus petite partition. L’espace « perdu » dans (n-1) est utilisé pour le calcul de la parité (redondance) (vous aurez besoin d’au moins trois disques).

Notez que vous pouvez spécifier un dispositif de rechange (/dev/sde1 dans ce cas) pour remplacer une partie défectueuse en cas de problème. Exécutez la commande suivante pour assembler un RAID 5 tableau en utilisant les partitions /dev/sdb1, /dev/sdc1, /dev/sdd1, et /dev/sde1 en tant que rechange.

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

Utilisations courantes: Serveurs web et de fichiers.

RAID 6 (alias Drives with Double Parity

La taille totale du tableau sera de (n*s)-2*s, où n est le nombre de disques indépendants dans le tableau et s est la taille du disque le plus petit. Notez que vous pouvez spécifier un dispositif de rechange (/dev/sdf1 dans ce cas) pour remplacer une partie défectueuse en cas de problème.

Exécutez la commande suivante pour assembler un RAID 6 tableau en utilisant les partitions /dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1, et /dev/sdf1 en tant que rechange.

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

Utilisations courantes: Serveurs de fichiers et de sauvegarde avec des exigences de capacité importante et de haute disponibilité.

RAID 1+0 (alias Stripe of Mirrors)

La taille totale du tableau est calculée en fonction des formules pour RAID 0 et RAID 1 puisque RAID 1+0 est une combinaison des deux. Tout d’abord, calculez la taille de chaque miroir, puis la taille de la bande.

Notez qu’il est possible de spécifier un dispositif de rechange (/dev/sdf1 dans ce cas) pour remplacer une partie défectueuse en cas de problème. Exécutez la commande suivante pour assembler un tableau RAID 1+0 en utilisant les partitions /dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1 et /dev/sdf1 en tant que réserve.

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

Utilisations courantes: Serveurs de base de données et d’applications nécessitant des opérations I/O rapides.

Création et gestion des sauvegardes du système sous Linux

Il ne fait jamais de mal de se souvenir que le RAID avec toutes ses richesses N’EST PAS UNE SOUSTITUTION AUX SAUVEGARDES! Écrivez-le 1000 fois sur le tableau noir si nécessaire, mais assurez-vous de garder cette idée à l’esprit en tout temps.

Avant de commencer, nous devons noter qu’il n’y a pas de solution à taille unique pour les sauvegardes du système, mais voici quelques éléments à prendre en compte lors de la planification d’une stratégie de sauvegarde.

  • À quoi utilisez-vous votre système? (Bureau ou serveur? Si ce dernier cas s’applique, quels sont les services les plus critiques – dont la configuration serait une véritable douleur à perdre?)
  • À quelle fréquence avez-vous besoin de prendre des sauvegardes de votre système?
  • Quelles sont les données (par exemple, fichiers/répertoires/dumps de bases de données) que vous souhaitez sauvegarder? Vous pouvez également envisager si vous avez vraiment besoin de sauvegarder de gros fichiers (tels que des fichiers audio ou vidéo).
  • Où (en termes de lieu physique et de support) ces sauvegardes seront-elles stockées?

1. Disques de sauvegarde à l’aide de la commande dd

Sauvegarder des disques entiers avec la commande dd. Vous pouvez sauvegarder un disque dur entier ou une partition en créant une image exacte à tout moment. Notez que cela fonctionne le mieux lorsque l’appareil est hors ligne, ce qui signifie qu’il n’est pas monté et qu’aucun processus ne l’accède pour des opérations d’E/S.

Le désavantage de cette approche de sauvegarde est que l’image aura la même taille que le disque ou la partition, même lorsque les données réelles occupent une faible proportion de celle-ci.

Par exemple, si vous souhaitez créer une image d’une partition de 20 Go qui est seulement 10% pleine, le fichier image sera toujours de 20 Go en taille. En d’autres termes, ce n’est pas seulement les données réelles qui sont sauvegardées, mais toute la partition elle-même. Vous pouvez envisager d’utiliser cette méthode si vous avez besoin de sauvegardes exactes de vos appareils.

Créer une image de partition

# 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 

Restaurer une image de partition

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

2. Sauvegarder des fichiers à l’aide de la commande tar

Sauvegarder certains fichiers / répertoires avec la commande tar – déjà couvert dans Partie 3 de cette série. Vous pouvez envisager d’utiliser cette méthode si vous avez besoin de conserver des copies de fichiers et répertoires spécifiques (fichiers de configuration, répertoires utilisateurs, etc.).

2. Sauvegarder et synchroniser des fichiers à l’aide de la commande rsync

Synchroniser des fichiers avec la commande rsync, qui est un outil polyvalent pour copier des fichiers à distance (et locaux). Si vous avez besoin de sauvegarder et de synchroniser vos fichiers sur/depuis des lecteurs réseau, rsync est une option à considérer.

Que vous synchronisiez deux répertoires locaux ou des répertoires locaux < --- > à distance montés sur le système de fichiers local, la syntaxe de base est la même.

Synchronisation de deux répertoires locaux

# rsync -av source_directory destination directory

Où, -a descend dans les sous-répertoires (s’ils existent), préserve les liens symboliques, les horodatages, les permissions, et le propriétaire d’origine / le groupe et -v verbose.

rsync Synchronizing Files

De plus, si vous souhaitez augmenter la sécurité de la transmission des données sur le réseau, vous pouvez utiliser ssh sur rsync.

Synchronisation de répertoires locaux vers à distance via SSH

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

Cet exemple synchronisera le répertoire de sauvegarde sur l’hôte local avec le contenu de /root/remote_directory sur l’hôte distant.

Où l’option -h affiche les tailles de fichiers dans un format lisible par l’homme, et l’indicateur -e est utilisé pour indiquer une connexion SSH.

rsync Synchronize Remote Files

Synchronisation de répertoires à distance vers locaux via SSH

Dans ce cas, échangez les répertoires source et destination par rapport à l’exemple précédent.

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

Notez que ce ne sont que 3 exemples (les cas les plus fréquents que vous êtes susceptible de rencontrer) de l’utilisation de rsync. Pour plus d’exemples et d’utilisations des commandes rsync, vous pouvez consulter l’article suivant.

Résumé

En tant que sysadmin, vous devez vous assurer que vos systèmes fonctionnent aussi efficacement que possible. Si vous êtes bien préparé et si l’intégrité de vos données est solidement soutenue par des technologies de stockage telles que RAID et des sauvegardes de système régulières, vous serez en sécurité.

Le eBook LFCS est maintenant disponible à l’achat. Commandez votre copie dès aujourd’hui et commencez votre voyage pour devenir un administrateur système Linux certifié!

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

Enfin, mais pas des moindres, veuillez envisager d’acheter votre bon d’examen en utilisant les liens ci-dessous pour nous permettre de gagner une petite commission, ce qui nous aidera à garder cet ouvrage à jour.

Si vous avez des questions, des commentaires ou d’autres idées sur la manière dont cet article peut être amélioré, n’hésitez pas à faire part de vos remarques ci-dessous. De plus, veuillez envisager de partager cette série via vos profils de réseaux sociaux.

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