Base de connaissances · Serveurs dédiés et VPS

Comment redimensionner des volumes avec LVM

Dernière mise à jour : 2020-04-02

Conseils rapides :
  • Pour afficher les détails du groupe de volumes logiques, utilisez : vgdisplay
  • Pour afficher les détails des volumes logiques, utilisez : lvdisplay
  • Pour créer de nouveaux volumes, utilisez : lvcreate
  • Pour redimensionner des volumes existants, utilisez : lvresize
  • Utilisez "--help" pour afficher l'aide rapide de la commande : lvresize --help
  • Il est facile d'ajouter de l'espace à un système de fichiers existant, sans aucune interruption de service.
  • Il est beaucoup plus difficile de réduire un système de fichiers : une interruption de service est ALORS NÉCESSAIRE.
  • Ne tentez pas de réduire un volume si vous ne savez pas précisément ce que vous faites.
  • Plus de détails ici :http://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager
Avant de commencer :
  • Exécutez "df -h /" pour vous assurer qu'il reste de l'espace libre sur votre volume root. Si votre volume root est plein à 100%, vous devez le nettoyer en supprimant des fichiers avant de poursuivre.
  • Exécutez "vgdisplay" et notez les groupes de volumes dont vous disposez réellement.
  • Exécutez "lvdisplay" et notez les volumes logiques présents sur votre système.
  • Adaptez les exemples ci-dessous aux noms de vos volumes et groupes.

Exemple 1 : ajouter 10GB à la partition "/" (root)


Ajoutez 10GB au volume "root" :
lvresize -L +10G /dev/VolGroup00/root

Redimensionnez le système de fichiers qui se trouve sur ce volume:

resize2fs /dev/VolGroup00/root

Remarque : resize2fs peut prendre un certain temps pour étendre le système de fichiers sur un volume de grande taille ; vous pouvez donc ouvrir un second terminal et suivre la progression avec la commande suivante :

watch df -h
Exemple 2 : définir le swap à 16GB

Désactivez tous les swaps :
swapoff -a
Définissez la taille de la partition swap à 16GB :
lvresize -L 16G /dev/VolGroup00/swap

Redimensionnez la zone de swap afin d'utiliser la nouvelle taille du volume :

mkswap
/dev/VolGroup00/swap
Activez tous les espaces de swap :
swapon -a
Exemple 3 : créer un nouveau volume « data » de 5GB et le monter sous « /data »

Créez le point de montage :

mkdir /data

Créez le volume :

lvcreate -L 5G -n data VolGroup00

Créez le système de fichiers :

mkfs.ext3 /dev/VolGroup00/data

Ajoutez la ligne suivante à votre /etc/fstab :

/dev/VolGroup00/data /data ext3 defaults 0 2

Montez le volume :

mount /data


Exemple 4 : réduction de la taille du volume existant « test »

IMPORTANT:
1. La réduction de la taille d'un volume NE PEUT PAS être effectuée tant que le système de fichiers est monté, et elle peut prendre BEAUCOUP de temps.
2. Vous devrez démarrer à partir d'un CD de secours (Rescue CD) pour pouvoir réduire la taille d'un volume contenant le système de fichiers root.
3. Une réduction incorrecte de la taille d'un volume ENTRAÎNERA LA PERTE DE VOS DONNÉES.

Assurez-vous de disposer d'une bonne sauvegarde et de prévoir une longue période d'indisponibilité, car la réduction d'un système de fichiers peut prendre un certain temps.

Vous êtes prévenu : vous procédez à vos propres risques.

Commencez par vous assurer que le système de fichiers dispose de suffisamment d'espace libre pour pouvoir être réduit :

root@server:~# df -h /test/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-test
5.0G 139M 4.6G 3% /test

Notez que même un système de fichiers vide utilise un peu d'espace : 139M dans notre cas.
Procédez au démontage du système de fichiers.

root@server:~# umount /test

Lancez une vérification de la cohérence du système de fichiers. Cette opération peut prendre un certain temps.

root@server:~# fsck -f /dev/VolGroup00/test e2fsck 1.41.11 (14-Mar-2010)
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/mapper/VolGroup00-test: 11/327680 files (0.0% non-contiguous), 55935/1310720 blocks

Déterminer la taille de bloc du système de fichiers

root@server:~# tune2fs -l /dev/VolGroup00/test | grep 'Block size'
Block size: 4096

Vérifiez à nouveau la taille minimale du système de fichiers, exprimée en blocs :

root@server:~# resize2fs -P /dev/VolGroup00/test
resize2fs 1.41.11 (14-Mar-2010)
Estimated minimum size of the filesystem: 34477

Dans cet exemple, la taille minimale requise du volume logique est : 34477*4096 = 141217792 octets.
Ici, vous pouvez effectuer des calculs pour déterminer la taille finale de votre système de fichiers, mais procédez avec prudence. Il est beaucoup plus sûr de réduire un système de fichiers à sa taille minimale.

Selon la taille actuelle du système de fichiers, son utilisation et sa structure, cette opération peut prendre BEAUCOUP de temps.

root@server:~# resize2fs -M /dev/VolGroup00/test
resize2fs 1.41.11 (14-Mar-2010)
Redimensionnement du système de fichiers sur /dev/raid1/test à 34477 blocs (4k).
Le système de fichiers sur /dev/raid1/test compte désormais 34477 blocs.

ASSUREZ-VOUS QUE LA NOUVELLE TAILLE PRÉVUE DU VOLUME EST SUPÉRIEURE À LA TAILLE DU SYSTÈME DE FICHIERS.
N'oubliez pas que LVM alloue l'espace aux volumes par blocs de type Physical Extent (PE) ; il est donc possible que vous ne puissiez pas obtenir exactement la taille souhaitée.

root@server:~# vgdisplay
--- Groupe de volumes ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 44
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 20
Open LV 20
Max PV 0
Cur PV 1
Act PV 1
VG Size 930.50 GiB
PE Size 4.00 MiB
Total PE 238207
Alloc PE / Size 212966 / 831.90 GiB
Free PE / Size 25241 / 98.60 GiB
VG UUID LazRIZ-d8rU-2bwB-uI7o-6Amt-BH0w-oFxNh

Dans notre exemple, la taille des PE est de 4MB ; vous devrez donc arrondir la taille de volume prévue au multiple de 4 immédiatement supérieur.

Par mesure de précaution, nous vous recommandons vivement d'ajouter une marge supplémentaire. Dans cet exemple, nous réduirons donc le volume à 200M, ce qui est supérieur à la fois aux 139M utilisés selon df et aux 141M calculés en blocs.

root@server:~# lvresize -L 200M /dev/VolGroup00/test
WARNING: Reducing active logical volume to 200.00 MiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce test? [y/n]: y
Reducing logical volume test to 200.00 MiB
Logical volume test successfully resized

Agrandissez maintenant le système de fichiers afin qu'il utilise tout l'espace disponible dans le volume logique :

root@server:~# resize2fs /dev/VolGroup00/test
resize2fs 1.41.11 (14-Mar-2010)
Resizing the filesystem on
/dev/VolGroup00/test to 51200 (4k) blocks.
The filesystem on
/dev/VolGroup00/test is now 51200 blocks long.

Montez le système de fichiers et vérifiez la nouvelle taille :

root@server:~# mount /dev/VolGroup00/test /test
root@server:~# df -h /test
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-test
196M 131M 56M 71% /test

← Tous les articles de la base de connaissances

Tell us what you need

Compare available plans or describe your workload so we can discuss a suitable starting point.