URL: https://linuxfr.org/news/gestion-de-volumes-raid-avec-lvm Title: Gestion de volumes RAID avec LVM Authors: đŸšČ Tanguy Ortolo Davy Defaud et ZeroHeure Date: 2019ćčŽ05月23æ—„T15:39:26+02:00 License: CC By-SA Tags: lvm, stockage et raid Score: 58 Vous connaissez dĂ©jĂ  LVM, le gestionnaire de volumes logiques qui permet d’agrĂ©ger et de subdiviser librement vos pĂ©riphĂ©riques de stockage. Eh bien, depuis quelques annĂ©es, LVM permet Ă©galement de dĂ©finir des volumes en RAID. LVM et RAID, version traditionnelle =================================== Pour utiliser LVM avec du RAID, on utilise d’habitude LVM et MD, qui est l’implĂ©mentation du RAID logiciel de Linux. Pour cela, on les empile : * soit en agrĂ©geant ses pĂ©riphĂ©riques de stockage en un volume RAID, qu’on utilise ensuite comme un volume LVM physique : il s’agit de LVM au‐dessus de RAID ; * soit, Ă  l’inverse, ce qui est plus compliquĂ©, en agrĂ©geant en RAID des volumes LVM logiques soigneusement dĂ©finis : il s’agit donc de RAID par dessus LVM. Manque de souplesse =================== Outre le cĂŽtĂ© un peu artificiel de cet empilement, cette solution manque de souplesse pour au moins un cas d’usage. En effet, sur un ordinateur disposant de plusieurs pĂ©riphĂ©riques de stockage, on peut vouloir redonder une partie du systĂšme de fichiers en RAID, tout en laissant une autre partie sans redondance pour minimiser son utilisation du stockage. Parmi les usages qui ne mĂ©ritent pas forcĂ©ment une telle redondance : des films qu’on a par ailleurs sur DVD, les nouvelles Usenet ou encore des caches de divers logiciels. Bref, ce cas d’usage passe mal. Avec du LVM sur RAID, c’est tout simplement infaisable. On peut toujours partitionner ses pĂ©riphĂ©riques de stockage pour en utiliser une partie en RAID et l’autre sans, mais on retrouve alors un partitionnement statique. Avec du RAID sur LVM, c’est faisable, mais c’est une solution compliquĂ©e Ă  gĂ©rer. Cela passe encore plus mal avec GRUB, qui peut ne pas apprĂ©cier cet empilement et ne pas rĂ©ussir Ă  lire le systĂšme de fichiers oĂč il doit aller chercher le noyau Ă  dĂ©marrer. On se retrouve alors Ă  utiliser une partition statique dĂ©diĂ©e Ă  `/boot`. ---- [RAID LVM dans la doc Red Hat](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/logical_volume_manager_administration/raid_volumes) [LVM sur le wiki Gentoo](https://wiki.gentoo.org/wiki/LVM) [Page de manuel de lvmraid(7)](https://manpages.debian.org/stretch/lvm2/lvmraid.7.en.html) ---- Nous en arrivons donc Ă  cette fonctionnalitĂ© de RAID intĂ©grĂ©e Ă  LVM. Rappel sur LVM ============== Avec LVM, on commence par formater ses pĂ©riphĂ©riques de stockage pour en faire des *volumes physiques* LVM, ou PV pour *physical volumes* : ce sont des pĂ©riphĂ©riques bloc, visibles dans `/dev`, qu’on confie simplement Ă  LVM. ```bash # J’ai deux pĂ©riphĂ©riques, sda et sdb, avec une premiĂšre partition # systĂšme EFI, et une seconde partition avec l’essentiel de l’espace, # qui sera utilisĂ© avec LVM pvcreate /dev/sda2 /dev/sdb2 ``` On agrĂšge ensuite un ou plusieurs volumes physiques pour former un *groupe de volumes*, ou VG pour *volume group* : contrairement aux volumes physiques, les groupes de volumes ne sont qu’une abstraction de LVM et n’ont, autant que je sache, pas d’existence dans `/dev`. ```bash # Je donne Ă  mes groupes de volume le mĂȘme nom que l’ordinateur vgcreate vg-camembert /dev/sda2 /dev/sdb2 ``` On dĂ©finit ensuite des *volumes logiques* ou LV pour *logical volumes*, qui sont des pĂ©riphĂ©riques bloc Ă©mulĂ©s par LVM, apparaissant dans `/dev` et prĂȘts Ă  ĂȘtre formatĂ©s et montĂ©s pour hĂ©berger un systĂšme de fichiers. ```bash lvcreate --size 10G --name root vg-camembert mkfs.ext4 -L root /dev/vg-camembert/root lvcreate --size 50G --name home vg-camembert mkfs.ext4 -L home /dev/vg-camembert/home ``` Lorsqu’on crĂ©e un volume logique, on doit Ă©videmment indiquer dans quel groupe de volumes il sera mis en Ɠuvre, mais on peut Ă©galement prĂ©ciser au besoin, sur quel volume physique en particulier – membre de ce groupe de volumes – il sera effectivement stockĂ©. Cette possibilitĂ© est dĂ©jĂ  utile pour diverses raisons, par exemple si les volumes physiques ont des caractĂ©ristiques diffĂ©rentes ; typiquement pour stocker des films sur un gros disque dur lent et son systĂšme d’exploitation sur un petit SSD trĂšs rapide, le tout sous LVM avec un seul groupe de volumes. ```bash # sda est petit et rapide, parfait pour hĂ©berger / lvcreate --size 10G --name root vg-camembert /dev/sda1 # sdb est gros et moins rapide, ce qui me convient pour /home lvcreate --size 50G --name home vg-camembert /dev/sdb1 ``` RAID intĂ©grĂ© Ă  LVM ================== Au moment de crĂ©er un volume logique, on peut donc Ă©galement indiquer qu’il s’agit d’un volume RAID, en prĂ©cisant le niveau de RAID et la redondance souhaitĂ©e : ```bash # Mieux vaut mettre / en RAID1 # Le --nosync sert Ă  Ă©viter l’inutile synchronisation des donnĂ©es # initialement prĂ©sentes lvcreate --size 10G --name root --type raid1 --nosync vg-camembert # Soyons fous, /home en RAID0 lvcreate --size 50G --name home --type raid0 vg-camembert ``` On peut aussi convertir un volume logique existant en RAID, ou Ă  l’inverse, convertir un volume logique RAID en classique, c’est‐à‐dire linĂ©aire — c’est leur vrai nom, ce qui peut ĂȘtre utile en vue d’un changement de pĂ©riphĂ©rique par exemple. La page de manuel de `lvmraid(7)` donne toute les informations utiles, en particulier les commandes permettant de lancer une procĂ©dure de vĂ©rification de la correspondance des donnĂ©es dupliquĂ©es : ```bash lvchange --syncaction check vg-camembert/root ``` Avantages ========= L’utilisation de la fonctionnalitĂ© de RAID intĂ©grĂ©e Ă  LVM a l’avantage d’ĂȘtre simple Ă  mettre en Ɠuvre, il n’est ainsi plus nĂ©cessaire de se demander dans quel ordre empiler LVM et MD, ou comment organiser tout cela : il suffit d’utiliser LVM comme d’habitude, avec quelques options en plus, le fait d’ĂȘtre en RAID ou non Ă©tant simplement une caractĂ©ristique de chaque volume logique, qui peut mĂȘme ĂȘtre changĂ©e _a posteriori_. Les volumes logiques de type RAID sont Ă©galement pris en charge par GRUB, de sorte qu’il n’est pas nĂ©cessaire de mettre en place une partition `/boot` sĂ©parĂ©e.

AltStyle ă«ă‚ˆăŁăŠć€‰æ›ă•ă‚ŒăŸăƒšăƒŒă‚ž (->ă‚ȘăƒȘă‚žăƒŠăƒ«) /