Redimensionner un Logical Volume
Sur des serveurs fonctionnant sous CentOS et Fedora, j’utilise Logical Volum Manager pour gérer certains systèmes de fichiers. Ces serveurs sont utilisés comme dépots de RPM (miroir d’un serveur public) ainsi que pour y stocker des VM (Virtual Machine) VMware, les utilisateurs pouvant ensuite télécharger les VM pour les utiliser sur leur poste.
Le système de fichier /montage/VMware
étant occupé à 93%, j’ai du
l’agrandir.
Dans cet article, les quelques notes prises lors du redimensionnent.
Avant toute opération sur les systèmes de fichiers, il est recomandé de
réaliser une sauvegarde.
Une erreur de commande est vite arrivée et il est facile de perdre
toutes ses données.
Le serveur fonctionne dans une version obsolète de Fedora puisqu’il
s’agit de la version FC6 (noyau 2.6.18-1.2798.fc6), il n’est donc pas
possible de redimensionner un Logical Volume (LV) à chaud (noyau 2.6.22
minimum), il faut le démonter.
Le LV utilisé sur ce serveur s’appelle /dev/vg01/VMware
et il est
monté sous /montage/VMware
. Il a une taille initiale de 20Go.
Pour toutes les commandes citées, il y a des explications détaillées sur
leurs fonctionnement avec la commande man <la-commande>
.
Espace disponible
La première opération est de vérifier si l’on dispose d’espace
disponible dans le Volum Group (VG).
Pour cela on utilise la commande vgdisplay :
root@serveur[13:13:58]:~/temp$ vgdisplay
--- Volume group ---
VG Name vg01
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 9
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 6
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 232,88 GB
PE Size 4,00 MB
Total PE 59618
Alloc PE / Size 38050 / 148,63 GB
Free PE / Size 21568 / 84,25 GB
VG UUID 0y3xGo-Hb4A-1rtB-fHqj-n7NA-9H42-BQgeQM
Dans ce résultat, on voit que le VG a une taille de 232 Go (VG
Size), que 148Go sont déja alloués (Alloc PE / Size) et qu’il y a
84Go de disponible (Free PE / Size). Il est donc possible de
rajouter jusque 80Go à mon LV.
Pour rajouter plus de 80Go d’espace au LV, il faudrait agrandir le VG.
Agrandir le LV
Afin d’agrandir le LV, on commence par demonter le système de fichier :
umount /montage/VMware
La deuxième étape consiste à vérifier que le système de fichier est sain :
root@serveur[09:23:59]:~$ e2fsck -f /dev/vg01/VMware
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg01/VMware: 51/2562240 files (11.8% non-contiguous), 4502917/5120000 blocks
La troisième consiste à agrandir le LV :
root@serveur[09:25:05]:~$ lvresize -L +20G /dev/vg01/VMware
Extending logical volume VMware to 39,53 GB
Logical volume VMware successfully resized
La commande lvresize -L +20G /dev/vg01/VMware
permet de rajouter
20Go au LV existant.
Si le signe + (plus) avait été omis (lvresize -L 20G
/dev/vg01/VMware
), la taille finale du LV aurait été de 20Go.
Une fois le LV agrandit, il faut formatter le nouvel espace alloué. Comme le système de fichier est de type ext3, on utilise la commande resize2fs :
root@serveur[09:32:46]:~$ resize2fs /dev/vg01/VMware
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/vg01/VMware to 10362880 (4k) blocks.
Le système de fichiers /dev/vg01/VMware a maintenant une taille de 10362880 blocs.
Enfin, il faut remonter le système de fichier et controler que l’on a rien perdu :
mount /dev/vg01/VMware /montage/VMware
Le montage de ce système de fichier étant déclaré dans le fichier
/etc/fstab
, on peut également utiliser la commande mount -a
qui
refait tous les montages déclarés dans ce fichier.
Dans le dossier /montage/VMware
, on controle que les dossiers et
fichiers sont toujours présents et on vérifie que la taille du système
de fichier a augmenté :
root@serveur[10:03:27]:/montage/VMware$ df -h .
Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur
/dev/mapper/vg01-VMware
39G 17G 21G 46% /montage/VMware