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