Zfs
我可以使用 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