Назад | Перейти на главную страницу

Могу ли я зашифровать весь пул с помощью ZFSoL 0.8.1?

Я скомпилировал ZFS 0.8.1 для своего сервера, и он работает нормально. Я также могу создавать зашифрованные файловые системы, такие как mypool / myencfs.

Однако mypool также является файловой системой, и мне кажется, что я не могу включить в ней шифрование:

zfs set encryption=on mypool
cannot set property for 'mypool': 'encryption' is readonly

Пул должен быть расшифрован с помощью ключевого файла с другого зашифрованного диска, поэтому я хотел бы поставить наследуемые свойства как можно выше, а также не рисковать незашифрованными данными, когда я случайно копирую что-то в mypool /

Хотя я не нашел ничего по этому поводу непосредственно в сети (кажется, что все создают только зашифрованные подсистемы), у меня возникла идея узнать, как установить какие-либо свойства во время создания пула. Это -O (верхний регистр) вариант.

Это работает

zpool create -o ashift=12 -o feature@encryption=enabled \
             -O encryption=on -O keylocation=file:///root/keys/hdd256.key \
             -O keyformat=raw \
             mypool /dev/disk/by-id/mydisk

Для полноты картины, поскольку в сети, похоже, еще немного по этому поводу, вот как я настроил systemd для автоматического монтирования диска:

/etc/systemd/system/zfs-load-key@.service

[Unit]
Description=Import key for ZFS pool
Documentation=man:zfs(8)
DefaultDependencies=no
After=systemd-udev-settle.service
After=zfs-import.target
After=systemd-remount-fs.service
Before=zfs-mount.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/zfs load-key -r %i

[Install]
WantedBy=zfs.target

systemctl enable zfs-load-key@mypool