J'ai eu un problème très spécifique. J'ai un LVM en cours d'exécution sur un seul volume physique sur une machine virtuelle. La taille du volume logique est d'environ 150 Go et je souhaite l'étendre à environ 250 Go.
J'ai pu étendre le volume physique à partir de mon gestionnaire de machines virtuelles, mais le changement de taille physique n'est pas reflété sur mon volume logique LVM.
Je n'ai trouvé aucune réponse directement et, grâce à quelques expérimentations, j'ai trouvé une solution. Je pensais le partager dans ma réponse ci-dessous.
Réponse acceptée :
Un exemple de diagramme LVM :
L'idée de LVM est qu'il fait abstraction du volume logique du volume physique, de sorte que plusieurs volumes physiques apparaîtront à l'utilisateur comme un seul volume logique continu.
Le système de fichiers racine se trouve dans /dev/file-server-vg/root
et le swap est dans /dev/file-server-vg/swap
. L'idée est que nous pouvons en fait avoir plusieurs disques durs réels dans la couche PV, et ils peuvent tous être ajoutés dans un groupe de volumes, ce qui leur permettra d'apparaître tous comme un seul système de fichiers continu sur le système à /dev/file-server-vg/root
.
Dans ce problème, j'ai utilisé /dev/file-server-vg/root
en tant que serveur de fichiers et il manque d'espace. Heureusement, ce système est sur une machine virtuelle, et j'ai pu étendre le volume physique /dev/sda
à l'aide du gestionnaire de machines virtuelles. Cependant, l'augmentation de la taille n'est pas automatiquement transmise au /dev/file-server-vg/root
système de fichiers. Nous devons exécuter quelques commandes simples pour que cela fonctionne.
Avant de commencer, utilisez pvdisplay
pour voir quels volumes physiques sont présents. Cela listera tous les volumes physiques et le groupe de volumes auquel il appartient. Dans ce cas, nous n'avons qu'un seul volume physique qui est /dev/sda3
.
--- Physical volume ---
PV Name /dev/sda3
VG Name file-server-vg
PV Size 155.26 GiB / not usable 0
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 65346
Free PE 0
Allocated PE 65346
PV UUID 0EXhc4-EoHZ-b79R-ncSe-SWXI-ztPe-Fsc7zk
La table de partition actuelle peut être répertoriée en utilisant sudo parted
puis print
.
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB fat32 boot
2 538MB 794MB 256MB ext2
3 794MB 167GB 166GB lvm
Dans cet exemple, nous souhaitons étendre la capacité de 155,56 Gio à 255,56 Gio. En utilisant le gestionnaire de machines virtuelles, nous pouvons généralement étendre l'espace disque et, dans ce cas, nous l'étendrons de 100 Gio.
Une fois l'expansion réussie, la table de partition résultante (utilisez print free
) ressemblera à ce qui suit. Veuillez noter que "l'espace libre" indique 108 Go (~100 Gio).
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB fat32 boot
2 538MB 794MB 256MB ext2
3 794MB 275GB 166GB lvm
167GB 275GB 108GB Free Space
Il existe deux façons d'étendre le volume logique :
Créez une nouvelle partition et ajoutez-la au groupe de volumes, ou
Augmentez la même partition.
À mon avis, dans la mesure du possible, la deuxième méthode est plus soignée. Bien sûr si /dev/sda3
est un disque dur physique et que vous avez acheté un autre disque dur pour augmenter l'espace, il sera logique d'utiliser la première méthode.
Dans le type séparé resize 3 794MB 275GB
va redimensionner la partition 3 pour occuper tout l'espace libre, enfin presque :
Number Start End Size File system Name Flags
17.4kB 1049kB 1031kB Free Space
1 1049kB 538MB 537MB fat32 boot
2 538MB 794MB 256MB ext2
3 794MB 275GB 274GB lvm
275GB 275GB 1032kB Free Space
C'est suffisant, juste 1 Mo n'est pas utilisé.
Connexe :Comment changer le propre répertoire personnel ?Ensuite, nous allons redémarrer la machine. Ceci est nécessaire pour actualiser la table de partition.
Ce que vous verrez maintenant, c'est que le volume physique a augmenté en taille avec pvdisplay
--- Physical volume ---
PV Name /dev/sda3
VG Name file-server-vg
PV Size 255.26 GiB / not usable 0
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 65346
Free PE 0
Allocated PE 65346
PV UUID 0EXhc4-EoHZ-b79R-ncSe-SWXI-ztPe-Fsc7zk
Cette augmentation de taille sera automatiquement transmise au groupe de volumes, en utilisant vgdisplay
vous obtenez ce qui suit. Veuillez noter vgextend
ne fait pas réellement ce que vous pourriez penser qu'il fait. Il n'occupe pas l'espace libre, mais est utilisé pour ajouter de nouveaux volumes physiques à un groupe de volumes particulier.
--- Volume group ---
VG Name file-server-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 255.26 GiB
PE Size 4.00 MiB
Total PE 65346
Alloc PE / Size 65346 / 255.26 GiB
Free PE / Size 0 / 0
VG UUID NwwIgT-W0SH-aeTe-d078-hcxx-XZ6W-QfnSA0
La taille du volume logique n'augmente pas automatiquement. Cela est en fait logique car l'ordinateur n'a aucune idée du volume logique dont vous souhaitez augmenter la taille, ou peut-être souhaitez-vous créer un nouveau volume logique avec l'espace supplémentaire dans le groupe de volumes. Donc avec lvdisplay
vous verrez le tableau suivant, montrant le /dev/file-server-vg/root
ne dispose que de 153,26 Gio, mais ne vous inquiétez pas, nous sommes très proches.
--- Logical volume ---
LV Path /dev/file-server-vg/root
LV Name root
VG Name file-server-vg
LV UUID l6qvYZ-AmYw-tdgi-2jUu-XNB2-gecQ-6fDPt8
LV Write Access read/write
LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
LV Status available
# open 1
LV Size 153.26 GiB
Current LE 64834
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Path /dev/file-server-vg/swap_1
LV Name swap_1
VG Name file-server-vg
LV UUID OohMkN-rGLa-fM4M-6he2-MbM9-BBc3-Ck2Hs5
LV Write Access read/write
LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
LV Status available
# open 2
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
La façon d'augmenter le volume logique est d'utiliser lvextend -L +100GB /dev/file-server-vg/root
Après cela, développez le système de fichiers avec resize2fs /dev/file-server-vg/root
Et vous avez terminé. Vous pouvez faire lvdisplay
pour vérifier que le /dev/file-server-vg/root
le volume est passé à 253,26 Gio
--- Logical volume ---
LV Path /dev/file-server-vg/root
LV Name root
VG Name file-server-vg
LV UUID l6qvYZ-AmYw-tdgi-2jUu-XNB2-gecQ-6fDPt8
LV Write Access read/write
LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
LV Status available
# open 1
LV Size 253.26 GiB
Current LE 64834
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Path /dev/file-server-vg/swap_1
LV Name swap_1
VG Name file-server-vg
LV UUID OohMkN-rGLa-fM4M-6he2-MbM9-BBc3-Ck2Hs5
LV Write Access read/write
LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
LV Status available
# open 2
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1