如何在FreeBSD 11 Root-On-ZFS系统上使用镜像RAID来更改GELI密码?
交换设备也被镜像和encryption。
我有/dev/ada0p5.eli /dev/ada1p5.eli和/dev/mirror/swap.eli设备。
谢谢。
在安装了ZFS的vanilla FreeBSD 11中,只有在使用镜像设备时,才能更改数据光盘的encryption密钥。
数据磁盘:
在香草安装的encryption设备是da0p3.eli和da1p3.eli,在你的情况下,你将不得不重复你有设备的程序(ada0p5.eli,ada1p5.eli):
$ zpool status NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 da0p3.eli ONLINE 0 0 0 da1p3.eli ONLINE 0 0 0 $ zpool offline tank da0p3.eli # take one drive off the mirror $ zpool status NAME STATE READ WRITE CKSUM tank DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0 7324435067442038086 OFFLINE 0 0 0 was /dev/da0p3.eli da1p3.eli ONLINE 0 0 0 $ geli detach da0p3.eli # detach encryption $ geli setkey da0p3 # set new encryption pass phrase Enter passphrase: Enter new passphrase: Reenter new passphrase: $ geli attach da0p3 # reattach with new pass phrase Enter passphrase: $ zpool online tank da0p3.eli # take the drive online again to the mirror
现在,等待驱动器重新恢复。 这应该是快速的,如果没有太多的写入之间,驱动器的内容没有被改变,因为主键仍然是相同的,只有它的密码改变了:
$ zpool status NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 da0p3.eli ONLINE 0 0 0 da1p3.eli ONLINE 0 0 0
现在一切都恢复了,你应该把相同的程序应用到你的第二个驱动器上。
交换驱动器
在一个香草安装一个新的随机密钥为您的交换驱动器将在每次启动时再次生成和遗忘之后,所以没有需要改变(你的密码短语不使用那里)。
危险!
请注意:当一个磁盘离开镜像时,当剩余磁盘出现故障时,容易丢失数据。 您可以通过在执行密钥更改之前向镜像添加一个临时的第三个磁盘,并在完成整个过程后再次将其删除。