LFCS #6 : Comment assembler des partitions en tant que périphériques RAID sous Linux
La Linux Foundation a lancé la certification LFCS (Linux Foundation Certified Sysadmin), une excellente occasion pour les administrateurs système du monde entier de démontrer, par le biais d’un examen basé sur la performance, qu’ils sont capables d’effectuer un support opérationnel global sur les systèmes Linux : support système, diagnostic et surveillance de premier niveau, ainsi que l’escalade des problèmes, si nécessaire, à d’autres équipes de support.
La série s’intitulera Préparation pour le LFCS (Linux Foundation Certified Sysadmin) Parties 1 à 33 et couvrira les sujets suivants :
| Non. | Titre |
|---|---|
| Partie 1 | Comment utiliser la commande 'sed' pour manipuler des fichiers sous Linux |
| Partie 2 | Comment installer et utiliser vi/vim sous Linux |
| Partie 3 | Comment compresser des fichiers et des directives et trouver des fichiers sous Linux |
| Partie 4 | Comment partitionner des périphériques de stockage sous Linux |
| Partie 5 | Comment monter des systèmes de fichiers (samba et NFS) sous Linux |
| Partie 6 | Comment assembler des partitions en tant que périphériques RAID et créer des sauvegardes système |
| Partie 7 | Gestion des processus et des services de démarrage du système (SysVinit, systemd et Upstart |
| Partie 8 | Comment gérer les utilisateurs et les groupes, les autorisations de fichiers et l’accès Sudo |
| Partie 9 | Gestion de paquets Linux avec Yum, RPM, Apt, Dpkg, Aptitude et Zypper |
| Partie 10 | Apprentissage des scripts shell de base et du dépannage des systèmes de fichiers |
| Partie 11 | Comment gérer et créer LVM à l’aide des commandes vgcreate, lvcreate et lvextend |
| Partie 12 | Comment explorer Linux avec les documentations et les outils d’aide installés |
| Partie 13 | Comment faire pour configurer et dépanner Grand Unified Bootloader (GRUB) |
| Partie 14 | Surveillez l’utilisation des ressources des processus Linux et définissez des limites de processus par utilisateur |
| Partie 15 | Comment définir ou modifier les paramètres d’exécution du noyau dans les systèmes Linux |
| Partie 16 | Mise en œuvre du contrôle d’accès obligatoire avec SELinux ou AppArmor sous Linux |
| Partie 17 | Définition de listes de contrôle d’accès (ACL) et de quotas de disque pour les utilisateurs et les groupes |
| Partie 18 | Installation des services réseau et configuration du démarrage automatique au démarrage |
| Partie 19 | Un guide ultime pour configurer un serveur FTP pour autoriser les connexions anonymes |
| Partie 20 | Configuration d’un serveur DNS de mise en cache récursive de base et configuration des zones pour le domaine |
| Partie 21 | Comment installer, sécuriser et optimiser les performances du serveur de base de données MariaDB |
| Partie 22 | Comment faire pour installer et configurer le serveur NFS pour le partage de système de fichiers |
| Partie 23 | Comment configurer Apache avec un hébergement virtuel basé sur le nom avec un certificat SSL |
| Partie 24 | Comment configurer un pare-feu iptables pour activer l’accès à distance aux services sous Linux |
| Partie 25 | Comment transformer un Linux en routeur pour gérer le trafic de manière statique et dynamique |
| Partie 26 | Comment configurer des systèmes de fichiers chiffrés et échanger à l’aide de l’outil Cryptsetup |
| Partie 27 | Comment surveiller l’utilisation du système, les pannes et dépanner les serveurs Linux |
| Partie 28 | Configuration d’un référentiel réseau pour l’installation ou la mise à jour de packages |
| Partie 29 | Audit des performances, de la sécurité et du dépannage du réseau |
| Partie 30 | Comment installer et gérer des machines virtuelles et des conteneurs |
| Partie 31 | Apprenez les bases de Git pour gérer efficacement vos projets |
| Partie 32 | Guide du débutant pour configurer les adresses IPv4 et IPv6 sous Linux |
| Partie 33 | Guide du débutant pour créer des liens et des ponts de réseau dans Ubuntu |
Cet article est la partie 6 d’une série de 33 tutoriels, ici dans cette partie, nous expliquerons comment assembler des partitions en tant que périphériques RAID et créer et gérer des sauvegardes système, qui sont requises pour l’examen de certification LFCS.
Comprendre le RAID sous Linux
La technologie connue sous le nom de RAID (Redundant Array of Independent Disks) est une solution de stockage qui combine plusieurs disques durs en une seule unité logique pour assurer la redondance des données et/ou améliorer les performances des opérations de lecture/écriture sur le disque.
Cependant, la tolérance aux pannes et les performances d’E/S du disque dépendent de la façon dont les disques durs sont configurés pour former la matrice de disques. En fonction des périphériques disponibles et des besoins en matière de tolérance aux pannes/performances, différents niveaux RAID sont définis.
Vous pouvez vous référer à l’article suivant de la série RAID pour obtenir des explications plus détaillées sur chaque niveau RAID.
Installer mdadm sous Linux
Notre outil de prédilection pour la création, l’assemblage, la gestion et la surveillance de 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 périphériques RAID
Le processus d’assemblage de partitions existantes en tant que périphériques RAID comprend les étapes suivantes.
1. Créer un nouveau tableau à l’aide de mdadm
Si l’une des partitions a déjà été formatée ou a déjà fait partie d’une autre matrice RAID, vous serez invité à confirmer la création de la nouvelle matrice.
En supposant que vous ayez pris les précautions nécessaires pour éviter de perdre des données importantes qui ont pu y résider, vous pouvez taper y en toute sécurité et appuyer sur Entrée.
# mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1
2. Vérifier l’état de la création du tableau
Afin de vérifier l’état de création de la matrice, vous utiliserez les commandes suivantes, quel que soit le type de RAID. Ceux-ci sont tout aussi valables que lorsque nous créons un RAID0 (comme indiqué ci-dessus), ou lorsque vous êtes en train de configurer un RAID5, comme le montre l’image ci-dessous.
# cat /proc/mdstat
or
mdadm --detail /dev/md0 [More detailed summary]
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 la partie 4 de cette série.
4. Surveiller le service de matrice RAID
Demandez au service de surveillance de « garder un œil » sur la baie. Ajoutez la sortie de mdadm --detail --scan à /etc/mdadm/mdadm.conf (Debian et dérivés) ou /etc/mdadm.conf (CentOS/openSUSE), comme ceci.
# mdadm --detail --scan
# 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 qu’utilisateur root.
# systemctl start mdmonitor
systemctl enable mdmonitor
5. Vérifiez la défaillance d’un 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 de la grappe de disques devient défectueux, une reconstruction ne démarre automatiquement que si un périphérique de rechange a été ajouté lors de la création de la matrice.
Sinon, nous devons attacher manuellement un disque physique supplémentaire à notre système et l’exécuter.
# mdadm /dev/md0 --add /dev/sdX1
Où /dev/md0 est le tableau qui a rencontré le problème et /dev/sdX1 est le nouveau périphérique.
6. Démonter un réseau fonctionnel
Vous devrez peut-être le faire si vous devez créer une nouvelle matrice à l’aide des 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éez des alertes e-mail
Vous pouvez configurer une adresse e-mail valide ou un compte système auquel envoyer des alertes (assurez-vous d’avoir cette ligne dans mdadm.conf). – (Étape facultative)
MAILADDR root
Dans ce cas, toutes les alertes collectées par le démon de surveillance RAID seront envoyées à la boîte aux lettres du compte racine local. L’une de ces alertes ressemble à ce qui suit.
Remarque : Cet événement est lié à l’exemple de STEP 5, où un périphérique a été marqué comme défectueux et le périphérique de rechange a été automatiquement intégré dans la matrice par mdadm. Ainsi, nous avons « manqué » d’appareils de rechange en bon état et nous avons reçu l’alerte.
Comprendre les niveaux RAID sous Linux
Voici un bref aperçu des niveaux RAID courants :
RAID 0
La taille totale de la matrice est n fois la taille de la plus petite partition, où n est le nombre de disques indépendants dans la matrice (vous aurez besoin d’au moins deux lecteurs). Exécutez la commande suivante pour assembler une matrice RAID 0 à 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 : Configurations qui prennent en charge les applications en temps réel où les performances sont plus importantes que la tolérance aux pannes.
RAID 1 (alias mise en miroir)
La taille totale de la matrice est égale à la taille de la plus petite partition (vous aurez besoin d’au moins deux disques). Exécutez la commande suivante pour assembler une matrice RAID 1 à 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 (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 périphérique de rechange (/dev/sde1 dans ce cas) pour remplacer une pièce défectueuse en cas de problème. Exécutez la commande suivante pour assembler une matrice RAID 5 à l’aide des partitions /dev/sdb1, /dev/sdc1, /dev/sdd1 et /dev/sde1 en tant que pièces de rechange.
# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1 --spare-devices=1 /dev/sde1
Utilisations courantes : Web et serveurs de fichiers.
RAID 6 (alias disques à double parité
La taille totale de la matrice sera (n*s)-2*s, où n est le nombre de disques indépendants dans la matrice et s est la taille du plus petit disque. Notez que vous pouvez spécifier un périphérique de rechange (/dev/sdf1 dans ce cas) pour remplacer une pièce défectueuse en cas de problème.
Exécutez la commande suivante pour assembler une matrice RAID 6 à l’aide des partitions /dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1 et /dev/sdf1 en réserve.
# 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 une grande capacité et des exigences de haute disponibilité.
RAID 1+0 (alias Stripe of Mirrors)
La taille totale de la matrice est calculée sur la base des formules RAID 0 et RAID 1, car RAID 1+0 est une combinaison des deux. Tout d’abord, calculez la taille de chaque miroir, puis la taille de la bande.
Notez que vous pouvez spécifier un périphérique de rechange (/dev/sdf1 dans ce cas) pour remplacer une pièce défectueuse en cas de problème. Exécutez la commande suivante pour assembler une matrice RAID 1+0 à l’aide des partitions /dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1 et /dev/sdf1 en tant que pièces de rechange.
# mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sd[b-e]1 --spare-devices=1 /dev/sdf1Utilisations courantes : Serveurs de bases de données et d’applications nécessitant des opérations d’E/S rapides.
Création et gestion de sauvegardes système sous Linux
Il n’est jamais inutile de se rappeler que le RAID, avec toutes ses richesses, NE REMPLACE PAS LES SAUVEGARDES ! Écrivez-le 1000 fois au tableau si nécessaire, mais assurez-vous de garder cette idée à l’esprit à tout moment.
Avant de commencer, nous devons noter qu’il n’existe pas de solution unique pour les sauvegardes système, mais voici quelques éléments que vous devez prendre en compte lors de la planification d’une stratégie de sauvegarde.
- À quoi sert votre système ? (Ordinateur de bureau ou serveur ? Si c’est le cas, quels sont les services les plus critiques – dont la configuration serait vraiment pénible à perdre ?)
- À quelle fréquence devez-vous effectuer des sauvegardes de votre système ?
- Quelles sont les données (par exemple, fichiers/répertoires/vidages de base de données) que vous souhaitez sauvegarder ? Vous pouvez également vous demander si vous avez vraiment besoin de sauvegarder des fichiers volumineux (tels que des fichiers audio ou vidéo).
- Où (c’est-à-dire le lieu et le support) ces sauvegardes seront-elles stockées ?
1. Sauvegarder les disques à l’aide de la commande dd
Sauvegardez des disques entiers à l’aide de 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 mieux lorsque l’appareil est hors ligne, ce qui signifie qu’il n’est pas monté et qu’aucun processus n’y accède pour les opérations d’E/S.
L’inconvénient 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 un petit pourcentage de celui-ci.
Par exemple, si vous souhaitez créer une image d’une partition de 20 Go qui n’est pleine qu’à 10 %, la taille du fichier image sera toujours de 20 Go. En d’autres termes, ce ne sont pas seulement les données réelles qui sont sauvegardées, mais la partition entière elle-même. Vous pouvez envisager d’utiliser cette méthode si vous avez besoin de sauvegardes exactes de vos appareils.
Création d’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
Restauration d’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
Sauvegardez certains fichiers/répertoires avec la commande tar - déjà abordée dans la 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 de répertoires spécifiques (fichiers de configuration, répertoires personnels des utilisateurs, etc.).
2. Sauvegarder et synchroniser des fichiers à l’aide de la commande rsync
Synchronisez les fichiers à l’aide de la commande rsync, qui est un outil polyvalent de copie de fichiers à distance (et locale). Si vous avez besoin de sauvegarder et de synchroniser vos fichiers vers/depuis des lecteurs réseau, rsync est un choix.
Que vous synchronisiez deux répertoires locaux ou des répertoires locaux < --- > distants montés sur le système de fichiers local, la syntaxe de base est la même.
Synchronisation de deux annuaires locaux
# rsync -av source_directory destination directory
Où -a récursivité dans les sous-répertoires (s’ils existent), conserve les liens symboliques, les horodatages, les permissions et le propriétaire/groupe d’origine et -v verbeux.
De plus, si vous souhaitez augmenter la sécurité du transfert de données sur le fil, vous pouvez utiliser ssh plutôt que rsync.
Synchronisation des répertoires locaux → distants via SSH
# rsync -avzhe ssh backups root@remote_host:/remote_directory/
Cet exemple synchronise 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 fichier dans un format lisible par l’homme, et l’indicateur -e est utilisé pour indiquer une connexion SSH.
Synchronisation des répertoires distants → locaux via SSH
Dans ce cas, permutez les répertoires source et destination de l’exemple précédent.
# rsync -avzhe ssh root@remote_host:/remote_directory/ backups
Veuillez noter qu’il ne s’agit que de 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, consultez l’article suivant.
Résumé
En tant qu’administrateur système, vous devez vous assurer que vos systèmes fonctionnent aussi bien que possible. Si vous êtes bien préparé et si l’intégrité de vos données est bien prise en charge par une technologie de stockage telle que RAID et des sauvegardes régulières du système, vous serez en sécurité.
L’eBook LFCS est disponible dès maintenant à l’achat. Commandez votre exemplaire dès aujourd’hui et commencez votre parcours pour devenir un administrateur système Linux certifié !
| Nom du produit | Prix | Acheter |
|---|---|---|
| Guide de préparation à la certification LFCS de la Linux Foundation | 19,99 $ | [Acheter maintenant] |
Enfin, pensez à acheter votre bon d’examen en utilisant les liens suivants pour nous faire gagner une petite commission, ce qui nous aidera à maintenir ce livre à jour.
Si vous avez des questions, des commentaires ou d’autres idées sur la façon dont cet article peut être amélioré, n’hésitez pas à en parler ci-dessous. De plus, pensez à partager cette série sur vos profils de réseaux sociaux.






