Depuis quelques temps je réfléchis à mettre du LVM sur ma box. Mais surtout virer le file system (NTFS) actuel sur l’un des disques. Cela faisait quelques mois lors de l’installation ,que j’avais fais mon fainéant surtout parceque je ne savais pas comment formater un disque sous linux et mettre un FS .
Depuis je me suis documenté , mais j’ai aussi un peu progressé tout en restant débutant (la route est longue).
Qu’est ce que LVM
LVM ou encore Logical Volume Management permet une meilleure gestion du stockage sur disque dur. Cela permet plus de flexibilité pour augmenter ou diminuer la taille d’un disque (Logical Volume) .
Structure LVM
Physical Volume (PV)
|
Nous commencons par déclarer notre PV
pvcreate /dev/hdb1
Adapter si besoins en fonction de votre partition
#pvdisplay "/dev/hdb1" is a new physical volume of "149,05 GiB" --- NEW Physical volume --- PV Name /dev/hdb1 VG Name PV Size 149,05 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID TM69Kj-6xyN-uJBA-oBR3-pml2-12JB-63QRDg
# vgcreate storage /dev/hdb1 Volume group "storage" successfully created
Création de LV. Dans l’exemple ici je vais créer 4 LV
#lvcreate -L40G -n lv_serie storage Logical volume "lv_serie" created # lvcreate -L10G -n lv_mp3 storage Logical volume "lv_mp3" created # lvcreate -L10G -n lv_mangas storage Logical volume "lv_mangas" created # lvcreate -L10G -n lv_video storage Logical volume "lv_video" created
L’option -L permets de spécifier une taille, elle accepte M,G,P pour le reste voir le man. L’option -n définit le nom qui sera donné à notre LV « Storage » le nom de notre VG Les commandes lvdisplay et vgdisplay nous donnent des informations sur les LV et le VG.
lvdisplay --- Logical volume --- LV Name /dev/storage/lv_videos VG Name storage LV UUID NrjlwU-o1tY-fA0M-uGNN-CwdW-JvX3-4NLNG2 LV Write Access read/write LV Status available # open 1 LV Size 40,00 GiB Current LE 10240 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:0 --- Logical volume --- LV Name /dev/storage/lv_serie VG Name storage LV UUID n2ybJY-l3LF-EbcC-lgJZ-btHa-p6yE-pgDl5W LV Write Access read/write LV Status available # open 1 LV Size 40,00 GiB Current LE 10240 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:1 --- Logical volume --- LV Name /dev/storage/lv_mp3 VG Name storage LV UUID UBTa71-bN8i-eZw7-UHfS-aIOl-3gJL-YHrni1 LV Write Access read/write LV Status available # open 1 LV Size 10,00 GiB Current LE 2560 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:2 --- Logical volume --- LV Name /dev/storage/lv_mangas VG Name storage LV UUID TcO07K-pJVw-2bJa-vMtO-0tGu-p1r0-tILO9M LV Write Access read/write LV Status available # open 1 LV Size 10,00 GiB Current LE 2560 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:3 #vgdisplay --- Volume group --- VG Name storage System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 5 VG Access read/write VG Status resizable MAX LV 0 Cur LV 4 Open LV 4 Max PV 0 Cur PV 1 Act PV 1 VG Size 149,05 GiB PE Size 4,00 MiB Total PE 38156 Alloc PE / Size 25600 / 100,00 GiB Free PE / Size 12556 / 49,05 GiB VG UUID jXQxyf-mwVc-h5ob-g955-sUz4-S8U7-vBeYKm
On voit qu’il nous reste 50G à attribuer quand on en aura besoins.
On crée l’arborescence pour le montage de nos LV
cd /mnt/ mkdir storage cd storage mkdir {videos,mp3,manga,serie}
Effectuer le montage
mount /dev/storage/lv_videos /mnt/storage/videos/ etc ...
#df -h /dev/mapper/storage-lv_mangas 9,9G 1,8G 7,6G 19% /mnt/storage/mangas /dev/mapper/storage-lv_mp3 9,9G 151M 9,2G 2% /mnt/storage/mp3 /dev/mapper/storage-lv_serie 40G 177M 38G 1% /mnt/storage/serie /dev/mapper/storage-lv_videos 40G 177M 38G 1% /mnt/storage/videos
Pour terminer nous allons modifier notre fstab. Pour que les montages se fassent automatiquement après un reboot
/dev/mapper/storage-lv_mangas /mnt/storage/mangas ext3 defaults 0 0 /dev/mapper/storage-lv_mp3 /mnt/storage/mp3 ext3 defaults 0 0 /dev/mapper/storage-lv_serie /mnt/storage/serie ext3 defaults 0 0 /dev/mapper/storage-lv_videos /mnt/storage/videos ext3 defaults 0 0
Pour ajouter un disque à un VG
vgextend storage /dev/hdd1 No physical volume label read from /dev/hdd1 Physical volume "/dev/hdd1" successfully created Volume group "storage" successfully extended
Avant
vgdisplay --- Volume group --- VG Name storage System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 5 VG Access read/write VG Status resizable MAX LV 0 Cur LV 4 Open LV 4 Max PV 0 Cur PV 1 Act PV 1 VG Size 149,05 GiB PE Size 4,00 MiB Total PE 38156 Alloc PE / Size 25600 / 100,00 GiB Free PE / Size 12556 / 49,05 GiB VG UUID jXQxyf-mwVc-h5ob-g955-sUz4-S8U7-vBeYKm
Après
vgdisplay --- Volume group --- VG Name storage System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 6 VG Access read/write VG Status resizable MAX LV 0 Cur LV 4 Open LV 4 Max PV 0 Cur PV 2 Act PV 2 VG Size 225,38 GiB PE Size 4,00 MiB Total PE 57697 Alloc PE / Size 25600 / 100,00 GiB Free PE / Size 32097 / 125,38 GiB VG UUID jXQxyf-mwVc-h5ob-g955-sUz4-S8U7-vBeYKm
Augmenter la taille d’un LV
On commence par démonter notre disque , puis :
lvextend -L+10G /dev/mapper/storage-lv_mp3 Extending logical volume lv_mp3 to 20,00 GiB Logical volume lv_mp3 successfully resized
On vérifie tout de même qu’il n’y a pas d’erreurs sur le disque
e2fsck -f /dev/mapper/storage-lv_mp3
Etant donné que nous avons agrandit la taille de notre LV il faut aussi réadapter notre FileSystem :
# resize2fs /dev/mapper/storage-lv_mp3
A noter que l’augmentation d’une LV peut être faites à chaud. Vous obtiendrez un message qui ressemble a :
resize2fs /dev/mapper/storage-lv_videos resize2fs 1.41.11 (14-Mar-2010) Le système de fichiers de /dev/mapper/storage-lv_videos est monté sur /mnt/storage/videos ; le changement de taille doit être effectué en ligne old desc_blocks = 3, new_desc_blocks = 4 En train d'effectuer un changement de taille en ligne de /dev/mapper/storage-lv_videos vers 13107200 (4k) blocs. Le système de fichiers /dev/mapper/storage-lv_videos a maintenant une taille de 13107200 blocs.
Diminuer la taille de votre logical volume
Cette manipulation peut vous faire perdre vos données alors faites très attention.
/dev/mapper/storage-divers 3,0G 644M 2,2G 23% /mnt/storage/divers
Je souhaite réduire la taille de /mnt/storage/divers à 700M vu que je n’utilise que 644M vaut mieux être un peu large.
Je commence par démonter ma partition.
umount /mnt/storage/divers
On vérifie qu’il n’y a pas d’erreurs .
e2fsck -f /dev/mapper/storage-divers e2fsck 1.41.11 (14-Mar-2010) Passe 1 : vérification des i-noeuds, des blocs et des tailles Passe 2 : vérification de la structure des répertoires Passe 3 : vérification de la connectivité des répertoires Passe 4 : vérification des compteurs de référence Passe 5 : vérification de l'information du sommaire de groupe /dev/mapper/storage-divers : 12/196608 fichiers (0.0% non contigus), 177115/786432 blocs
Les choses sérieuses commençent mais ne vous inquiétez pas vous pouvez perdre votre poste 🙂 . Ici on donne la taille que l’on souhaite avoir ai final. En l’occurrence 700M
resize2fs -p /dev/mapper/storage-divers 700M resize2fs 1.41.11 (14-Mar-2010) En train de retailler le système de fichiers sur /dev/mapper/storage-divers à 179200 (4k) blocs. Début de la passe 3 (max = 24) Examen de la table d'i-noeuds XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Le système de fichiers /dev/mapper/storage-divers a maintenant une taille de 179200 blocs
La c’est la je flippe grave tu te sens seul au monde.
lvresize -L -2300M /dev/mapper/storage-divers WARNING: Reducing active logical volume to 772,00 MiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce divers? [y/n]: y Reducing logical volume divers to 772,00 MiB Logical volume divers successfully resized
On resize notre LV
resize2fs /dev/mapper/storage-divers resize2fs 1.41.11 (14-Mar-2010) En train de retailler le système de fichiers sur /dev/mapper/storage-divers à 197632 (4k) blocs. Le système de fichiers /dev/mapper/storage-divers a maintenant une taille de 197632 blocs.
On mout tout ca .
mount /dev/mapper/storage-divers /mnt/storage/divers
/dev/mapper/storage-divers 758M 639M 81M 89% /mnt/storage/divers
C’est un peu plus grand que ce que nous avions prévu mais bon aucune donnée n’est perdu. On peu aller fumer tranquillement.
Supprimer une LV
lvremove /dev/mapper/storage-divers Do you really want to remove active logical volume divers? [y/n]: y Logical volume "divers" successfully removed
Evidemment en faisant cela vous perdez toutes vos données.