Como reduzir os volumes lógicos e físicos do Ubuntu LVM?

26

Instalei o Ubuntu 12.10 como o único sistema operacional no meu sistema.

Eu disse ao Ubuntu para sobrescrever tudo como estava com pressa, portanto, só tenho as duas partições que o Ubuntu cria, a partição de inicialização de algumas centenas de MB e depois todo o resto.

A partição principal tem cerca de 600 GB,

Desejo redimensionar isso para 450 GB, para que eu possa instalar o Windows 8 como uma inicialização dupla.

O problema é que eu não consigo descobrir como reduzir a partição, normalmente é bom a partir da iso ao vivo do Gparted (gparted-live-0.14.1-6-i486.iso), basta redimensionar e você está pronto.

Mas desta vez o Ubuntu foi instalado com o LVM.

Portanto, a partição Ubuntu tem um ícone de cadeado ao lado. Isso me impede de fazer qualquer coisa, posso selecionar a partição e existe uma opção para "desativar" que, se estiver correta, acredito que esteja desativando a troca? Se fizer isso, posso manipular a partição.

Estou perguntando aqui se isso é a coisa correta a ser feita antes de eu interromper meu sistema.

  1. Inicialize a partir do iso ao vivo do gparted.
  2. Selecione a partição Ubuntu.
  3. "Desativar" a partição.
  4. Redimensione a partição.
  5. "Ativar" a partição.
  6. Aplique.
  7. Lucro???

Meu pensamento está correto?

Editar # 1

Então, depois de um bate-papo prolongado, desci a este comando

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

O que reduziu com êxito a partição lógica.

Gparted New Shot

Mas agora eu tenho a parte mais difícil.

Agora, preciso diminuir a partição física para que eu possa criar uma nova partição física com espaço para instalar o Windows 8.

Então eu pensei que poderia correr

pvresize --setphysicalvolumesize {any size here} /dev/sda5

Mas eu volto:

/ dev / sda5: não é possível redimensionar para extensões xxxxx, pois as posteriores são alocadas.

Que eu acredito que é devido à troca devido a esta imagem:

Darn Swap!, então qual é o meu próximo passo?

$: lvdisplay
  --- Logical volume ---
  LV Path                /dev/ubuntu/root
  LV Name                root
  VG Name                ubuntu
  LV UUID                G7Z3dA-xska-8QpO-Y5oD-aIVO-D8l1-22s6dO
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-01-29 22:06:02 +1300
  LV Status              available
  # open                 1
  LV Size                540.42 GiB
  Current LE             138348
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/ubuntu/swap_1
  LV Name                swap_1
  VG Name                ubuntu
  LV UUID                14qpRy-H5jl-dTAq-CVle-k7Bz-95Rm-Y46zOs
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-01-29 22:06:04 +1300
  LV Status              available
  # open                 2
  LV Size                7.97 GiB
  Current LE             2041
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

Informações adicionais antes da edição nº 1

Captura de tela do Gparted
Observe que a foto acima foi tirada da versão Gparted nos repositórios do Ubuntu, não da versão mais recente

matthew @ play: ~ $ sudo fdisk -l

Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 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: 0x000c5bec

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      499711      248832   83  Linux
/dev/sda2          501758  1465147391   732322817    5  Extended
/dev/sda5          501760  1465147391   732322816   8e  Linux LVM

Disk /dev/mapper/ubuntu-root: 741.3 GB, 741334843392 bytes
255 heads, 63 sectors/track, 90128 cylinders, total 1447919616 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/ubuntu-root doesn't contain a valid partition table

Disk /dev/mapper/ubuntu-swap_1: 8560 MB, 8560574464 bytes
255 heads, 63 sectors/track, 1040 cylinders, total 16719872 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/ubuntu-swap_1 doesn't contain a valid partition table

matthew @ play: ~ $ sudo lvs

  LV     VG     Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert
  root   ubuntu -wi-ao-- 690.42g                                           
  swap_1 ubuntu -wi-ao--   7.97g  

matthew @ play: ~ $ sudo vgs

  VG     #PV #LV #SN Attr   VSize   VFree
  ubuntu   1   2   0 wz--n- 698.39g    0 

matthew @ play: ~ $ sudo pvs

  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda5  ubuntu lvm2 a--  698.39g    0 
Hailwood
fonte
Certifique-se de executar uma versão recente do GPart (apenas o suporte ao LVM foi adquirido recentemente - você é apenas uma observação para outros leitores). E desativar é, penso eu, desativar o grupo de volumes ( vgchange -an myvgname) que pode ser necessário se você quiser alterar o volume físico. :) Oh, é quase uma resposta.
precisa saber é o seguinte
Mais detalhes fornecidos.
Hailwood
@gertvdijk Entre em contato comigo se precisar de informações rápidas.
Hailwood
Isso foi resolvido? Estou procurando reduzir a partição física para instalar outra versão do SO lado a lado.
Jamess

Respostas:

17

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

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

sudo pvresize --setphysicalvolumesize {any size here} /dev/sda5

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

Você precisa reorganizar o espaço não alocado no final do LVM. Isso significa que após a raiz e a partição swap_1. Então, você precisa mover esse espaço livre usando o comando abaixo

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx nnn 0 free                          
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy zzz swap 0 linear /dev/sda5:yyy-zzz

Agora use o comando abaixo para remover a fragmentação externa -

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

Agora vamos ver como vai -

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx nnn swap 0 linear /dev/sda5:xxx-yyy(-1)
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy zzz 0 free

Depois disso, use o gparted e redimensione o LVM para a área máxima utilizada e o descanso ficará em um espaço não alocado. Apreciar...

UJJAL
fonte
7

Agora, agora que você tem o LV raiz menor, lvremoveo LV de troca e o recria. Isso deve forçá-lo a ser anexado diretamente ao LV raiz em termos de posição. Feito isso, você deve conseguir pvresizeo volume físico. Depois, é a parte mais assustadora da edição da tabela de partição ( fdisk) reduzir o tamanho da partição para o novo tamanho do PV, liberando espaço para o instalador do Windows usar.

Para o downsizing da partição, eu recomendo aumentar um pouco, por alguns MB, que o PV informa seu tamanho e aumentar o tamanho do PV e do LV raiz para preencher as extensões livres. Dessa forma, você pode ter certeza de que está A) usando todo o tamanho da partição para LVM e não perdendo espaço, tornando-a inacessível, e B) não cortando dados vitais do PV interpretando mal o KiB / MiB / GiB binário para KB decimal / MB / GB ou vice-versa durante a operação do fdisk.

O novo swap, se você criar um novo para garantir que ele seja anexado ao LV raiz, como sugiro acima, terá um UUID diferente e, portanto, seu / etc / fstab não corresponderá. Quando o redimensionamento estiver completo, você precisará mount /dev/ubuntu/root /mnteditar / mnt ** / etc / fstab **.

No arquivo fstab, você precisa encontrar a entrada de troca semelhante à abaixo e atualizar o hexidecimal após UUID = com o valor relatado por blkid.

Os passos para o blkidmeu sistema são os seguintes:

  1. corre

    blkid /dev/ubuntu/swap_1
    

    quais saídas

    /dev/ubuntu/swap_1: UUID="9e99b37a-38af-4987-85eb-92048abd9825" TYPE="swap"
    
  2. copie o valor UUID

    9e99b37a-38af-4987-85eb-92048abd9825

  3. edite o arquivo / etc / fstab a partir do seu LV raiz e insira o valor UUID no lugar do antigo UUID.

    encontrar

    UUID=**old-uuid** none swap sw 0 0
    

    substitua seu novo UUID no lugar do uuid antigo

    UUID=9e99b37a-38af-4987-85eb-92048abd9825 none swap sw 0 0
    

    Como alternativa, você pode substituir o mecanismo UUID e usar /dev/ubuntu/swap_1, por exemplo,

    /dev/ubuntu/swap_1 none swap sw 0 0
    
Daniel Llewellyn
fonte
Este procedimento, juntamente com as edições em questão, me ajudou a redimensionar a partição. Não consegui encontrar o comando lvdelete (12.04) e usei o lvremove para remover a partição swap. O pvresize funcionou como um encanto. Então usei o gparted live CD para redimensionar a partição para um tamanho menor. concluiu a operação e o tamanho não alocado foi criado. Eu sugiro que o solicitante crie uma resposta completa.
Jamess
Incidentalmente não estava usando UUID (eu mudei, não me lembro), o systyem nunca usou o UUID para troca. Para que eu pule as etapas de edição do UUID.
Jamess
Como recriar uma troca lv 1. lvcreate -L 5G -n / dev / vg0 / swap_1 2. mkswap / dev / vg0 / swap_1, swapon -s / dev / vg0 / swap_1, valide as entradas / etc / fstab e, se mudança necessária UUID.
Jamess
Obrigado pela menção de lvdeleteestar incorreto na minha resposta. Agora corrigi o texto para citar o lvremovenome próprio .
Daniel Llewellyn
6

Use o KVPM no Software Center. Eu instalei o Ubuntu 14.10 LTS usando o disco inteiro, um LVM enorme (eu sei qual é o sentido de um LVM enorme), mas queria adicionar outros dois LVMs para outro sistema operacional e uma unidade de dados. Eu usei o KVPM, ele diz o gerenciador de partições do KDE na descrição, mas funciona muito bem no 14.04. Aqui estão os passos.

  1. Faça o download do 14.04LTS e faça um USB inicializável.
  2. Inicialize a partir do USB, usando a opção TRY UBUNTU para rodar no pendrive.
  3. Instale o KVPM a partir do Software Center.
  4. Execute o KVPM no terminal de sua escolha,

    sudo kvpm- se você acabou de executar kvpm, o CD ao vivo apresentará um erro e travará.

  5. Uma vez que o kvpm tenha aberto a GUI, vá para a aba chamada some_drive-vg

  6. Destaque o volume a ser redimensionado e clique com o botão direito do mouse para obter opções, escolha reduzir volume.
  7. Você pode rotular novamente o LVM ao mesmo tempo em que insere o novo tamanho.
  8. Siga as instruções para OK a alteração e pronto, você terá espaço livre não alocado.
  9. Você pode criar quantos LVMs novos precisar com o espaço disponível. Minha tela mostrou um espaço verde não alocado, apenas clique com o botão direito do mouse no espaço verde, a única opção será "Criar novo volume lógico".

Levei mais tempo para escrever isso do que para executar todo o processo.

A propósito, a partição / root redimensionada funciona perfeitamente após todas as alterações. Basta reiniciar o disco rígido no sistema operacional escolhido e aproveitar os novos volumes encontrados.

RCF
fonte
0

O KVPM é o caminho a seguir, sem necessidade de reinicialização.

  1. Clique com o botão direito do mouse em Desmontar partição
  2. reduzir tamanho
  3. clique com o botão direito do mouse em outra partição e estenda o tamanho
  4. remontar partição original

FEITO!

Cparello
fonte