如何在 Ubuntu 安装中配置 ZFS,以便即使只有一块硬盘也能获得 RaidZ1 及其数据安全?

如何在 Ubuntu 安装中配置 ZFS,以便即使只有一块硬盘也能获得 RaidZ1 及其数据安全?

ZFS 提供了极好的可能性,当使用 Raid1、RaidZ1、RaidZ2 和 RaidZ3 时,可以自动检测并自动纠正由 SSD 存储单元缺陷或传统硬盘缺陷块导致的数据。

但是,使用 Ubuntu 迄今为止提供的安装机制,至少如果仅在一个硬盘上安装它,则安装仅在单个分区(Raid0)中进行,而不是在上述其他 Raid 变体之一和必要数量的分区中进行。

在使用 ZFS 安装期间或之后,如何调整新执行的 Ubuntu 安装以使用例如具有三个数据分区的 Raid Z1,以便 ZFS 相对于例如 ext4 的优势(即即使在 SSD 内存单元有缺陷或 HD 块有缺陷的情况下也能保持数据完整性)不再被放弃?

根据所选的 RaidZ 级别和使用的分区数,关闭压缩和重复数据删除后可获得以下存储容量:

  • 具有 3 个分区的 RaidZ1:66%。
  • 具有 4 个分区的 RaidZ1:75%
  • 具有 5 个分区的 RaidZ1:80%
  • 具有 6 个分区的 RaidZ1:83%

来源:

通过使用 ZFS 支持的压缩,可以节省约 0 到 100% 的存储空间。实际上,根据应用程序的不同,平均节省 50% 是完全有可能的。

通过使用 ZFS 支持的重复数据删除,可以节省约 0 到 100%。实际发生的平均值高度依赖于所使用的数据。

以下来源解释了非损坏数据的优势以及为什么没有数据备份通常对此类数据有帮助。

据推测,对于只有一个硬盘的系统来说,具有三个 rpool 和三个 bpool 分区以及由此产生的简单冗余的 RaidZ1 是一个不错的选择,以便独立识别由 SSD 的缺陷存储单元以及 HD 的缺陷块造成的损坏并纠正相应的数据错误。

对于 GPT 这样的硬盘,也只有简单的冗余,尽管 GPT 目前可能还不能自我修复。但也许有一天 ZFS 会改善这一点。

相关内容