Sur mon SSD de 240 Go, j'avais d'abord deux partitions, l'une contenant le volume logique avec Linux Mint et l'autre contenant une partition NTFS à partager avec Windows. Maintenant, j'ai supprimé la partition NTFS et je souhaite étendre mon groupe de volumes logiques pour utiliser l'espace disque libéré.
Comment puis-je étendre le groupe de volumes, mon volume logique contenant/home et le système de fichiers (ext4) on/home? Est-ce possible de le faire en ligne?
PS: Oui, je sais que je dois sauvegarder mes données :)
/dev/sdb/ (240GB)
linuxvg (160GB) should use 100% of the disk space
swap
root
home (ext4, 128GB) should be extended to use the remaining space
sortie de Sudo vgdisplay
:
--- Volume group ---
VG Name linuxvg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 160,00 GiB
PE Size 4,00 MiB
Total PE 40959
Alloc PE / Size 40959 / 160,00 GiB
Free PE / Size 0 / 0
VG UUID ...
--- Logical volume ---
LV Path /dev/linuxvg/swap
LV Name swap
VG Name linuxvg
LV UUID ...
LV Write Access read/write
LV Creation Host, time mint, 2013-08-06 22:48:32 +0200
LV Status available
# open 2
LV Size 8,00 GiB
Current LE 2048
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Path /dev/linuxvg/root
LV Name root
VG Name linuxvg
LV UUID ...
LV Write Access read/write
LV Creation Host, time mint, 2013-08-06 22:48:43 +0200
LV Status available
# open 1
LV Size 24,00 GiB
Current LE 6144
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
--- Logical volume ---
LV Path /dev/linuxvg/home
LV Name home
VG Name linuxvg
LV UUID ...
LV Write Access read/write
LV Creation Host, time mint, 2013-08-06 22:48:57 +0200
LV Status available
# open 1
LV Size 128,00 GiB
Current LE 32767
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:2
--- Physical volumes ---
PV Name /dev/sdb1
PV UUID ...
PV Status allocatable
Total PE / Free PE 40959 / 0
sortie de Sudo fdisk -l
:
Disk /dev/sdb: 240.1 GB, 240057409536 bytes
255 heads, 63 sectors/track, 29185 cylinders, total 468862128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 1 468862127 234431063+ ee GPT
Disk /dev/mapper/linuxvg-swap: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders, total 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/linuxvg-root: 25.8 GB, 25769803776 bytes
255 heads, 63 sectors/track, 3133 cylinders, total 50331648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/linuxvg-home: 137.4 GB, 137434759168 bytes
255 heads, 63 sectors/track, 16708 cylinders, total 268427264 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
La question a été résolue, après avoir lu ce article de blog. J'écrirai la solution sous forme abrégée:
gdisk
(si vous utilisez GPT) sinon vous pouvez utiliser le bon vieux fdisk
gdisk -l /dev/sdb
partprobe -s
pour actualiser la table de partition sans redémarragepvresize /dev/sdb1
ou où se trouve votre pv (utilisez pvs
pour déterminer si vous ne savez pas)lvextend -l +100%FREE /dev/file/of/your/lv
, dans mon cas Sudo lvextend -l +100%FREE /dev/linuxvg/home
Sudo resize2fs /dev/linuxvg/home
Sudo e2fsck -f /dev/linuxvg/home
Vous pouvez le faire assez simplement. Je suis un peu surpris qu'il n'y ait pas encore de réponse à cela ici.
Vous pouvez faire tout ce processus tout en exécutant sur le système de fichiers que vous souhaitez redimensionner (oui, il est sûr et entièrement pris en charge). Il n'y a pas besoin de CD de secours ou de systèmes d'exploitation alternatifs.
fdisk
. Mais vous devrez supprimer la partition et la recréer. Assurez-vous simplement que la nouvelle partition démarre exactement au même endroit.pvresize /dev/sdXY
pour que LVM récupère le nouvel espace.lvextend
. Si vous voulez utiliser le tout, lvextend -r -l +100%FREE /dev/VGNAME/LVNAME
. Le -r
redimensionnera également le système de fichiers.Aucune des réponses ne rend justice au pouvoir de LVM.
(Ceci est basé sur le commentaire @frostchutz de la question ci-dessus.)
Obtenons les faits:
home
volume logique dans linuxvg
groupe de volumes.Étapes LVM utilisant la "voie pragmatique":
pvcreate /dev/sdb1
linuxvg
: vgextend linuxvg /dev/sdb1
home
avec tout l'espace libre: lvextend -l +100%FREE /dev/linuxvg/home
resize2f /dev/linuxvg/home
LVM permet un grand niveau d'indirection. Un volume logique se trouve dans un groupe de volumes, qui pourrait utiliser plusieurs disques.
accueil -> linuxvg -> (sdb1, sdb2, sdc1)
Déjà d'excellentes réponses.
Si vous utilisez xfs, vous utilisez la commande
xfs_growfs /mountpoint
plutôt que resize2fs. Vous pouvez le faire pendant que ce point de montage est actif, comme si vous avez développé la partition racine, et vous n'avez pas besoin de redémarrer après.