
Cometi um erro ao criptografar todo o volume físico do LVM (contém home, root e swap) ao instalar uma caixa CentOS 6.4 (2.6.32-358.6.1.el6.x86_64). Logo percebi que mover arquivos leva muito tempo devido à kcryptd
execução de 90% da CPU e que a criptografia não era realmente necessária, pois é apenas um servidor doméstico que não contém dados cruciais. Porém, já configurei e instalei vários pacotes, ajustei no que diz respeito ao gerenciamento de energia e configurei todos os serviços.
Existe alguma maneira de remover a criptografia sem ter que reinstalar tudo e passar pela configuração novamente? Eu adoraria uma opção que levasse menos de 30 minutos, mas não tenho certeza se existe alguma.
Além disso, se alguém tiver alguma recomendação sobre como facilitar kcryptd
o uso, me avise.
Editar 1
~]# fdisk -l /dev/sda
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000078c9
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 19458 155777024 83 Linux
~]# dmsetup ls
vg_centos-lv_home (253:3)
vg_centos-lv_swap (253:2)
vg_centos-lv_root (253:1)
luks-2ffcc00c-6d6e-401c-a32c-9c82995ad372 (253:0)
~]# pvdisplay
--- Physical volume ---
PV Name /dev/mapper/luks-2ffcc00c-6d6e-401c-a32c-9c82995ad372
VG Name vg_centos
PV Size 148.56 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 38030
Free PE 0
Allocated PE 38030
PV UUID euUB66-TP3M-ffKp-WhF5-vKI5-obqK-0qKoyZ
Editar 2
~]# df -h / /home /boot
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_centos-lv_root
50G 2.3G 45G 5% /
/dev/mapper/vg_centos-lv_home
94G 1.3G 88G 2% /home
/dev/sda1 485M 53M 408M 12% /boot
Responder1
Isso é possível. Isso requer
- outro Linux para inicializar (CD/DVD está OK)
- algum espaço livre 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 sucesso) para o dispositivo base não criptografado. Depois disso você aumenta um contador na área segura para poder continuar a transformação em caso de acidente. 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 for 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 (a partir de CD/DVD) e abra o volume LUKS ( cryptsetup luksOpen /dev/sda2 lukspv
), mas não monte os LVs. Talvez você precise executar pvscan
depois para que o dispositivo descriptografado seja reconhecido. Então vgchange -ay vg_centos
pode ser necessário ativar os volumes. Assim que 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 LV de swap):
# 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, nunca fiz isso ;-)):
vgchange -an vg_centos
pvresize --setphysicalvolumesize 5500M /dev/mapper/lukspv
Editar:Talvez pvmove
seja necessário antespvresize
possa ser chamado. Em caso de erro consulteessa questão.
Antes de reduzir o tamanho da partição você deve fazer um backup da tabela de partiçõese armazene-o em 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) para 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, sem consumir todo o espaço, você provavelmente sabe por quê...) e torná-la uma partição LVM. Em seguida, torne a partição um LVM PV ( pvcreate
), crie um novo grupo de volumes ( vgcreate
) e volumes lógicos para root, home e swap ( lvcreate
) e formate-os ( mke2fs -t ext4
, mkswap
). Então você pode copiar o conteúdo dos volumes criptográficos abertos. Finalmente você tem que reconfigurar seu gerenciador de boot para que ele use o novo rootfs.
A cópia em bloco que mencionei no início não é necessária devido à grande quantidade de espaço livre.