在 Ubuntu 19.10 上开始使用 ZFS 文件系统

Ubuntu 19.10 的主要功能之一是对 ZFS 的支持。 现在,您可以轻松地在 ZFS 上安装 Ubuntu,而无需任何额外的努力。

通常,您使用 Ext4 文件系统安装 Linux。 但是,如果您全新安装 Ubuntu 19.10,您将看到在根目录上使用 ZFS 的选项。 但是,您不能在双引导系统上使用它,因为它会擦除整个磁盘。

让我们看看为什么 ZFS 很重要,以及如何在 Ubuntu 的 ZFS 安装中利用它。

ZFS 与其他文件系统有何不同?

ZFS 的设计有两个主要目标:处理大量存储和防止数据损坏。 ZFS 可以处理多达 256 万亿 Zettabytes 的存储。 (因此 ZFS 中的 Z。)它还可以处理大小高达 16 EB 的文件。

如果您仅限于单驱动器笔记本电脑,您仍然可以利用 ZFS 中的数据保护功能。 写时复制功能确保正在使用的数据不会被覆盖。 相反,新信息被写入新块,并且文件系统的元数据被更新以指向新块。 ZFS 可以轻松创建文件系统的快照。 这些快照跟踪对文件系统所做的更改,并与文件系统共享相同的数据以节省空间。

ZFS 为驱动器上的每个文件分配了一个校验和。 它不断地根据该校验和检查文件的状态。 如果它检测到文件已损坏,它将尝试自动修复该文件。

我写了一篇关于什么是 ZFS 及其特性的详细文章。 如果您有兴趣了解有关此主题的更多信息,请阅读它。

笔记

请记住,ZFS 的数据保护功能可能会导致性能下降。

在 Ubuntu 上使用 ZFS [For intermediate to advanced users]

在主磁盘上干净安装带有 ZFS 的 Ubuntu 后,您可以开始 利用 该文件系统具有的功能。

请注意,ZFS 的所有设置都需要命令行。 我不知道它有任何 GUI 工具。

创建 ZFS 池

该部分仅适用于您的系统具有多个驱动器的情况。 如果您只有一个驱动器,Ubuntu 将在安装过程中自动创建池。

在创建池之前,您需要找出池的驱动器 ID。 你可以使用命令 lsblk 显示此信息。

要创建具有三个驱动器的基本池,请使用以下命令:

 sudo zpool create pool-test /dev/sdb /dev/sdc /dev/sdd. 

记得更换 池测试 使用您选择的池名称。

此命令将设置“零冗余 RAID-0 池”。 这意味着如果其中一个驱动器损坏或损坏,您将丢失数据。 如果您确实使用此设置,建议您进行定期备份。

您还可以使用以下命令将另一个磁盘添加到池中:

sudo zpool add pool-name /dev/sdx

检查 ZFS 池的状态

您可以使用以下命令检查新池的状态:

 sudo zpool status pool-test 

镜像 ZFS 池

为确保您的数据安全,您可以改为设置镜像。 镜像意味着每个驱动器都包含相同的数据。 使用镜像设置,您可能会丢失三分之二的驱动器,但仍然拥有所有信息。

要创建镜像,您可以使用以下内容:

sudo zpool create pool-test mirror /dev/sdb /dev/sdc /dev/sdd

为备份和恢复创建 ZFS 快照

快照允许您创建一个后备位置,以防文件被删除或覆盖。 例如,让我们创建一个快照,删除我的主目录中的一些文件夹并恢复它们。

首先,您需要找到要快照的数据集。 你可以用

 zfs list

你可以看到我的主文件夹位于 rpool/USERDATA/johnblood_uwcjk7.

让我们创建一个名为的快照 1910 使用这个命令:

sudo zfs snapshot rpool/USERDATA/[email protected]

快照将很快创建。 现在,我将删除 Downloads 和 Documents 目录。

现在要恢复快照,您所要做的就是运行以下命令:

sudo zfs rollback rpool/USERDATA/[email protected] 

回滚的长度取决于信息改变了多少。 现在,您可以检查主文件夹,删除的文件夹(及其内容)将返回到正确的位置。

ZFS 与否?

这只是快速了解您可以在 Ubuntu 上使用 ZFS 做什么。 欲了解更多信息,请查看 Ubuntu 在 ZFS 上的 wiki 页面。 我也推荐阅读这个 关于 ArsTechnica 的优秀文章.

这是一个实验性功能,如果您不了解 ZFS,并且想要拥有一个简单稳定的系统,请在 Ext4 上进行标准安装。 如果您有一台要试验的备用机器,那么只需尝试这样的方法来了解有关 ZFS 的一两件事。 如果您是“专家”并且知道自己在做什么,那么您可以在任何您喜欢的地方自由地试验 ZFS。

目前在 Ubuntu 19.10 中 ZFS 的实现是实验性的,因为磁盘布局方式可能会在 Ubuntu 20.04 版本中发生变化。 如果您安装了 ZFS,他们不保证您将能够升级。

根据 Ubuntu 播客,Ubuntu 桌面团队正在开发一个名为 zsys. 它会挂在 apt 和 grub 中。 当您升级系统时,zsys 将拍摄快照,以便您可以在升级失败时启动到之前的快照。 它将在 20.04 版本中发布。

你用过 ZFS 吗? 请在下面的评论中告诉我们。 如果您觉得这篇文章很有趣,请花一点时间在社交媒体、黑客新闻或 红迪网.