Proxmox с шифрованием дисков

  • Выполняется стандартная установка 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

  • Перезагрузить систему. После перезагрузки необходимо будет ввести парольную фразу для расшифровки дисков

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *