O LUKS não armazena o tamanho do dispositivo - simplesmente descobre quando o volume é aberto. Por isso, só entra em jogo se o volume não for fechado e reaberto durante o processo (por exemplo, fazendo um crescimento online). Nesse caso, o tamanho do volume aberto precisa ser redescoberto.
Para reduzir seu volume, use o seguinte processo:
- Desmonte o sistema de arquivos com
umount
- Redimensione o sistema de arquivos com
resize2fs
- Feche o volume do LUKS com
cryptsetup luksClose
- Redimensione o LV com
lvreduce
oulvresize
- Abra o volume do LUKS com
cryptsetup luksOpen
- Monte o sistema de arquivos com
mount
Você também pode omitir as etapas luksClose
e luksOpen
e usar cryptsetup resize
após redimensionar o LV. Lembre-se também que o LUKS usa algum espaço extra para armazenar metadados, então o LV precisa ser um pouco maior que o sistema de arquivos. Eu costumo redimensionar o sistema de arquivos significativamente menor, e depois cresço novamente depois de redimensionar o LV.
Se você estivesse desenvolvendo o sistema de arquivos e quisesse fazê-lo on-line, usaria o seguinte processo:
- Redimensione o LV com
lvextend
oulvresize
- Atualize o tamanho do volume aberto do LUKS com
cryptsetup resize
- Cresça o sistema de arquivos com
resize2fs