Isso é possível. Requer
- outro Linux para inicializar (CD / DVD está OK)
- algum espaço extra fora do PV (100M seria bom)
- uma certa dose de destemor ...
Em seguida, você copia um bloco do volume criptografado para a área fora do PV e (após o sucesso) para o dispositivo de base não criptografado. Depois disso, você aumenta um contador na área segura para poder continuar a transformação em caso de falha. Dependendo do tipo de criptografia, pode ser necessário (ou pelo menos útil) copiar do final do dispositivo de bloco para o início.
Se esta é uma opção para você, posso oferecer algum código.
Editar 1
Desative a partição swap (comente em etc/fstab
). Em seguida, inicialize outro Linux (de CD / DVD) e abra o volume LUKS ( cryptsetup luksOpen /dev/sda2 lukspv
), mas não monte os LVs. Talvez você precise executar pvscan
para que o dispositivo descriptografado seja reconhecido. Então vgchange -ay vg_centos
pode ser necessário para ativar os volumes. Assim que eles estiverem, você poderá reduzir os sistemas de arquivos neles:
e2fsck -f /dev/mapper/vg_centos-lv_root
resize2fs -p /dev/mapper/vg_centos-lv_root 3000M
e2fsck -f /dev/mapper/vg_centos-lv_home
resize2fs -p /dev/mapper/vg_centos-lv_home 2000M
Depois disso, você pode reduzir o tamanho dos LVs (e excluir o swap LV):
# with some panic reserve... shouldn't be necessary
lvresize --size 3100M /dev/mapper/vg_centos-lv_root
lvresize --size 2100M /dev/mapper/vg_centos-lv_home
lvremove /dev/mapper/vg_centos-lv_swap
# vgdisplay should show now that most of the VG is free space
vgdisplay
Agora o PV pode ser reduzido (emocionante, eu nunca fiz isso sozinho ;-)):
vgchange -an vg_centos
pvresize --setphysicalvolumesize 5500M /dev/mapper/lukspv
Editar: Talvez pvmove
seja necessário antes que pvresize
possa ser chamado. Em caso de erro, consulte esta questão .
Antes de reduzir o tamanho da partição, faça um backup da tabela de partições e armazene-a no armazenamento externo .
sfdisk -d /dev/sda >sfdisk_dump_sda.txt
Você pode usar este arquivo para reduzir o tamanho da partição LUKS. Adapte o tamanho (em setores) a cerca de 6 GiB (reserva de pânico novamente ...): 12582912. Em seguida, carregue o arquivo adaptado:
sfdisk /dev/sda <sfdisk_dump_sda.mod.txt
Se tudo parecer bem após a reinicialização, você pode criar uma nova partição no espaço livre (na melhor das hipóteses, não consumindo todo o espaço, você provavelmente sabe por que ...) e torná-la uma partição LVM. Em seguida, torne a partição um PV do LVM ( pvcreate
), crie um novo grupo de volumes ( vgcreate
) e volumes lógicos para raiz, home e swap ( lvcreate
) e formate-os ( mke2fs -t ext4
, mkswap
). Então você pode copiar o conteúdo dos volumes de criptografia abertos. Finalmente você tem que reconfigurar seu gerenciador de partida para que ele use o novo rootfs.
A cópia em bloco que mencionei no começo não é necessária devido à grande quantidade de espaço livre.