- Выполняется стандартная установка Proxmox 8. Установка с файловой системой ZFS на программный RAID-1.
- После установки зайти в консоль и установить пакеты по шифрованию:
apt install cryptsetup cryptsetup-initramfs
- Просмотреть список дисков в пуле:
zpool status rpool
- Отсоединить от пула первый диск
zpool detach rpool имя_диска1
- Зашифровать диск с помощью парольной фразы с использованием LUKS. Парольную фразу запомнить!
cryptsetup luksFormat /dev/disk/byid/имя_диска1
Здесь можно использовать параметры шифрования по умолчанию, а можно поиграться с параметрами для более сложного шифрования (см. документацию cryptsetup luksFormat)
- Открыть зашифрованный диск и присваиваем ему имя с помощью команды:
cryptsetup luksOpen /dev/disk/byid/имя_диска1 cryptroot1
где cryptroot1 – это имя расшифрованного диска, может быть любым
Для расшифровки потребуется парольная фраза.
- Подключить диск к пулу
zpool attach rpool имя_диска2 cryptroot1
- Дождаться окончания переноса данных
watch zpool status rpool
- Отсоединить от пула второй диск
zpool detach rpool имя_диска2
- Вместо создания нового заголовка LUKS для второго диска мы можем просто клонировать его с первого диска и изменить UUID
dd if=/dev/disk/byid/имя_диска1 of=/dev/disk/byid/имя_диска2 bs=2M count=1
UUID=$(cat /proc/sys/kernel/random/uuid)
cryptsetup luksUUID —uuid $UUID /dev/disk/byid/имя_диска2
- Открываем зашифрованный диск и присваиваем ему имя:
cryptsetup luksOpen /dev/disk/byid/имя_диска2 cryptroot2
где cryptroot2 – это имя расшифрованного диска, может быть любым
Для расшифровки потребуется парольная фраза.
- Подключаем диск к пулу
zpool attach rpool cryptroot1 cryptroot2
- Дождаться окончания переноса данных
watch zpool status rpool
- Получить UUID зашифрованных дисков
blkid | grep crypto
- Добавить подключение дисков в /etc/cryptta
cat << ‘EOF’ > /etc/crypttab
cryptroot1 UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX cryptroot luks,in itramfs,keyscript=decrypt_keyctl
cryptroot2 UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX cryptroot luks,in itramfs,keyscript=decrypt_keyctl
EOF
где XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX – это UUID соответствующих дисков
- Обновить initramfs, что бы изменения применились:
update-initramfs -u
- Во время обновления могут выводится сообщения, которые можно игнорировать:
cryptsetup: ERROR: Couldn’t resolve device rpool/ROOT/pve-1
cryptsetup: WARNING: Couldn’t determine root device
- Перезагрузить систему. После перезагрузки необходимо будет ввести парольную фразу для расшифровки дисков