Proxmox и шифрование

1. cryptsetup
apt-get install cryptsetup

2. Предположим, что данные будут храниться на дополнительном raid-е\диске /dev/sdb
# шифруем /dev/sdb
# алгоритм - AES (особенно приятно, когда в процессоре есть поддержка инструкций AES-NI, увеличивающей скорость на порядок-два)
# XTS - (оно быстрее чем CBC, да и позволяет шифровать >2TB)
cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 /dev/sdb
# подключаем диск
cryptsetup luksOpen /dev/sdb sdb
# размечаем как ext4
mkfs.ext4 /dev/mapper/sdb
# монтируем
mkdir /var/lib/vz_crypt
mount -t ext4 /dev/mapper/sdb /var/lib/vz_crypt

3. В proxmox-е подключаем /var/lib/vz_crypt как новое локальное хранилище.
Датацентр -> Хранилище -> Добавить -> Directory


4. Для подключения шифрованного диска после перезагрузки лучше использовать скрипт и полуручной режим.
Создаем файл /root/mount.crypt со следующеим содержанием:
#!/bin/sh
cryptsetup luksOpen /dev/sdb sdb
mount -t ext4 /dev/mapper/sdb /var/lib/vz_crypt

Пара фич.

Отключение шифрованного диска
cryptsetup luksClose sdb

Добавляем в автозагрузку :
echo "sdb /dev/pve/sdb none luks" >> /etc/crypttab
sed -i -e 's,/dev/pve/sdb,/dev/mapper/sdb,g' /etc/fstab
НО! Внимание! Debian с proxmox-ом не загрузятся пока в консоль не будет забит пароль! (поэтому способ с ручным скриптом из п.4 лучше)

Также имеет огромный смысл отключить swap, т.к. туда могут попасть данные из зашифрованных гостей! А нам это надо?
swapoff -a
shred -v /dev/pve/swap
А еще лучше перенести его на шифрованный раздел в виде файла.