Debian 8 (Jessie) en configuration RAID 1 et LVM (follow-up)

62 pages ne suffisaient pas

Image d'entête

par skywodd | | Licence (voir pied de page)

Catégories : Tutoriels Administration système | Mots clefs : Guide Linux Debian RAID LVM

Cet article n'a pas été mis à jour depuis un certain temps, son contenu n'est peut être plus d'actualité.


Dans mon précédent tutoriel sur l'installation d'un système Debian 8 Jessie en configuration RAID 1, j'avais présenté une procédure d'installation complète. Il s'avère que certaines étapes de cette procédure peuvent être raccourcies. Ce follow-up vous présentera lesdites étapes raccourcies. En bonus, nous parlerons de LVM, un gestionnaire de volumes logiques permettant de gérer ces schémas de partitionnement de manière beaucoup plus flexible que le système de tables de partitions standard.

Sommaire

Bonjour à toutes et à tous !

Dans un précédent article, je vous avais détaillé les différentes étapes d'installation d'un système Debian 8 Jessie en configuration RAID 1 en utilisant l'utilitaire mdadm.

Peu après la publication de l'article, on m'a contacté sur le compte Twitter du site Carnet du Maker pour me faire remarquer que certaines étapes n'étaient pas nécessaires et pouvaient être raccourcies. J'ai donc fait des tests sur ma machine virtuelle dans le but d'écrire ce follow-up et de vous présenter une méthode alternative d'installation, plus simple.

De plus, comme un article du site Carnet du Maker ne peut être complet sans un bonus, j'ai décidé de documenter une variante du processus d'installation de Debian utilisant la suite d'utilitaires LVM par dessus mdadm.

Méthode simplifiée pour le partitionnement RAID

N.B. Cette méthode simplifiée débute au moment où l'installateur Debian vous propose de créer les partitions. Cela équivaut à l'étape 5 de mon précédent article sur le sujet. Si vous ne l'avez pas encore lu, cliquez ici.

Cette méthode permet la mise en place d'une configuration RAID "disque entier", contrairement à la configuration de l'article précédent qui était une configuration RAID "par partition".

Le principe d'une configuration RAID "disque entier" est simple : mettre en miroir un disque entier, puis faire ses partitions directement sur le disque virtuel RAID créé par mdadm.

Pourquoi faire simple quand on peut faire compliqué

Je ne savais pas avant lundi dernier que mdadm supporte la mise en RAID d'un disque entier, avec partitionnement à postériori sur le disque virtuel RAID. Je me couche donc moins bête aujourd'hui.

Il est effectivement beaucoup plus simple de mettre le disque entier en miroir, puis de travailler sur le disque RAID. En faisant cela, mdadm s'occupe automatiquement de la duplication des données et des partitions. Il n'est donc pas nécessaire de refaire le partitionnement en double, triple ou plus en fonction du nombre de disques.

En recherchant de la documentation sur le sujet, j'ai découvert que je n'étais pas le seul à ignorer jusqu'à l'existence de cette fonctionnalité de mdadm. D'où l'intérêt de faire ce follow-up.

Les personnes ayant connaissance de ce mode orienté "disque" plutôt que "partition" m'ont cependant fait remarquer un point important : il est beaucoup plus rapide de (re)synchroniser une configuration mdadm avec plusieurs partitions, que de (re)synchroniser une configuration mdadm sur un disque complet.

Je n'ai pas pu faire de tests très poussés sur ma machine virtuelle. Quoi qu'il en soit, j'ai pu confirmer que les serveurs dédiés fournis par Online.net (mon hébergeur) utilisent par défaut la méthode d'installation de mon précédent article. Je peux donc dire sans risque qu'il s'agit d'une configuration fiable, même si elle demande effectivement plus de travail à mettre en place et peut paraitre "sans aucun sens" pour certains.

Ceci étant dit, je serais curieux de voir en situation réelle s'il existe une différence de performance entre la méthode de mon précédent article et celle de cet article. Si certains lecteurs veulent faire le test, qu'ils n'hésitent pas à laisser un commentaire sur le forum pour présenter leurs résultats ;)

Ecran de partitionnement des disques (RAID disque entier)

Écran de partitionnement des disques, avec volumes RAID physiques créés (RAID disque entier)

Une fois arrivé sur l'écran de partitionnement, au lieu de créer plusieurs partitions RAID, il suffit d'en créer une seule faisant toute la taille du disque. L'opération doit être répétée autant de fois qu'il y a de disques physiques dans la grappe RAID en cours de création.

En utilisant cette méthode, il n'est pas nécessaire de tout faire en double (ou plus, si on utilise plus de deux disques dans la grappe RAID). Il suffit de créer une seule grosse partition RAID (de même taille à chaque fois) sur chaque disque.

Une fois les partitions physiques pour le volume RAID créées, il faut lancer le gestionnaire de volumes RAID, valider l'écriture des informations sur le disque et créer une nouvelle grappe de disques en suivant l'étape 5 de mon précédent article.

Sélection du mode de partitionnement assisté

Sélection du mode de partitionnement assisté

Ecran de partitionnement assisté, étape 1

Ecran de partitionnement assisté, étape 1

Ecran de partitionnement assisté, étape 2

Ecran de partitionnement assisté, étape 2

Ecran de partitionnement assisté, étape 3

Ecran de partitionnement assisté, étape 3

Ecran de modification / suppression d'un partition

Ecran de modification / suppression d'un partition

On se retrouve à ce stade avec un disque virtuel RAID sur lequel il est possible de créer une partition.

Pour une raison que j'ignore, il n'est pas possible de créer directement plusieurs partitions sur le volume RAID. L'installateur Debian ne propose pas de choix pour cela. Je ne sais pas s'il s'agit d'un bug, d'une limitation connue ou d'une mauvaise manipulation de ma part. J'ai tenté l'installation deux fois et à chaque fois j'ai dû passer par l'astuce ci-dessous.

L'astuce que j'ai trouvée consiste à lancer un partitionnement assisté sur le disque virtuel RAID, puis de supprimer les partitions créées automatiquement. Cela semble faire passer le disque RAID en mode "disque", plutôt qu'en mode "partition simple".

Etat des disques et partitions de l'installation RAID 1 avant le partitionnement final

Etat des disques et partitions de l'installation RAID 1 avant le partitionnement final

Il est alors possible de créer autant de partitions que nécessaire, comme si le disque virtuel RAID était un disque physique classique.

N.B. Il ne faut pas oublier de marquer la partition de démarrage comme tel, sinon le système ne démarrera pas une fois l'installation terminée.

Etat des disques et partitions de l'installation RAID 1 après le partitionnement final

Etat des disques et partitions de l'installation RAID 1 après le partitionnement final

Une fois les partitions systèmes créées (voir étape 6 du précédent article), l'installation peut reprendre normalement.

Bonus : Partitionnement flexible avec LVM

Vous vouliez une annexe sur LVM ? Là voilà ;)

Qu'est-ce que LVM ?

LVM est un logiciel de gestion de volumes logiques. C'est un logiciel qui gère des partitions, comme les tables de partitions des disques classiques, mais de manière beaucoup plus flexible.

Avec une table de partitions classique, la moindre modification de la table entraine généralement un déplacement de données, des erreurs de systèmes de fichiers, voir même parfois des pertes de données. De plus, à la moindre erreur, il est possible d'effacer une table de partitions et de perdre toutes ses données.

LVM permet de faciliter la vie aux administrateurs qui ont besoin de modifier la configuration des partitions de leurs systèmes. Avec LVM, les disques sont traités comme de simples espaces de stockage, découpés en secteurs. LVM assigne dynamiquement les données aux secteurs libres, exactement comme le fait un système d'exploitation avec la mémoire vive (mémoire RAM) quand une application demande de la mémoire.

L'aspect dynamique de LVM permet de rendre quasi instantané un redimensionnement de partition et surtout sans risque. Un redimensionnement se résume physiquement à modifier la taille allouée à une partition dans un fichier de configuration. Les données sur le disque ne sont pas altérées.

Avantages et inconvénients de LVM

Avantages :

  • aucune limitation en nombre de partitions, tailles ou emplacements, contrairement aux tables de partitions classiques,

  • l'emplacement physique des données est dynamiquement géré par LVM, un redimensionnement de partition ne requière donc aucun déplacement ou copie de données,

  • il est possible de garder des gigaoctets de disques libres pour plus tard, avec LVM il est possible d'avoir un schéma de partitionnement très découpé (avec /boot, /, /var, /var/log, /tmp, /home dans des partitions séparées par exemple) sans avoir à se préoccuper de l'espace alloué à chaque partition, il suffit d'allouer l'espace disque nécessaire au jour le jour,

  • l'architecture technique de LVM permet de faire des instantanés des disques, pour faire des sauvegardes par exemple.

Inconvénients :

  • les données d'une même partition ne sont pas forcément stockées sur un même disque, la perte d'un volume physique LVM entraine la perte de toutes les données, sans distinction,

  • la suite d'outils LVM est un sac de noeuds sans nom, le jour où les choses tournent mal, LVM devient votre pire ennemi.

Pour illustrer le point n°1, imaginons que vous avez un PC avec deux disques : un disque pour le système d'exploitation et un disque pour vos données personnelles.

Dans une configuration standard, si le disque système tombe en panne, vous ne pouvez plus démarrer votre machine et vous allez perdre vos données d'applications et de configurations. Cependant, vos données personnelles restent intactes, car stockées sur un autre disque.

Avec LVM, les deux disques forment un "groupe de volumes". Ce groupe de volumes est une sorte de grosse piscine dans laquelle LVM vient prendre un peu d'eau(ctet) à chaque fois que cela est nécessaire. Malheureusement, si un des disques tombe en panne, toute la piscine se vide et l'intégralité des données est perdue.

En pratique, LVM est très proche d'une configuration RAID 5. La perte d'un volume entraine la perte de toutes les données. Il est donc recommandé — et très classique — d'avoir un volume RAID 1 (ou RAID 10) en dessous de LVM pour assurer une certaine tolérance aux pannes.

Installation de Debian en RAID 1 avec LVM

N.B. Cette variante de l'installation d'origine débute au moment où l'installateur Debian vous propose de créer les partitions. Cela équivaut à l'étape 5 de mon précédent article sur le sujet.

Illustration du fonctionnement LVM avec mdadm

Illustration du fonctionnement LVM avec mdadm

L'installation d'un système Linux (ici Debian) avec LVM est toujours réalisée en 6 étapes :

  1. le formatage des disques physiques et la création de volumes RAID physiques sur ceux-ci,

  2. la création d'un volume RAID logique par dessus les volumes RAID physiques,

  3. la création d'un volume LVM physique sur le volume RAID logique,

  4. la création d'un groupe de volumes LVM à partir des volumes LVM physiques,

  5. la création des volumes LVM logiques et des partitions sur le groupe de volumes LVM,

  6. la prise d'un cachet d'aspirine 1g dans un grand verre d'eau.

Ecran de partitionnement avec les volumes physiques RAID et LVM crées

Ecran de partitionnement avec les volumes physiques RAID et LVM crées

Ecran de choix du type de partition (LVM)

Ecran de choix du type de partition

Ecran de confirmation d'écriture des informations de partitionnement sur le disque

Ecran de confirmation d'écriture des informations de partitionnement sur le disque

L'installation de Debian avec LVM commence par le partitionnement des disques physiques (création des tables de partitions) et la création des volumes RAID physiques, faisant toute la taille des disques (voir chapitre précédent).

Une fois les volumes RAID physiques créés, il faut passer par le gestionnaire RAID, créer un volume RAID logique (ici RAID 1, avec deux disques).

Sur le volume RAID logique fraichement créé, il faut créer une partition de type "volume physique pour LVM". Une fois cela fait, il ne reste plus qu'à lancer l'assistant de configuration LVM et accepter l'écriture des informations sur le disque.

Ecran de création d'un groupe de volumes LVM

Ecran de création d'un groupe de volumes LVM

Ecran de création d'un groupe de volumes LVM, nommage du groupe

Ecran de création d'un groupe de volumes LVM, nommage du groupe

Ecran de création d'un groupe de volumes LVM, choix des disques

Ecran de création d'un groupe de volumes LVM, choix des disques

Dans l'assistant de configuration LVM, la première chose à faire est de créer un nouveau groupe de volumes.

Pour cela, il suffit de choisir l'option adéquate dans le menu, donnez un nom au groupe de volumes, "mvg" par exemple et choisir les volumes LVM physiques à ajouter dans le groupe.

Ecran de création d'un volumes logique LVM

Ecran de création d'un volumes logique LVM

Ecran de création d'un volumes logique LVM, choix du groupe de volumes

Ecran de création d'un volumes logique LVM, choix du groupe de volumes

Ecran de création d'un volumes logique LVM, nommage du volume

Ecran de création d'un volumes logique LVM, nommage du volume

Ecran de création d'un volumes logique LVM, choix de la taille du volume

Ecran de création d'un volumes logique LVM, choix de la taille du volume

Une fois la création du groupe de volumes terminée, il devient possible de créer des volumes LVM logiques.

Un clic de souris sur l'option adéquate dans le menu, un second clic sur le groupe de volumes créé précédemment, un nom, une taille et hop, vous avez un nouveau volume LVM logique.

Astuce : Choisissez des noms anglais décrivant les volumes, comme "boot", "system", "temp", "users", "swap", "logs", etc. LVM utilise ces noms pour générer une table de partitions accessible dans /dev/lenomdugroupe/lenomduvolume.

Si vous appelez vos volumes "A", "B", "C", "D" ou "1", "2", "3", "4", vous allez souffrir méchamment plus tard quand il faudra remettre en ordre les volumes après un incident de disques ;)

Ecran de menu de l'assistant LVM

Ecran de menu de l'assistant LVM

Écran de récapitulation de la configuration actuelle de l'assistant LVM

Écran de récapitulation de la configuration actuelle de l'assistant LVM

Une fois que vous avez créé tous vos volumes LVM, vous pouvez demander à LVM de vous afficher la configuration actuelle pour être sûr que tout va bien avant de quitter l'assistant.

Ecran de partitionnement, avec volumes LVM logiques, avant le partitionnement final

Ecran de partitionnement, avec volumes LVM logiques, avant le partitionnement final

Une fois sorti de l'assistant LVM, il ne reste plus qu'à créer les différents systèmes de fichiers sur les partitions LVM.

Ecran de partitionnement, avec volumes LVM logiques, après le partitionnement final

Ecran de partitionnement, avec volumes LVM logiques, après le partitionnement final

Et hop, vous obtenez un joli système, prêt à être installé et démarré ;)

Petite parenthèse

Dans l'exemple ci-dessus avec seulement quatre partitions, LVM n'a strictement aucun intérêt.

  • La partition de démarrage ne change jamais de taille ou d'emplacement.

  • La partition principale fait quasiment toute la taille du disque, il n'est donc pas vraiment possible de la redimensionner.

  • La partition de swap et de fichiers temporaires contient par définition des données pouvant être effacées entre deux redémarrages du serveur. Il est donc possible de supprimer ces partitions pour les recréer si besoin.

LVM n'a dans ce cas aucun intérêt, c'est juste une source de soucis en plus.

LVM est intéressant si vous avez un schéma de partition comme celui-ci par exemple :

  • /boot

  • /

  • /var

  • /var/log

  • /home

  • /opt

  • /tmp

Dans ce genre de cas, l'aspect dynamique de LVM est un avantage indéniable. Avec un système de partitionnement classique, il faudrait dimensionner correctement les partitions à l'installation sans se tromper. Avec LVM, il suffit d'ajuster les tailles des partitions en fonction des besoins, au jour le jour.

Conclusion

Ce follow-up est désormais terminé.

Si ce follow-up vous a plu, n'hésitez pas à le commenter sur le forum, à le diffuser sur les réseaux sociaux et à soutenir le site si cela vous fait plaisir.