Como faço para estender uma partição com um LVM e o volume físico e volume lógico contido?

29

No meu SSD de 240 GB, eu tinha inicialmente duas partições, uma contendo o Volume Lógico com o 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 volume lógico para usar o espaço em disco liberado.

Como eu estendo o grupo de volume , 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
    
por klingt.net 31.10.2013 / 19:00

4 respostas

9

A pergunta foi resolvida depois de ler postagem no blog. Vou escrever a solução de forma resumida:

  • inicialize a partir de um live cd com
  • use gdisk (se você usar o GPT), caso contrário você pode usar o bom e antigo fdisk
  • anote suas configurações de partição, no meu caso gdisk -l /dev/sdb
  • exclua sua partição com
  • crie uma nova partição com o mesmo alinhamento exato que a anterior (no meu exemplo, começando no bloco 2048)
  • escreva sua nova tabela de partições
  • execute partprobe -s para atualizar a tabela de partições sem reinicializar
  • redimensione seu volume físico com pvresize /dev/sdb1 ou onde quer que seu pv esteja (use pvs para determinar se você não sabe)
  • agora redimensione seu volume lógico com lvextend -l +100%FREE /dev/file/of/your/lv , no meu caso sudo lvextend -l +100%FREE /dev/linuxvg/home
  • redimensione o sistema de arquivos sudo resize2fs /dev/linuxvg/home
  • primeiro verifique a consistência sudo e2fsck -f /dev/linuxvg/home
  • aproveite:)
por 31.10.2013 / 22:59
38

Você pode fazer isso de maneira bastante simples. Meio que surpreso, não havia uma resposta para isso aqui.

Você pode fazer todo este processo enquanto estiver rodando no sistema de arquivos que deseja redimensionar (sim, é seguro e totalmente suportado). Não há necessidade de CDs de salvamento ou sistemas operacionais alternativos.

  1. Redimensione a partição (novamente, você pode fazer isso com o sistema em execução). O GParted é fácil de usar e suporta redimensionamento.
    Você também pode usar uma ferramenta de nível inferior, como fdisk . Mas você terá que excluir a partição e recriá-lo. Apenas certifique-se de que, ao fazer isso, a nova partição comece no mesmo local exato.
  2. Reinicie. Como a tabela de partição foi modificada no sistema em execução, ela não terá efeito até a reinicialização.
  3. Execute pvresize /dev/sdXY para que o LVM escolha o novo espaço.
  4. Redimensione o volume lógico com lvextend . Se você quiser usar a coisa toda, lvextend -r -l +100%FREE /dev/VGNAME/LVNAME . O -r também redimensionará o sistema de arquivos.
    Embora eu sempre recomende o uso de todo o grupo de volumes. Você nunca sabe o que vai precisar no futuro. Você sempre pode expandir depois, você não pode diminuir.
por 01.11.2013 / 00:19
8

Nenhuma das respostas faz justiça ao poder do LVM.

(Isso é baseado no comentário do @frostchutz para a pergunta acima.)

Vamos ver os fatos:

  • OP tem duas partições, sdb1 e sdb2 são um volume físico para o LVM.
  • sdb1 é ntfs agora, precisamos fornecer esse espaço para home volume lógico dentro de linuxvg volume group.

Passos do LVM usando a "forma pragmática":

  • crie um volume físico em sdb1: pvcreate /dev/sdb1
  • adicione sdb1 a linuxvg : vgextend linuxvg /dev/sdb1
  • estenda o volume lógico home com todo o espaço livre: lvextend -l +100%FREE /dev/linuxvg/home
  • estender ext4 fs: resize2f /dev/linuxvg/home

O LVM permite um ótimo 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)

link

    
por 11.02.2017 / 04:44
3

Algumas ótimas respostas já.

Se você estiver usando o xfs, use o comando

xfs_growfs /mountpoint

em vez de resize2fs. Você pode fazer isso enquanto o ponto de montagem estiver ativo, por exemplo, se você criou a partição raiz e não precisa reinicializar depois.

    
por 14.09.2015 / 15:32