Como posso redimensionar uma partição LVM? (isto é, volume físico)

79

Eu quero encolher minha segunda partição (LVM), para criar uma nova partição no espaço recém-liberado. Estou usando o Live CD para fazer isso, porque sei que não posso redimensionar / mover essa partição enquanto ela estiver em uso. Quando abri o GParted no Live CD, percebi que não podia redimensionar a partição, porque quando clico nele com o botão direito, a opção "redimensionar / mover" fica desativada.

Eu tentei desmontá-lo, "preguiçar", desmontá-lo ( umount -l /dev/sda2 ), mas não funcionou.

Uma captura de tela do GParted:

    
por Idan Yadgar 03.10.2012 / 23:20

9 respostas

43

Parece haver muitos resultados no Google em que as pessoas tiveram problemas semelhantes. Um exemplo:

Faça backup de todos os seus dados importantes antes de tentar isso. Sempre assuma que você pode perder todos os seus dados ao redimensionar partições.

Encolher o LVM sem o dataloss

Este tópico do fórum sugere o seguinte procedimento, neste exemplo encolhemos uma partição de 10G para 9G:

% bl0ck_qu0te%

Todo o crédito vai para brianmcgee .

Nota: vgreduce falhará com cannot resize to xxxxx extents as later ones are allocated se você tiver outro lv no final do disco - Eu tive um swap lv, que eu deletei. Veja Como diminuir os volumes lógicos e físicos do Ubuntu LVM? para ajudar nessa situação.

    
por pzkpfw 03.10.2012 / 23:53
42

Você pode reduzir / estender um volume lógico com muita facilidade usando uma ferramenta GUI: system-config-lvm . Porque system-config-lvm não vem pré-instalado, uma vez iniciado a partir de um live-cd, você tem que instalá-lo:

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt-get update
sudo apt-get install system-config-lvm

Depois de instalado, execute o programa, selecione o volume lógico que deseja alterar no painel esquerdo e clique em "Editar propriedades".

Agoramudeosparâmetroscomoquiser!

Umacoisaboasobresystem-config-lvméqueelenãopermitiráquevocêprossigaseonovotamanhodapartiçãoformenordoquetodososseusdadosexistentescombinados(acabeidetestarissoevipormimmesmo).

Referências:

  1. How-To Geek tutorial (este é o origem das imagens).
  2. Guia completo da Red Hat para o programa.
por Cao Minh Tu 30.06.2014 / 11:33
19

Nota : Você deve executar quase todos os comandos a seguir usando um Live CD. Às vezes, você quer desmontar a partição que já montou em / (neste caso, você não pode desmontá-la).

Estas são todas as etapas necessárias para redimensionar uma partição LVM ou LVM2:

sudo lvresize --verbose --resizefs -L -150G /dev/mapper/ubuntu

sudo pvresize --setphysicalvolumesize {some-space} /dev/sda5

Se o segundo comando produzir algo assim:

/dev/sda5: cannot resize to xxxxx extents as later ones are allocated.

Depois, você precisa reorganizar o espaço não alocado no final do LVM. Isso significa depois da partição root e swap_1. Então, inicialmente, você precisa verificar as informações dos volumes físicos usando o comando abaixo:

sudo pvs -v --segments /dev/sda5

Isso mostrará a saída como:

/dev/sda5 ubuntu lvm2 a-- 698.04g 150g   0 xxx root 0 linear /dev/sda:0-rrr
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx sss 0 free                          
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g zzz ttt swap 0 linear /dev/sda5:yyy-www

Observe o yyy-www . Use o seguinte comando para remover a fragmentação externa:

sudo pvmove --alloc anywhere /dev/sda5:yyy-www

Agora, vamos ver como está:

sudo pvs -v --segments /dev/sda5

Isso mostrará a saída como (observe as alterações):

/dev/sda5 ubuntu lvm2 a-- 698.04g 150g   0 xxx root 0 linear /dev/sda:0-rrr
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx ttt swap 0 linear /dev/sda5:xxx-sss
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy www 0 free

Depois disso, use o GParted e redimensione o LVM para a área máxima utilizada e o restante estará no espaço não alocado. Aproveite ...

    
por UJJAL 02.04.2015 / 08:42
11

Eu recomendaria outra ferramenta GUI - KVPM . Ele combina a funcionalidade do GParted e do system-config-lvm. Além disso, permite algumas operações em partições ao vivo (montadas) que system-config-lvm não permite No entanto, o volume tem que ser desmontado para encolher.

Está no repositório do universo desde o Ubuntu 12.04, então faça sudo apt-get install kvpm

Nota: inicie-o com direitos de root sudo kvpm

    
por Kos 15.01.2016 / 13:01
10

Apenas a versão mais recente do Gparted (0.14) suporta o redimensionamento de volumes físicos do LVM. A versão que vem com o Ubuntu 12.10 ou 13.04 não suporta isso.

Veja como redimensionar um volume físico LVM:

  1. Se o grupo de volumes associado ao volume físico LVM não tiver espaço não alocado suficiente, você precisará fazer alguns diminuindo um volume lógico. Veja a resposta do bigbadonk420 para instruções sobre como fazer isso. Você também pode usar os discos do GNOME (incluídos no Ubuntu) para algumas das etapas, se preferir uma GUI.

  2. Grave a última imagem .iso do site do GParted e grave-a em um CD ou coloque-a um stick USB. Inicialize a partir do CD ou do pen drive. Como alternativa, você pode compilar a versão mais recente do GParted a partir do código-fonte.

  3. Use o GParted para redimensionar o volume físico do LVM. O GParted não permite diminuir o volume físico do LVM para um tamanho menor do que o permitido pelo espaço não alocado.

por Flimm 28.11.2012 / 18:03
7

Eu encontrei essa resposta por acidente, mas isso funcionou para mim, pelo menos. No meu caso eu já tinha um espaço em disco não alocado reservado depois da raiz, então eu pulo a parte como você obtém mais espaço e apenas explico como eu usei isso no root sem inicializar.

NOTA: Em vez de usar gparted , provavelmente é melhor usar system-config-lvm . Da próxima vez eu usaria esse em vez disso ... Minha versão gparted era 0,18.

  1. Primeiro, usei gparted para estender a partição raiz o máximo que pude. Para minha surpresa, estendeu apenas os tamanhos físicos e não fez nada para a parte lógica. Então, o comando df -k disse que o disco estava cheio ainda.
  2. lvresize -l +100%FREE /dev/ubuntu-vg/root estende a partição lógica o máximo possível. Não há necessidade de verificar e calcular GBs ou blocos em vários métodos.
  3. resize2fs /dev/ubuntu-vg/root é o terceiro passo que fiz: ele estende o sistema de arquivos ao tamanho da partição lógica.

O último passo pode ser mesclado no segundo:

lvresize -l +100%FREE --resizefs /dev/ubuntu-vg/root

    
por Timo Riikonen 29.09.2015 / 12:09
0

Aviso sobre a resposta mais votada no momento : Para NÃO destruir sua nova instalação padrão com a opção LVM (14.04 Trusty Tahr), 1) leia a página inteira, 2) delete swap 3) e provavelmente modifique o comando para "Reduzir o tamanho do volume lógico "assim:

lvreduce -L -1g /dev/vg_blah/lv_blah

Recomendo vivamente system-config-lvm .

    
por user293759 13.04.2017 / 14:25
0

Além dos @ bigbadonk420 's answer , Em vez de fazer o seguinte:

resize2fs -p /dev/vg_blah/lv_blah 9G
lvreduce -L -1G /dev/vg_blah/lv_blah

Faça:

lvreduce -r -L 9G /dev/vg_blah/lv_blah

Observe o -r , que reduz o sistema de arquivos simultaneamente e é seguro.

    
por eyeinsky 02.05.2015 / 17:13
0

Para fazer isso usando o GParted, clique com o botão direito em dev / sda2 (que você deseja encolher). Selecione 'Desativar'. Agora você poderá redimensionar sua partição lvm.

Atualização: a solução @Cao Min Tu é muito melhor. Eu tive alguns problemas com o GParted depois de redimensionar

    
por Junaid 30.10.2016 / 12:17