No meu SSD de 240 GB, eu tinha duas primeiras partições, uma contendo o Volume Lógico com Linux Mint e a outra continha uma partição NTFS para compartilhar com o Windows. Agora eu removi a partição NTFS e quero estender meu grupo de volumes lógicos para usar o espaço em disco liberado.
Como estender o grupo de volumes , meu volume lógico contendo / home e o sistema de arquivos (ext4) em / home? Isso é possível fazer online?
PS: Sim, eu sei que tenho que fazer backup dos meus dados :)
/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
saída 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
saída 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
vgextend
, em vez de removê-la completamente. Se você aumentar a partição PV existente, provavelmente precisará reiniciar, pois o Linux se recusa a reler a tabela de partições enquanto o disco estiver em uso. Trabalhar em torno deste online é estranho. - Por favor, mostre sua tabela de partição atual.Respostas:
Você pode fazer isso de maneira bastante simples. Meio surpreso por não haver uma resposta para isso aqui já.
Você pode executar todo esse processo enquanto executa o sistema de arquivos que deseja redimensionar (sim, é seguro e totalmente suportado). Não há necessidade de CDs de resgate ou sistemas operacionais alternativos.
Você também pode usar uma ferramenta de nível inferior, como
fdisk
. Mas você terá que excluir a partição e recriá-la. Apenas certifique-se de que a nova partição inicie exatamente no mesmo local.pvresize /dev/sdXY
para que o LVM pegue o novo espaço.lvextend
. Se você quiser usar a coisa todalvextend -r -l +100%FREE /dev/VGNAME/LVNAME
,. O-r
redimensionará o sistema de arquivos também.Embora eu sempre recomendo não usar todo o grupo de volumes. Você nunca sabe o que precisará no futuro. Você sempre pode expandir mais tarde, não pode encolher.
fonte
partprobe -s
não faz o que você pensa que faz. O kernel não pegará o redimensionamento de uma partição que está sendo usada.partprobe -s
só funciona se a partição estava em uso durante o redimensionamento (portanto, quando o fdisk notificou o kernel, ela falhou), mas não está mais.Nenhuma das respostas faz justiça ao poder do LVM.
(Isso é baseado no comentário @frostchutz da pergunta acima.)
Vamos ver os fatos:
home
volume lógico dentro dolinuxvg
grupo de volumes.Etapas do LVM usando o "caminho pragmático":
pvcreate /dev/sdb1
linuxvg
:vgextend linuxvg /dev/sdb1
home
com todo o espaço livre:lvextend -l +100%FREE /dev/linuxvg/home
resize2f /dev/linuxvg/home
LVM permite grande nível de indireção. Um volume lógico está dentro de um grupo de volumes, que pode estar usando vários discos.
home -> linuxvg -> (sdb1, sdb2, sdc1)
http://tldp.org/HOWTO/LVM-HOWTO/createvgs.html
fonte
A questão foi resolvida depois de ler este post do blog. Escreverei a solução em forma abreviada:
gdisk
(se você usar GPT), caso contrário, você poderá usarfdisk
gdisk -l /dev/sdb
partprobe -s
para atualizar a tabela de partição sem uma reinicializaçãopvresize /dev/sdb1
ou onde estiver seu PV (usepvs
para determinar se você não sabe)lvextend -l +100%FREE /dev/file/of/your/lv
, no meu casosudo lvextend -l +100%FREE /dev/linuxvg/home
sudo resize2fs /dev/linuxvg/home
sudo e2fsck -f /dev/linuxvg/home
fonte
Algumas ótimas respostas já.
Se você estiver usando xfs, use o comando
em vez de resize2fs. Você pode fazer isso enquanto esse ponto de montagem estiver ativo, como se você tiver crescido a partição raiz, e não precisar reinicializar depois.
fonte