2. Nur / zu verschlüsseln reicht mMn nicht. Man sollte noch das hier tun (nur bei einer frischen Installation ohne VMs):
Bash:
export KEYPATH=/root/zfs-data-key
dd if=/dev/random bs=32 count=1 of=$KEYPATH
chmod 440 $KEYPATH
zfs destroy rpool/data # wenn nicht leer, dann die Methode wie bei rpool/ROOT
zfs create -o encryption=on -o checksum=sha512 -o compress=zstd -o keyformat=raw -o keylocation=file://$KEYPATH rpool/data
zfs load-key -L file:///root/zfs-data-key rpool/data
zfs get encryption rpool/data
Nach einem Neustart sollte rpool/data nicht eingebunden sein. Um das zu beheben empfehle ich eine Datei unter
/etc/systemd/system/data-mount.service anzulegen:
Code:
[Unit]
Description=Mount ZFS filesystems
Documentation=man:zfs(8)
DefaultDependencies=no
After=systemd-udev-settle.service
After=zfs-import.target
After=zfs-mount.target
After=systemd-remount-fs.service
ConditionPathIsDirectory=/sys/module/zfs
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/zfs load-key -L file:///root/zfs-data-key rpool/data
[Install]
WantedBy=zfs.target
Und dann noch:
Code:
systemctl enable data-mount.service
systemctl start data-mount.service
sleep 10
df -h # prüfen
Nach einem Neustart sollte dann auch data vorhanden sein.
Die ganzen zusätzlichen Schritte finde ich besser, weil man mit einem Passwort wie vorher / entschlüsselt. In / bzw. /root/ (was ja auch in / liegt) ist dann der Schlüssel um data zu entschlüsseln. Damit muss man im Zweifel nicht 2x ein Passwort eingeben für Proxmox und den VM-Speicher und die VMs werden auch verschlüsselt gespeichert.
Über Kritik würde ich mich freuen, da ich das gerade erst ausprobiert habe und es vielleicht noch bessere Möglichkeiten gibt.