ZFS *文件*支持快照的zpool...在生产中安全吗?

ZFS *文件*支持快照的zpool...在生产中安全吗?

有什么缺点吗单文件 vdev zpool 其他是不是缺乏容错能力,导致生产使用变得危险或不切实际?

例如性能或稳定性问题?

手册页仅警告缺乏容错功能:

 file    A regular file.  The use of files as a backing store is strongly
         discouraged.  It is designed primarily for experimental purposes,
         as the fault tolerance of a file is only as good as the file sys‐
         tem of which it is a part.  A file must be specified by a full
         path.

我的用例是在 Linux 服务器上对数据库进行快照,然后将其同步到使用真实磁盘支持的镜像 zpool 的异地备份服务器。在数据库服务器上使用 ZFS 的唯一目的是获得快速原子快照,从而大大减少数据库必须保持锁定的时间。

我的目标是使数据库服务器的设置尽可能自动化。这是在标准 VPS 映像之上设置的,其中主卷的重新分区无法轻松自动化,并且在这种情况下添加额外的块设备是浪费的。

或者有一个更好的如何将底层 ext4 分区的一部分分配给 zpool 而不对其进行分区,或者以一种无需深入研究 VPS 管理器即可自动化的方式?

答案1

ZFS 非常乐意为池使用单个文件。然而,你可能不是。有一些缺点。

  1. 表现。所有 ZFS iops 现在都转换为 vnode ops,因此 ZFS 现在比以前多了几层。这会对性能产生重大影响。
  2. 可靠性。 ZFS 通过写入其根节点(称为“uberblock”)来确保其事务的原子性,并将单个 I/O 发送到 uberblock 的 4 个位置。 ZFS 在写入 uberblocks 后对文件发出 fsync,但结果是不是100%可靠
  3. 冗余。单个文件(或单个磁盘)意味着 ZFS 的一项更好的功能(即时修复读取错误)被关闭。您可能需要考虑在 RAID1(ZFS“镜像”)配置中使用一对文件,只是为了更安全一些。

相关内容