Есть хард с lvm. Возможно ли зашифровать его полностью, без создания всех разделов заново? Или хотя бы по частям, не копируя все данные на другой диск?
потестировал скрипт, вот так лучше
1) размонтируем все разделы на подопытном диске (пусть будет /dev/sdb)
2) сохраняем следущий скрипт в /tmp/crypting
#!/bin/bash
buffersize=1024
declare -i n=0
printed=0
if [ -z "$1" ]; then
echo Usage: $0 disk
echo where /dev/disk is a block special device
exit 1
fi
disk=$(basename $1)
if [ ! -b /dev/$disk ]; then
echo $disk is not a block device
exit 1
fi
size=$(expr $(cat /sys/block/$disk/size) "/" $buffersize)
if [ -a /dev/mapper/crypteddisk ]; then
echo /dev/mapper/crypteddisk already exists
exit 1
fi
cryptsetup --verify-passphrase --verbose --hash=sha256 --cipher=aes-cbc-essiv:sha256 --key-size=256 create crypteddisk /dev/$disk
while [ $n -le $size ]; do
dd if=/dev/$disk of=/dev/shm/buffer count=$buffersize skip=$(expr $n "*" $buffersize) 2>/dev/null
dd if=/dev/shm/buffer of=/dev/mapper/crypteddisk count=$buffersize seek=$(expr $n "*" $buffersize) 2>/dev/null
echo -n .
new=$(expr $n "*" 10 "/" $size); if [ $printed != $new ]; then echo -n $(expr $new "*" 10)"%"; fi; printed=$new
n=n+1
done
echo
sync
cryptsetup remove crypteddisk
rm /dev/shm/buffer
3) запускаем и ждём, возможно пару часов если диск большой
bash /tmp/crypting sdb
4) в /etc/crypttab добавляем строчку
crypteddisk /dev/sdb none hash=sha256,cipher=aes-cbc-essiv:sha256,loud
> Ведь использовать crypto loop с lvm на нескольких физических разделах смысла нет
cryptoloop и dm-crypt -- это разные вещи. Но даже авторы cryptoloop советуют использовать dm-crypt (cryptsetup в моём скрипте -- это просто обёртка для dm-crypt). А вообще lvm2 по-барабану на скольки физических дисках расположены части логического volum'а, и с добавлением шифрования как я описал тебе даже настройки не прийдётся особо менять -- просто везде где у тебя в конфигах прописан /dev/sdb замени его на /dev/mapper/crypteddisk