ZFS 上的 Ubuntu Root

ZFS 上的 Ubuntu Root

这些问题与本文有关: https://openzfs.github.io/openzfs-docs/Getting%20Started/Ubuntu/Ubuntu%2020.04%20Root%20on%20ZFS.html

我打算使用 Ubuntu 21.10 64 位安装 ISO 文件来遵循这些说明。

我有两个 2TB SSD 和两个 12TB HDD。我的目标是使用 ZFS 软件 RAID 1 镜像两个 SSD 以及两个 HDD。然后在 RAIDed SSD 中创建启动、交换、根和 LVM 写入缓存分区。/home 目录将位于 RAIDed HDD 上。SSD 和 HDD 都将被加密。

步骤 2.1变量“DISK”设置为磁盘硬件节点的路径。在这些说明中,使用了变量“DISK1”和“DISK2”,但没有说明将它们设置为任何值。我是否正确认为,在要对两个或多个磁盘进行 RAID 的情况下,应该设置变量“DISK1”、“DISK2”、“DISK3”等,而不是设置“DISK”变量,并将每个变量设置为各自的硬件节点?

步骤 4.7指令是针对 RAID 阵列中的每个磁盘(DISK1、DISK2、DISK3 等,而不仅仅是“DISK”)执行 mkdosfs。它表示不要对 mkdosfs 下面的其它命令执行相同操作。但这里有一个 echo 命令,它将磁盘信息复制到变量“DISK”的“/etc/fstab”中。我是否正确,实际上,在有多个磁盘的情况下,还应对 DISK1、DISK2、DISK3 等中的每一个执行此 echo 命令?在变量名称“DISK”出现的任何其他地方也应该如此吗?

步骤 2.3驱动器上的第一个分区(分区号为 5)从 24K 开始。说明中未对这 24K 磁盘空间进行分区,因此该空间未进行分区。为什么会这样?不用于引导且仅包含数据的驱动器是否也应将其前 24K 保留为未分区?如何确定 24K 是应保留的正确磁盘空间量?

答案1

首先,请注意启动/EFI 分区没有镜像(除非您有硬件 raid),因此,只会使用其中一个启动设备(您可以将启动/EFI 分区复制到另一个 SSD)。

我的建议是在 SSD 上创建两个分区(在启动/EFI 分区、bpool 和 rpool 旁边):用于数据(/home 目录)池的缓存和 zil vdev,dpool在基于 HDD 的 vdev 顶部创建,作为整个设备创建,然后从 SSD 添加缓存/日志:

zpool create dpool mirror hdd1 hdd2
zpool add dpool cache mirror ssd1p4 ssd2p5
zpool add dpool log mirror ssd1p4 ssd2p5

然后,将此池用于您的数据(设置mountpoint=/home),如有必要,删除使用此挂载点的任何数据集以及以前的备份。

相关内容