Linux LVM expliqué. Les perspectives de la récupération des données
Logical Volume Manager est une option de gestion de disque qui permet de couvrir des partitions sur plusieurs périphériques physiques et de redimensionner facilement les partitions. Il est inclus dans le noyau Linux depuis 1999 et, s’appuyant sur son cadre de mappage des périphériques, il est désormais pris en charge par toutes les distributions modernes. Offrant une flexibilité accrue, cette méthode de configuration du stockage est largement utilisée par les administrateurs système pour divers systèmes de serveurs, NAS et SAN fonctionnant sous Linux comme moyen d’organiser l’espace de stockage avec une efficacité maximale. Bien que cette technologie soit particulièrement avantageuse dans un cadre d’entreprise, avec les besoins de stockage considérablement accrus des utilisateurs domestiques, elle est de plus en plus couramment utilisée sur les PC de bureau également, tandis que de plus en plus d’installations Linux permettent d’utiliser ce composant par défaut.
Passons en revue les concepts clés du Logical Volume Manager, son architecture de base, ses forces et ses faiblesses.
Les bases de LVM
Logical Volume Manager est une couche d’abstraction entre le système d’exploitation et les disques physiques qu’il utilise. Toutefois, contrairement au modèle traditionnel de gestion des disques, dans lequel chaque périphérique de stockage est représenté par une ou plusieurs partitions, les volumes logiques dans LVM ne sont pas liés de cette façon à des supports numériques particuliers : un volume peut s’étendre sur plusieurs disques et être redimensionné ou supprimé à tout moment à la volée.
Les structures de stockage fondamentales sur lesquelles il repose comprennent :
- Les volumes physiques. Les volumes physiques sont essentiellement des partitions de disques classiques ou des dispositifs de stockage entiers comme des disques durs internes ou externes, des systèmes RAID basés sur des logiciels ou du matériel, etc. Un ou plusieurs volumes physiques constituent un groupe de volumes.
- Groupes de volumes. Un groupe de volumes peut être comparé à une partition virtuelle et est composé d’un ou de plusieurs volumes physiques formant un seul pool de stockage disponible pour le système. Il faut au moins un volume physique pour créer un groupe de volumes, tandis que d’autres volumes peuvent être ajoutés ultérieurement pour augmenter la capacité. Lorsqu’un groupe de volumes est créé, il est automatiquement divisé en morceaux de stockage de même taille fixe, appelés « étendues physiques ».
- Étendues physiques. Une étendue physique est le plus petit morceau dans lequel les volumes physiques sont divisés (la taille par défaut est de 4 Mio). Les étendues physiques peuvent être décrites comme de minuscules parties de stockage physique qui peuvent être allouées à n’importe quel volume logique sur demande.
- Volumes logiques. Un volume logique est une partie d’un groupe de volumes et se compose d’étendues physiques. Semblable à une partition standard dans un système non géré par LVM, il possède un point de montage et un système de fichiers, comme Ext4 ou XFS, mais contrairement à lui, il peut être créé, supprimé ou redimensionné en utilisant l’espace libre dans le groupe de volumes auquel il appartient. Ceci est réalisé en copiant et en réorganisant les étendues physiques disponibles pendant l’exécution.
Comment les données sont-elles organisées ?
Pour organiser et suivre ses structures internes, LVM utilise des étiquettes de volume physique et des métadonnées.
Une étiquette de volume physique porte l’UUID (identifiant unique universel) du volume physique correspondant, sa taille en octets, la liste des emplacements des zones de données et des zones de métadonnées. Ce label est généralement écrit dans le deuxième secteur de 512 octets du disque.
Les métadonnées sont stockées en ASCII et contiennent tous les détails de configuration de chaque groupe de volume. Elles sont écrites dans une zone de métadonnées spéciale à l’intérieur de chaque volume physique formant le groupe de volumes correspondant. Les nouvelles métadonnées sont généralement ajoutées à la fin des anciennes, après quoi le pointeur vers le début des métadonnées est mis à jour.
Outre les informations sur la manière et la date de création du groupe de volume, son nom, son identifiant unique, sa version, ses propriétés, la taille d’une étendue, etc. les métadonnées englobent :
- Une liste de volumes physiques dont elle est constituée avec leurs UUID, leurs propriétés, le nombre d’étendues et le décalage par rapport au début de la première étendue dans les secteurs ;
- Une liste de volumes logiques, dont chaque élément consiste en une liste de segments de volume logique avec une correspondance avec la liste des segments de volume physique.
Comme le gestionnaire de volumes logiques stocke ces informations directement sur des secteurs de disque au lieu de fichiers séparés, les disques restent lisibles par lui après la réinstallation de Linux ou dans d’autres cas lorsque le système de fichiers racine est effacé.
Avantages et inconvénients
LVM offre des avantages notables en termes d’évolutivité et de gestion de l’espace de stockage :
Redimensionnement dynamique des volumes
Au lieu de créer des partitions de taille fixe au tout début, l’utilisateur peut laisser un espace de stockage non partitionné et l’ajouter à une certaine partition montée lorsqu’elle est remplie. Il n’est pas nécessaire de sauvegarder toutes les données et de reformater le stockage.
Répartition d’un volume sur plusieurs disques
Avec le gestionnaire de volume logique, tout nombre valide de disques physiques peut être attribué au même volume logique qui sera reconnu par le système comme une partition unique.
Extension de la capacité en direct
Tout nombre valide de dispositifs de stockage physique, quelle que soit leur taille, peut être ajouté à un groupe de volume pour en augmenter la capacité sans temps d’arrêt. Par exemple, de nouveaux lecteurs peuvent être ajoutés au serveur pour augmenter ses capacités pendant que le système reste en ligne.
Thin Provisioning
LVM donne la possibilité d’attribuer plus de capacité de stockage à des volumes logiques qu’il n’en existe en réalité dans un groupe de volumes. Contrairement à un ensemble de partitions de taille fixe, il est possible de créer un pool fin spécial au sein d’un groupe de volumes, ce qui permettra de faire de la place pour tous les volumes logiques fins qui y sont liés. Cependant, aucun des volumes minces ne réserve une partie ou la totalité de l’espace actuel pour des besoins individuels jusqu’à ce que certaines données soient effectivement écrites pour consommer cet espace. Par conséquent, chacun des volumes légers se voit attribuer une taille virtuelle qui peut dépasser la quantité d’espace libre sur le stockage physique.
Prise en charge des instantanés
LVM supporte le snapshotting qui permet de créer une copie de sauvegarde du système de fichiers à un moment donné.
Néanmoins, agissant comme une couche d’abstraction supplémentaire entre le système d’exploitation et les disques qu’il exploite, il apporte une complexité supplémentaire, une particularité au point de perte des données :
Diminution du volume dangereux
Les tentatives de réduction de la taille d’un volume logique ou de réaffectation de l’espace de stockage utilisé par celui-ci à un autre volume entraînent généralement une corruption et une perte de données, en particulier lorsque le système de fichiers est plein ou que la réduction n’est pas prise en charge par ce type de système de fichiers.
Pas de double amorçage
Les autres systèmes d’exploitation ne reconnaissent pas cette technologie, par conséquent, ses partitions ne sont pas accessibles depuis Windows ou macOS. Pour un environnement à double démarrage, une partition standard non LVM doit être créée.
Risque d’écrasement
En multiboot, d’autres systèmes d’exploitation peuvent ne pas détecter ce gestionnaire de volume et considérer le disque comme vide, ce qui peut entraîner une écrasement.
Pas de tolérance de panne par défaut
La perte ou le retrait d’un lecteur de LVM laissera l’ensemble du stockage ainsi que tous les fichiers inaccessibles alors que la probabilité d’une telle défaillance augmente avec chaque disque ajouté.
Forte probabilité de corruption des métadonnées
LVM offre la possibilité d’agrandir un volume logique et son système de fichiers lorsqu’il est monté et actif. Toutefois, toute interruption éventuelle de cette procédure due à une panne de courant, à un dysfonctionnement logiciel ou matériel ou à une simple erreur de l’utilisateur peut empêcher l’écriture complète des métadonnées correctes et rendre l’ensemble du stockage inutilisable.
Possibilité de récupération des données
Les versions Expert RAID et Spécialiste du logiciel Hexascan sont capables de lire les métadonnées des disques LVM et de reconstruire automatiquement un tel volume en mode virtuel. Le stockage virtuel sera ajouté à la liste des stockages connectés dans le panneau gauche de l’onglet principal pour une récupération ultérieure des données. Dans le même temps, l’accès aux composants du volume sera également fourni.
Cependant, un dommage grave ou un écrasement total des métadonnées LVM peut poser un grand défi pour la récupération des données : le plus souvent, les données dans LVM sont stockées sur des secteurs non contigus, surtout lorsqu’il y a plusieurs volumes physiques dans un groupe de volumes et que les volumes sont redimensionnés plusieurs fois.
Dans certains cas, les métadonnées peuvent être récupérées à l’aide d’une copie de sauvegarde qui sont stockées dans /etc/lvm/backup. Le nom du fichier correspondra au nom du groupe de volumes.