Estenda uma partição criptografada LUKS para preencher o disco


20

Recentemente, atualizei meu disco de um SSD de 128 GB para um SSD de 512 GB. A partição / é criptografada com LUKS. Estou procurando ajuda para estender a partição para usar todo o espaço livre no novo disco. Eu já coloquei a unidade antiga na nova:

[root@localhost ~]# fdisk -l /dev/sda
Disk /dev/sda: 477 GiB, 512110190592 bytes, 1000215216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00009f33

Device     Boot   Start       End   Sectors   Size Id Type
/dev/sda1  *       2048   1026047   1024000   500M 83 Linux
/dev/sda2       1026048 250064895 249038848 118.8G 83 Linux

Há cerca de 380 GB de espaço não utilizado após o sda2.

Informações mais relevantes:

[root@localhost ~]# vgs
  VG             #PV #LV #SN Attr   VSize   VFree
  fedora_chocbar   1   3   0 wz--n- 118.75g 4.00m

[root@localhost ~]# lvs
  LV   VG             Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home fedora_chocbar -wi-a----- 85.55g                                                    
  root fedora_chocbar -wi-a----- 29.30g                                                    
  swap fedora_chocbar -wi-a-----  3.89g

[root@localhost ~]# pvs
  PV                    VG             Fmt  Attr PSize   PFree
  /dev/mapper/encrypted fedora_chocbar lvm2 a--  118.75g 4.00m

Parece haver muitas informações sobre como fazer isso, mas muito pouca explicação. Agradeço qualquer ajuda nisso.

Respostas:


34

ESTÁ BEM! A resposta definitiva finalmente. Minhas etapas para expandir um volume criptografado LUKS ...

  1. cryptsetup luksOpen /dev/sda2 crypt-volume para abrir o volume criptografado.
  2. parted /dev/sdapara estender a partição. resizepart NUMBER END.
  3. vgchange -a n fedora_chocbar. Pare de usar o VG para poder executar o próximo passo.
  4. cryptsetup luksClose crypt-volume. Feche o volume criptografado para as próximas etapas.
  5. cryptsetup luksOpen /dev/sda2 crypt-volume. Abra novamente.
  6. cryptsetup resize crypt-volume. Redimensionará automaticamente o volume LUKS para o espaço disponível.
  7. vgchange -a y fedora_chocbar. Ative o VG.
  8. pvresize /dev/mapper/crypt-volume. Redimensione o PV.
  9. lvresize -l+100%FREE /dev/fedora_chocbar/home. Redimensione o LV para / home para 100% do espaço livre.
  10. e2fsck -f /dev/mapper/fedora_chocbar-home. Jogue um pouco de magia fsck no fs redimensionado.
  11. resize2fs /dev/mapper/fedora_chocbar-home. Redimensione o sistema de arquivos em / home (usa automaticamente 100% de espaço livre)

Espero que alguém ache isso útil. Agora tenho mais de 300 GB para minhas VMs de teste no meu laptop!


1
Obrigado, isso foi muito útil, deve ser a resposta aceita!
precisa saber é o seguinte

1
O acima também funcionou muito bem para mim. Eu tive um passo lá, vamos chamá-lo de passo 7.5, onde eu tive que desbloquear meu volume físico: sudo pvchange -x y /dev/mapper/crypt-volume(via ubuntu docs help.ubuntu.com/community/ResizeEncryptedPartitions )
four43

1

Como essa parece não ser uma pergunta específica do LVM, quero mencionar que eu mudei e estendi com êxito uma das minhas partições LUKS 100GiB para a frente (!) Com GParted no Fedora 28. No entanto, não poderia ser feito no Ubuntu 18.04 e todas as outras soluções pareciam como um aborrecimento de pesquisar ou fazer backup e restaurar (fiz um backup de qualquer maneira). O contêiner LUKS é automaticamente estendido - o IIRC GParted informa sobre isso - a única coisa que resta é estender o sistema de arquivos, então eu tive que fazer fsck.ext4 -fe resize2fsno meu caso.

Um grande obrigado aos desenvolvedores do GParted.


O gparted pode até montar a partição criptografada (clique com o botão direito do mouse) - funcionou para mim também. outro artigo útil: medium.com/@tbeach/…
Michael Pollmeier

1

Para aqueles que chegam à resposta para descobrir como redimensionar uma partição LUKS para o tamanho do contêiner redimensionado, os comandos são os seguintes:

  • com volume de criptografia aberto mapeado para crypt-volume, execute

    sudo cryptsetup resize /dev/mapper/crypt-volume
    
  • redimensione o sistema de arquivos. Se for Ext4, você pode redimensionar um sistema de arquivos montado

    sudo resize2fs /dev/mapper/crypt-volume
    

Eu executei os dois comandos com um sistema de arquivos montado sem interrupção, isso foi possível porque o volume criptografado era um volume LVM.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.