Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
informatique:systeme:matos:lvm [2012/02/03 15:07] – [Snapshot] bn8 | informatique:systeme:matos:lvm [2024/05/22 13:25] (Version actuelle) – [Réduire un LV] bn8 | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
===== Fonctionnement général ===== | ===== Fonctionnement général ===== | ||
- | ==== Réduire un LV ==== | ||
- | Pour un système de fichiers EXT3 : | ||
- | * On démonte si nécessaire le LV | + | ==== Augmenter un PV ==== |
- | | + | |
+ | * Utiliser ensuite la commande suivante pour redimensionner votre //PV// : < | ||
- | | + | **Avec :** |
- | | + | |
- | * On resize au minimum le FS | ||
- | resize2fs -M /dev/vg/lv | + | ==== Réduire un PV ==== |
- | * On mount le FS pour voir si çà c' | + | * Commencer par déterminer la taille minimale du //PV// possible. Redéfinissez ensuite la taille du //PV// : < |
+ | * **Avec :** | ||
+ | * **[size] :** la nouvelle taille du //PV// (exemple : //30G//) | ||
+ | * **[device]] :** le // | ||
+ | * Si votre //PV// est une partition et que vous souhaitez le // | ||
+ | * Si vous devez réduire physiquement la taille du disque (cas du disque d'une machine virtuelle par exemple), | ||
+ | * Si votre //PV// est une partition et que vous l'avez réduit précédemment plus que nécessaire, | ||
+ | * Redimensionner ensuite le //PV// à la taille du // | ||
- | mount /dev/vg/lv | + | <note tip>Il est possible d' |
- | | + | Commencer par lister les segments des LV : <code bash># pvs -v --segments /dev/vdc |
+ | PV | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
- | | + | On voit ici que le LV `var` est divisé en trois segments et que l'on a plusieurs espaces libres dans le PV. Il faut alors déplacer les segments au début du disque dans un espace libre, tant qu'à faire de manière contiguë avec un autre segment du même LV (et dans le bon ordre, cf. champ //Start// du LV = la seconde colonne portant ce nom). Ici, on va donc commencer par déplacer le second segment dans l' |
+ | <code bash> | ||
- | * On démonte le LV | + | et donc ici : |
+ | <code bash># pvmove --alloc anywhere / | ||
+ | /dev/vdc: Moved: 0,01% | ||
+ | /dev/vdc: Moved: 3,98% | ||
+ | [...] | ||
+ | /dev/vdc: Moved: 97,44% | ||
+ | /dev/vdc: Moved: 100,00% | ||
+ | </ | ||
- | | + | On affiche à nouveau les segments : |
+ | <code bash> | ||
+ | # pvs -v --segments /dev/vdc | ||
+ | PV | ||
+ | | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | </code> | ||
- | * On resize | + | On va pouvoir maintenant déplacer |
+ | <code bash> | ||
+ | # pvmove --alloc anywhere / | ||
+ | /dev/vdc: Moved: 0,02% | ||
+ | /dev/vdc: Moved: 3,17% | ||
+ | [...] | ||
+ | /dev/vdc: Moved: 100,00% | ||
+ | </ | ||
+ | On affiche à nouveau les segments : | ||
+ | <code bash> | ||
+ | # pvs -v --segments /dev/vdc | ||
+ | PV | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | </ | ||
- | lvreduce | + | Pour finir, on déplace maintenant le LV `log` juste après le LV `var` : |
+ | <code bash> | ||
+ | # pvmove | ||
+ | /dev/vdc: Moved: 1,17% | ||
+ | /dev/vdc: Moved: 36,02% | ||
+ | /dev/vdc: Moved: 66,48% | ||
+ | | ||
+ | </code> | ||
- | * On check le FS (obligatoire) | + | On affiche à nouveau les segments : |
+ | <code bash> | ||
+ | # pvs -v --segments /dev/vdc | ||
+ | PV | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | </ | ||
- | e2fsck -f / | + | Les LVs sont maintenant au début |
- | + | </note> | |
- | * On resize le FS à la taille | + | ==== Réduire un LV ==== |
- | + | Pour un système de fichiers EXT3/EXT4 : | |
- | resize2fs | + | |
- | + | ||
- | * On remonte le LV | + | |
- | + | ||
- | mount /dev/vg/lv | + | |
+ | * On commence par définir quelques variables: <code bash> | ||
+ | LV=/ | ||
+ | SIZE=xxxG | ||
+ | </ | ||
+ | * On réduit ensuite le file-system du LV à son minimum :<code bash> | ||
+ | # On démonte si nécessaire le LV | ||
+ | umount $LV | ||
+ | # On check le FS (obligatoire) | ||
+ | e2fsck -f $LV | ||
+ | # On resize au minimum le FS | ||
+ | resize2fs -M $LV | ||
+ | # On mount le FS pour voir si ça c'est bien passé | ||
+ | mount $LV | ||
+ | # On vérifie la taille minimum nécessaire pour le FS | ||
+ | df $LV | ||
+ | </ | ||
+ | * Le résultat du '' | ||
+ | * On peut ensuite alors réduire le LV et réajuster/ | ||
+ | # On démonte le LV | ||
+ | umount $LV | ||
+ | # On resize le LV à la taille voulue | ||
+ | lvreduce -L $SIZE $LV | ||
+ | # On check le FS (obligatoire) | ||
+ | e2fsck -f $LV | ||
+ | # On resize le FS à la taille du LV | ||
+ | resize2fs $LV | ||
+ | # On remonte le LV | ||
+ | mount $LV | ||
+ | </ | ||
===== Snapshot ===== | ===== Snapshot ===== | ||
Ligne 67: | Ligne 152: | ||
unmout / | unmout / | ||
lvremove / | lvremove / | ||
- |