我有一个3磁盘RAIDz1池,在GEOM_ELI中使用AES128加密,我从版本8开始就在FreeNAS中使用。 有很多zpool升级,总而言之,我对ZFS非常满意。
然而,最近我对FreeNAS感到沮丧。多年来一直没有修复的大量漏洞。但总的来说,我的 INSISTING 使用闪存驱动器作为他们的操作系统,尽管其中大部分都是只读的。 它仍然是单点故障,并且始终将启动时间延长几分钟。最重要的是,我只想在这个池中使用Vanilla FreeBSD。 我正在寻找更多的灵活性,我希望通过这个非常棒的操作系统来教育自己。
进行更多的扩展研究我发现很多关于将FreeBSD天真地安装到ZFS卷并将其安装为/的教程 直到我做了更多研究并找到了一篇关于以root身份安装zfs加密卷的文章。后来我发现FreeBSD 10在安装过程中会这样做,这至少可以说是很棒的。
我使用VMWare工作站创建了一个VM,有三个2TB驱动器,作为物理磁盘传递,并且每一步都执行到T,一切都很顺利。现在我已经更好地掌握了我正在做的命令以及我为什么这样做,我想这样做已经存在已经存在大量数据的已经存在的池。
默认情况下,FreeNAS在每个数据磁盘的前面创建一个2GB的SWAP分区。我删除了交换空间,并在每个驱动器上创建了1.5GB分区,剩余512MB用于Swap。我遵循每一步,根据需要改变一切。 (我有3个磁盘,教程说4个,我的池名称是foxhole,教程是zroot。)我成功用geom_eli解密我的卷并成功安装它。
我没有跳过任何提供的步骤。我甚至复制了我给出的每个命令,并在文本文件中对它们进行了修改,以便它们适合我的情况。
现在是我的问题。 在最终重新开始测试所有内容之后,内核开始启动,然后我在一个mountroot终端上吐口水。似乎geom_eli没有试图解密我的根音量。我怀疑为什么。如果我错了,请纠正我。 在本教程开始时,我获得了为加密卷创建新geoms的命令:
geli init -b -B /boot/zfs/bootdir/da0p4.eli -e AES-XTS -K /boot/zfs/bootdir/encryption.key -l 256 -s 4096 /dev/da0p4
geli init -b -B /boot/zfs/bootdir/da1p4.eli -e AES-XTS -K /boot/zfs/bootdir/encryption.key -l 256 -s 4096 /dev/da1p4
geli init -b -B /boot/zfs/bootdir/da2p4.eli -e AES-XTS -K /boot/zfs/bootdir/encryption.key -l 256 -s 4096 /dev/da2p4
由于我的卷已经存在,我无法执行那些会创建“/boot/zfs/bootdir/daXp4.eli”文件的命令。
我真的只是猜测这是原因。 当我试图表演时,我注意到了这一点:
mv bootdir/*.eli bootdir/boot/
给我“不匹配。”
我认为在解密池时会创建那些。
我为这篇文章道歉。我试图尽可能多地提供信息而不给予太多。过去18个小时我一直在研究这个问题。我真的很喜欢有头脑清醒的人来看看这个。
如果我错过了任何有用的信息,请告诉我。
答案 0 :(得分:0)
原来我是对的。 daXp4.eli文件是必需的,因为它是每个磁盘的元数据。如果你愿意,可以参考。
执行:
geli backup /dev/daXp4 /boot/daXp4.eli
它创建geom在启动时尝试解密所需的元文件。
我希望这可以帮助其他人对这些东西感兴趣。 我现在有一台带有23个磁盘的NAS。 3个ZFS卷,全部使用geom_eli加密