Tape les commandes sans regarder, puis Entrée : la vérification compare au caractère près (espaces multiples ignorés), donc une variante valide peut être refusée, ouvre alors la réponse. Pour les autres questions, réponds avant d’ouvrir : c’est l’effort de rappel qui fait retenir.
Rappel actif
Restitue de mémoire, sans support.
Donne les trois niveaux de LVM, du disque au système de fichiers, avec pour chacun la commande de création et la commande d’affichage.
Niveau Création Affichage PV (Physical Volume) pvcreatepvdisplayVG (Volume Group) vgcreate,vgextendvgdisplayLV (Logical Volume) lvcreatelvdisplay,lvs,lvscanLe LV n’est qu’un périphérique bloc : il faut encore
mkfspuismount.Donne toute la chaîne de commandes pour passer de deux disques vierges
/dev/sdbet/dev/sdcà un volumedatade 2 Go monté sur/data.pvcreate /dev/sdb /dev/sdc vgcreate VolGroup1 /dev/sdb /dev/sdc lvcreate -L 2G -n data VolGroup1 mkfs.ext4 /dev/VolGroup1/data mkdir -p /data mount /dev/VolGroup1/data /dataPuis une ligne dans
/etc/fstabpour que le montage survive au redémarrage.
Tape la commande
Écris la commande exacte, puis Entrée pour vérifier.
Initialise le disque
/dev/sdbcomme volume physique LVM.pvcreate /dev/sdbCrée le groupe
VolGroup1avec les PV/dev/sdbet/dev/sdc.vgcreate VolGroup1 /dev/sdb /dev/sdcLe nom du groupe vient avant les disques.
Crée dans
VolGroup1un volume logiquelv1de 1 Go.lvcreate -L 1G -n lv1 VolGroup1Il apparaît ensuite sous
/dev/VolGroup1/lv1(et/dev/mapper/VolGroup1-lv1).Ajoute le disque
/dev/sdd(déjà initialisé en PV) au groupeVolGroup1.vgextend VolGroup1 /dev/sddAgrandis
lv1de 1 Go et son système de fichiers dans la même commande, sans démonter.lvextend --size +1G --resizefs /dev/VolGroup1/lv1Forme courte :
lvextend -L +1G -r /dev/VolGroup1/lv1. Le+est essentiel :-L 1Gvoudrait dire « taille finale 1 Go ».Donne à
lv3tout l’espace libre restant du groupe, système de fichiers compris.lvresize -l +100%FREE -r /dev/VolGroup1/lv3-l(minuscule) compte en extents ou en pourcentage,-Len taille.Formate
lv2en ext4.mkfs.ext4 /dev/VolGroup1/lv2Affiche un résumé d’une ligne par volume logique (nom, groupe, taille).
lvslvdisplaydonne le détail,lvscanliste les LV avec leur état actif ou non.
Écris-le
Rédige la requête, la configuration ou le code, puis compare avec la réponse.
Écris la ligne
/etc/fstabqui montelv1(ext4) sur/data/lv1à chaque démarrage, avec les options par défaut./dev/VolGroup1/lv1 /data/lv1 ext4 defaults 0 2Équivalent :
/dev/mapper/VolGroup1-lv1. Vérifier sans redémarrer avecmount -a: une faute dansfstabpeut bloquer le démarrage.Écris la séquence sûre pour réduire
lv2(ext4, contient des données, monté sur/data/lv2) à 512 Mo.umount /data/lv2 e2fsck -f /dev/VolGroup1/lv2 resize2fs /dev/VolGroup1/lv2 512M lvreduce -L 512M /dev/VolGroup1/lv2 mount /dev/VolGroup1/lv2 /data/lv2Ou en une étape :
lvreduce -r -L 512M /dev/VolGroup1/lv2, qui réduit le système de fichiers avant le volume. Ext4 ne se réduit pas à chaud, d’où le démontage.
Calcule
Pose le calcul et donne le résultat, puis Entrée pour vérifier.
Le VG fait 9,99 GiB avec des extents (PE) de 4 MiB. Combien de PE occupe un LV de 1 Go (
-L 1G) ?1 GiB = 1024 MiB, et 1024 / 4 = 256 PE.
Deux disques de 5 Go donnent 2558 PE de 4 MiB. Combien de PE reste-t-il libres après la création de quatre LV de 1 Go ?
4 × 256 = 1024 PE utilisés. 2558 − 1024 = 1534 PE libres (environ 5,99 GiB).
Après
vgextendavec un troisième disque de 5 Go, le VG fait environ 14,99 GiB. lv1 fait 2 GiB, lv2 a été réduit à 512 MiB, lv4 a été supprimé. Quelle taille (en GiB, à 0,01 près) obtient lv3 avec-l +100%FREE?Tout ce qui n’est pas à lv1 et lv2 : 14,99 − 2 − 0,5 = 12,49 GiB. C’est le
<12,49 GiBaffiché parlvdisplay.
Distingue
Deux notions proches : dis ce qui les sépare vraiment.
lvcreate -L 1Getlvcreate -l 100%FREE: quelle est la différence entre-Let-l? Et entre-L 1Get-L +1Gsurlvextend?-Ldonne une taille (1G,512M),-lun nombre d’extents ou un pourcentage (100%FREE,50%VG).Sur
lvextend,-L +1Gajoute 1 Go,-L 1Gfixe la taille finale à 1 Go.Agrandir et réduire un LV ext4 : pourquoi l’un se fait-il à chaud et l’autre non ? Dans quel ordre agit-on sur le volume et le système de fichiers dans chaque cas ?
- Agrandir : volume d’abord, puis système de fichiers (
--resizefsappelleresize2fs). Ext4 sait grandir en ligne, monté. - Réduire : système de fichiers d’abord, puis volume. Ext4 ne se réduit pas monté, d’où
umount.
L’ordre suit une règle simple : le système de fichiers doit toujours tenir dans le volume.
- Agrandir : volume d’abord, puis système de fichiers (
Explique pourquoi
Le mécanisme derrière la règle.
Pourquoi un PV qui vient d’être créé affiche-t-il
Allocatable NOet 0 PE danspvdisplay?Les extents sont définis par le groupe (taille de PE du VG). Tant que le PV n’appartient à aucun VG (
VG Namevide), il n’est pas découpé en extents et rien ne peut y être alloué.Après
lvreduce, le cours constate que lv2 n’apparaît plus dansdf -h. Pourquoi ?Il a été démonté pour la réduction, et personne ne l’a remonté.
dfn’affiche que les systèmes de fichiers montés.
Cas pratique
Choisis et justifie avec les critères du cours.
/data/lv1est plein à 98 % en production. Le VG n’a plus d’espace libre, mais un nouveau disque/dev/sdevient d’être ajouté. Donne toutes les commandes, sans interruption de service.pvcreate /dev/sde vgextend VolGroup1 /dev/sde lvextend -L +5G -r /dev/VolGroup1/lv1 df -h /data/lv1Aucun démontage : l’extension d’ext4 se fait en ligne. C’est l’avantage principal de LVM sur une partition classique.
Trouve l'erreur
Chaque affirmation contient au moins une faute.
« Pour réduire lv2 de 1 Go à 512 Mo, je le démonte puis je tape
lvreduce -L 512M /dev/VolGroup1/lv2. » (C’est la séquence du cours.)Le volume est réduit mais pas le système de fichiers : ext4 croit toujours occuper 1 Go, et toute la moitié de fin est coupée. C’est exactement ce que signale l’avertissement
THIS MAY DESTROY YOUR DATA.Sur un volume vide de TP, ça passe. Avec des données, il faut
e2fsck -fpuisresize2fsà 512M avantlvreduce, oulvreduce -r -L 512M.« J’ai tapé
lvextend -L 1G /dev/VolGroup1/lv1pour ajouter 1 Go à lv1. »Sans
+,-L 1Gest la taille finale : lv1 fait déjà 1 Go, la commande ne fait rien (ou échoue). Il faut-L +1G. Il manque aussi-rpour agrandir le système de fichiers.« J’ai agrandi lv1 avec
lvextend -L +1G /dev/VolGroup1/lv1, maisdf -haffiche toujours 1,0G. LVM est cassé. »Le volume a grandi, pas le système de fichiers, et
dfmontre le système de fichiers. Il manque--resizefs(-r), ou après coupresize2fs /dev/VolGroup1/lv1.« J’ai monté mes LV, ils réapparaîtront au prochain démarrage. »
Un
mountest temporaire. Sans ligne dans/etc/fstab, les volumes ne sont pas remontés au démarrage.
Et si...
Prévois la conséquence.
Et si on tape
lvremove /dev/VolGroup1/lv4sans le démonter d’abord ?LVM refuse : un volume monté est ouvert (
Logical volume ... contains a filesystem in use). D’où leumountpréalable du cours. Et une fois supprimé, ses données sont perdues :lvremovedemande confirmation.Et si l’un des trois disques du VG tombe en panne ?
LVM n’est pas du RAID : il agrège l’espace, il ne le duplique pas. Les LV dont des extents étaient sur ce disque sont perdus ou corrompus. LVM apporte la souplesse, pas la redondance.