Como recuperar minha partição LUKS após essa operação de redimensionamento com falha?

1

TL; DR: Eu estraguei uma operação de redimensionamento da partição LUKS e preciso de ajuda para restaurá-la. Abaixo está toda a informação relevante que eu poderia pensar. Se você acha que qualquer outra informação pode ser relevante ou se alguma coisa não está clara, me avise.

Continuação da minha outra pergunta (auto-fechada)

O problema

Não é possível montar minha partição criptografada LUKS devido a (pelo menos) que seu 'tamanho físico é diferente de' tamanho do sistema de arquivos, após uma tentativa fracassada de encolher a partição de acordo com este guia

A solução

Eu acho que a solução (pelo menos parcial) é garantir que o sistema de arquivos e os tamanhos de LV sejam iguais e que o tamanho do PV seja maior que ambos.

Presunção de perda de dados

Por favor corrija-me se estiver errado. Entre 0 e ~ 62.14GB de dados foram perdidos, devido ao LVM ser ~ 62.14GB menor que o sistema de arquivos. Se eu tiver muita sorte, nenhum dos blocos de distância reduzida continha dados, se eu tiver muito azar do que todos eles.

A pergunta e as sub-questões

Alguém poderia me ajudar a entender a maneira correta e segura de recuperar o acesso ao conteúdo da minha partição criptografada pelo LUKS? Eu não quero entender o que estou fazendo e ter certeza de que não vou atrapalhar mais nada antes de fazer qualquer outra coisa.

Primeiro de tudo, não tenho certeza se posso usar as etapas do guia com o meu ponto de partida atual, já que ele provavelmente espera uma partição LUKS funcional para começar. Estes são tamanhos de dispositivos diferentes.

PV Size     900.00 GiB / not usable 3.00 MiB # pvdisplay
LV Size     842.62 GiB # lvdisplay
Filesystem  904.75331584 GB # disks

Filesystem  241858560 blocks # e2fsck
Physical    220887040 blocks # e2fsck 

aqui ele diz que o sistema de arquivos e o volume lógico devem ter o mesmo tamanho, e o senso comum me diz o volume físico deve ser de tamanho maior ou igual. Aqui nenhum destes é o caso, então eu preciso diminuir o sistema de arquivos para LV igual (842.62GB) ou aumentar o LV para 904.75331584 GB e aumentar o PV para algum lugar acima disso.

  • Ainda discos está reivindicando o LUKS é 999GB. Por quê?
  • É melhor apenas diminuir o sistema de arquivos ou aumentar o PV e o LV?
  • Se o último, a ordem importa?
  • Como os discos / pvdisplay e e2fsck discordam sobre o tamanho do PV e do sistema de arquivos? (241858560/220887040! = 904.75331584 / 900.00)

Status quo (capturas de tela e saídas de vários comandos)

Saídas de comando

ubuntu@ubuntu:~$ sudo e2fsck -f /dev/mapper/ubuntu--vg-root
e2fsck 1.43.5 (04-Aug-2017)
The filesystem size (according to the superblock) is 241858560 blocks
The physical size of the device is 220887040 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort<y>? yes

ubuntu@ubuntu:~$ sudo mount /dev/ubuntu-vg/root /mnt 
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/mapper/ubuntu--vg-root, missing codepage or helper program, or other error.

ubuntu@ubuntu:~$ sudo pvdisplay 
  --- Physical volume ---
  PV Name               /dev/mapper/crypt1
  VG Name               ubuntu-vg
  PV Size               900.00 GiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              230399
  Free PE               14561
  Allocated PE          215838
  PV UUID               K3BIz8-FXNn-FYTU-jap6-Ri5X-Ilfq-ZLrwjk

ubuntu@ubuntu:~$ sudo lvdisplay 
  --- Logical volume ---
  LV Path                /dev/ubuntu-vg/root
  LV Name                root
  VG Name                ubuntu-vg
  LV UUID                HxqT5o-zJUq-RVBA-D8v2-YqpS-D685-FkvAbx
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2017-11-15 17:38:16 +0000
  LV Status              available
  # open                 0
  LV Size                842.62 GiB
  Current LE             215710
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/ubuntu-vg/swap_1
  LV Name                swap_1
  VG Name                ubuntu-vg
  LV UUID                ybnQLA-5CKp-W2JS-62At-94kE-i8iT-jkrqx1
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2017-12-29 20:44:49 +0000
  LV Status              available
  # open                 0
  LV Size                512.00 MiB
  Current LE             128
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

ubuntu@ubuntu:~$ sudo resize2fs -p /dev/mapper/ubuntu--vg-root
resize2fs 1.43.5 (04-Aug-2017)
Please run 'e2fsck -f /dev/mapper/ubuntu--vg-root' first.

Screenshots

Disco rígido antes de desbloquear a cripta

Disco rígido após desbloquear a cripta

Partição raiz após o desbloqueio do choro

Troque a partição depois de desbloquear a cripta

O que eu fiz / causa do problema

Eu estava seguindo o guia, mas não salvei o log do bash. Revendo o guia, estes são provavelmente os comandos que eu corri.

# install requirements
sudo apt-get update && sudo apt-get install lvm2 cryptsetup

# unlock encrypted partition 
sudo modprobe dm-crypt
sudo cryptsetup luksOpen /dev/sda3 crypt1
sudo vgscan --mknodes
sudo vgchange -ay

# check that all is ok
sudo e2fsck -f /dev/mapper/ubuntu--vg-root # no problem
# no problem!

# resize file system
sudo resize2fs -p /dev/mapper/ubuntu--vg-root <900-ish>g

# check that everything is still ok 
sudo e2fsck -f /dev/mapper/ubuntu--vg-root 
# no problem!

# display LVMs 
sudo lvdisplay 

# 'Note how much you need to reduce your root (LVM) Logical Volume by'
# I stupidly didn't understand what I should take note of, and hoped it wouldn't matter

# shrink the LVM
# guide says 'ubuntu--vg' in the guide, but only 'ubuntu-vg' existed for me
sudo lvreduce -L -80G /dev/ubuntu-vg/root 

# show size of physical volume
sudo pvdisplay 

# delete the swap partition (may have run with sudo, not sure)
lvremove /dev/ubuntu-vg/swap_1

# change physical size
sudo pvresize --setphysicalvolumesize <900-ish>G /dev/mapper/crypt1

# set permissions of LVM
sudo pvchange -x y /dev/mapper/crypt1

# create new swap partition (either 'ubuntu--vg' or 'ubuntu-vg', not sure)
sudo lvcreate -L 512m -n swap_1 ubuntu--vg
sudo mkswap -L swap_1 /dev/ubuntu-vg/swap_1

# mount the LVM
sudo mount /dev/ubuntu-vg/root /mnt 
# fail!
    
por user776738 30.12.2017 / 19:22

0 respostas