Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 将GEOM_ELI加密的ZFS池装载为根_Unix_Encryption_Freebsd_Boot_Zfs - Fatal编程技术网

Unix 将GEOM_ELI加密的ZFS池装载为根

Unix 将GEOM_ELI加密的ZFS池装载为根,unix,encryption,freebsd,boot,zfs,Unix,Encryption,Freebsd,Boot,Zfs,我有一个3盘RAIDz1池,用GEOM_ELI中的AES128加密,从版本8开始我就在FreeNAS中使用。 zpool进行了多次升级,总的来说,我对ZFS非常满意 然而,最近我对FreeNAS越来越失望。很多bug多年来一直没有被修复。但总的来说,他们坚持让我在他们的操作系统中使用闪存驱动器,尽管大多数都是只读的。 它仍然是一个单点故障,并且总是将引导时间延长几分钟。总之,我只想在这个池中使用香草FreeBSD。 我正在寻找更多的灵活性和一个我希望用这个很棒的操作系统来教育自己的方法 在做了一

我有一个3盘RAIDz1池,用GEOM_ELI中的AES128加密,从版本8开始我就在FreeNAS中使用。 zpool进行了多次升级,总的来说,我对ZFS非常满意

然而,最近我对FreeNAS越来越失望。很多bug多年来一直没有被修复。但总的来说,他们坚持让我在他们的操作系统中使用闪存驱动器,尽管大多数都是只读的。 它仍然是一个单点故障,并且总是将引导时间延长几分钟。总之,我只想在这个池中使用香草FreeBSD。 我正在寻找更多的灵活性和一个我希望用这个很棒的操作系统来教育自己的方法

在做了一些更深入的研究后,我发现了许多关于将FreeBSD天真地安装到ZFS卷并将其作为附件安装的教程/ 直到我做了更多的研究,发现了一篇关于将zfs加密卷装载为root的文章。后来我发现FreeBSD10在安装过程中做到了这一点,至少可以说这是非常棒的

我用VMWare workstation制作了一个虚拟机,有三个2TB的驱动器,作为物理磁盘传递,并遵循每一个步骤到一个T,一切都进行得非常顺利。现在我已经更好地掌握了我正在执行的命令以及为什么要执行这些命令,我想对一个已经存在的池执行此操作,其中已经有很多数据

默认情况下,FreeNAS在每个数据磁盘的前端创建一个2GB交换分区。我删除了交换空间,并在每个驱动器上设置了1.5GB分区,剩余512MB用于交换。我遵循每一步,根据需要改变事情。(我有3个磁盘,教程提到4个,我的池名是foxhole,教程是zroot。)我成功地用geom_eli解密了我的卷,并成功地安装了它

我没有跳过提供的任何步骤。我甚至复制了我收到的每一条命令,并在文本文件中对它们进行了修改,以使它们适合我的情况

这是我现在的问题。 在最终重新启动以测试所有内容之后,内核开始启动,然后我在一个mountroot终端上被吐了出来。geom_eli似乎没有试图解密我的根卷。我怀疑为什么。如果我错了,请纠正我。 在本教程开始时,我收到了为加密卷创建新几何体的命令:

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个小时里,我一直在做这个。我真的很想有一个头脑清醒的人来看看这个


如果我遗漏了任何有用的信息,请告诉我。

结果证明我是正确的。daXp4.eli文件是必需的,因为它是每个磁盘的元数据。一个参考点,如果你愿意的话

通过执行:

geli backup /dev/daXp4 /boot/daXp4.eli
它创建geom在启动时尝试解密所需的元文件

我希望这能帮助其他对这东西感兴趣的人。
我现在有一个带有23个磁盘的NAS。3个ZFS卷,全部用geom_eli加密,结果证明我是正确的。daXp4.eli文件是必需的,因为它是每个磁盘的元数据。一个参考点,如果你愿意的话

通过执行:

geli backup /dev/daXp4 /boot/daXp4.eli
它创建geom在启动时尝试解密所需的元文件

我希望这能帮助其他对这东西感兴趣的人。 我现在有一个带有23个磁盘的NAS。3个ZFS卷,全部使用geom_eli加密