Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
informatique:systeme:matos:lvm [2010/02/15 16:05] – Reprise ancien Wiki bn8 | informatique:systeme:matos:lvm [2024/05/22 13:25] (Version actuelle) – [Réduire un LV] bn8 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
- | ===== Réduire un LV ===== | + | |
- | Pour un système de fichiers EXT3 : | + | |
- | * On démonte si nécessaire le LV | ||
- | umount /dev/vg/lv | + | ===== Fonctionnement général ===== |
- | * On check le FS (obligatoire) | + | ==== Augmenter un PV ==== |
- | | + | |
+ | * Utiliser ensuite la commande suivante pour redimensionner votre //PV// : < | ||
- | | + | **Avec :** |
- | | + | |
- | * On mount le FS pour voir si çà c'est bien passé | ||
- | mount /dev/vg/lv | + | ==== Réduire un PV ==== |
- | * df non indique | + | * 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), c'est ici qu'il faut le faire, machiné éteinte. | ||
+ | * 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 | ||
- | | + | <note tip>Il est possible d' |
- | * On démonte le LV | + | Commencer par lister les segments des LV : <code bash># pvs -v --segments /dev/vdc |
+ | PV | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
- | umount | + | 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 resize le LV à la taille voulue | + | 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 check le FS (obligatoire) | + | 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 | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | </ | ||
- | e2fsck | + | 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 resize le FS à la taille du LV | + | On affiche |
+ | <code bash> | ||
+ | # pvs -v --segments /dev/vdc | ||
+ | PV | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | </ | ||
- | resize2fs | + | Les LVs sont maintenant au début du PV et on va maintenant être en mesure de faire notre `pvresize`. |
+ | </note> | ||
+ | ==== Réduire un LV ==== | ||
+ | Pour un système de fichiers EXT3/EXT4 : | ||
- | * On remonte le LV | + | * On commence par définir quelques variables: <code bash> |
- | + | LV=/ | |
- | mount / | + | SIZE=xxxG |
- | + | </ | |
- | ====== Snapshot | + | * 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 ===== | ||
Très pratique ! Cela permet de faire un //copie instantanée// | Très pratique ! Cela permet de faire un //copie instantanée// | ||
| | ||
| | ||
- | **Utilité | + | ==== Utilité |
+ | |||
Très pratique pour les sauvegardes d'un système dont les services doivent être arrêtés pour sauvegarder leurs données. La création d'un // | Très pratique pour les sauvegardes d'un système dont les services doivent être arrêtés pour sauvegarder leurs données. La création d'un // | ||
- | **Procédures | + | === Procédures |
* Création d'un // | * Création d'un // | ||
Ligne 62: | Ligne 152: | ||
unmout / | unmout / | ||
lvremove / | lvremove / | ||
- |