openzfs

ZFS 上的 Syncthing 是重复数据删除的一个很好的例子吗?
openzfs

ZFS 上的 Syncthing 是重复数据删除的一个很好的例子吗?

我在基于 Linux RAID 的 NAS 上的 LVM 上有一个 ext4,已经十多年了,它运行 syncthing 并同步我家实验室中的数十台设备。效果很好。我终于基于 ZFS RAID 构建了它的替代品(第一次使用 ZFS),所以有很多东西要学。 我知道: 在极少数情况下,重复数据删除是一个好主意(我知道 RAM 的影响。假设我等到快速重复数据删除稳定下来并进入我的系统) 我的大部分同步活动都是对现有文件进行小修改 在 zraid2 上,随机异步写入更难/更慢。同步将始终存在,但新 NAS 上的负载会很轻。 Syncthing 的工作方式是默认创建新...

Admin

ZFS 会默默覆盖后续的镜像设备,并且不附带任何日志?
openzfs

ZFS 会默默覆盖后续的镜像设备,并且不附带任何日志?

给定两个镜像驱动器: /dev/loop1的zfs1.img /dev/loop2的zfs2.img zfs2.img如果驱动器包含不同的数据,即使副本更新或zfs2.img包含额外文件,ZFS 始终默默地使用 的状态zfs1.img,并且覆写所有文件zfs2.img。 在这种情况下,最有利的行为是列出所有有冲突的副本并让用户(或管理员)决定。 ZFS 被设计为一个智能文件系统,可以在最少的用户干预下自动执行恢复。但是,ZFS 至少应该留下其操作的日志,尤其是当它决定删除文件时。我搜索了很多次,但没有找到关于此类日志的提及。 重现步骤: 创建一个简单的...

Admin

dRAID,奇偶校验 1 + 1 分布式备用比 5x12TB HDD 的基本 RAIDz2 更好吗?
openzfs

dRAID,奇偶校验 1 + 1 分布式备用比 5x12TB HDD 的基本 RAIDz2 更好吗?

最近偶然发现了 dRAID,理解文档对于 Linux 上的 OpenZFS,我从图表中得出了一个结论,我想再检查一下。 这是一个全新的系统,我目前正在从头开始构建,并试图规划如何使用我的 5x12TB HDD 磁盘。我的优先事项: 数据的完整性 存储容量 I/O 性能 正常运行时间(家庭实验室使用) 我对 RAIDz1 的容量和写入性能感到满意,但由于这些驱动器的大小,我不能冒着在重建一个故障驱动器时发生第二个驱动器故障的风险(我的印象是 12TB 驱动器可能需要一天左右的时间,链接的图表似乎也同意这一点)。所以我被迫选择 RAIDz2,这会达到我的整体...

Admin

zfs 强制导入多个 VMS(ID),现在找不到 VM,但根据 zfs 的说法,它并没有丢失?
openzfs

zfs 强制导入多个 VMS(ID),现在找不到 VM,但根据 zfs 的说法,它并没有丢失?

我对 ZFS 完全陌生。今天,我做了一件蠢事,导致需要恢复整个操作系统。在我用来恢复机器的实时操作系统上,我需要安装 ZFS 卷进行数据传输。我做了以下操作: root@kubuntu:/media/kubuntu/backup3-1tb/recovery# zpool import pool: nas-2-mirror id: 11643301469609613604 state: ONLINE status: The pool was last accessed by another system. action: The pool...

Admin

大多数人应该使用什么 ZFS 池、vdev 和数据集属性?
openzfs

大多数人应该使用什么 ZFS 池、vdev 和数据集属性?

ZFS 有许多不同的可配置属性用于泳池,对于 vdev和对于数据集。其中许多可以随时更改,但有些只能在创建时设置(或仅影响之后写入的数据,因此应该真正在创建时设置)。 作为一个新手,我搜索了许多不同的问题,并发现了几个建议大量设置的属性。 显然,每个用例在哪些属性有意义方面几乎没有差异,但似乎有一组通用的属性是大多数 zfs 用户应该使用的。我正在考虑那些应该有积极理由的属性不是使用它们。它们是什么?为什么? ...

Admin

当池中有任何 raidz 设备时,为什么 ZFS vdev 删除不起作用?
openzfs

当池中有任何 raidz 设备时,为什么 ZFS vdev 删除不起作用?

第一:我完全可以接受那目前情况就是这样,我并不寻求立即的解决方案,而是试图了解这个约束的技术限制。 我主要在 Linux 上使用 ZFS,但我的理解是,现在所有 FOSS ZFS 开发都植根于 OpenZFS,因此很感谢提供有关其任何/所有变体的信息。 这的手册页zfs remove状态: 仅当主池存储不包含顶级 raidz vdev、所有顶级 vdev 具有相同的扇区大小且所有加密数据集的密钥都已加载时,才可以删除顶级 vdev。 我理解和/或可以猜测出大多数这些限制的原因,但我不太明白为什么仅仅在场raidz vdev 阻止删除任何(甚至是镜像或非冗...

Admin

即使经过多次清理,Ubuntu 上的 ZFS 池仍然会持续出现错误
openzfs

即使经过多次清理,Ubuntu 上的 ZFS 池仍然会持续出现错误

更换故障磁盘后,我的 3 磁盘 ZFS 池已被清理过多次。 “zpool status -v”提供了已删除的文件列表,并删除了大量错误。 尽管运行了几个“zpool scrub”进程直至完成,我仍然得到如下输出: root@ra:/root# zpool status -v | head -25 pool: backup state: ONLINE status: One or more devices has experienced an error resulting in data corruption. Applications ma...

Admin

自动挂载加密的 zfs 数据集
openzfs

自动挂载加密的 zfs 数据集

作为 的新手zfs,我在启动过程中无法安装加密数据集。该数据集受原始密钥而非密码保护。 这就是我创建 zpool 和数据集的方式: # zpool list no pools available # zpool create ZPOOL -m /media/ZPOOL -o autotrim=on -o failmode=continue /dev/sdb # zpool list NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT Z...

Admin

驱动器断开连接后强制忘记/卸载 ZFS 池
openzfs

驱动器断开连接后强制忘记/卸载 ZFS 池

首先,我犯了一个错误并且我承认这一点,但是现在我被一个“损坏的” ZFS 驱动程序困住了,并且想在不重新启动机器的情况下恢复它。 当所有驱动器都断开连接时,我怎样才能让 Linux 上的 ZFS 忘记池的存在(强制卸载并“导出”它)? 当我运行一个包含两个驱动器(作为镜像)的 ZFS 池时,我同时断开了它们(更具体地说:它们的电源),而没有事先卸载或导出它。重新插入电源时,内核将它们识别为新驱动器(之前它们被称为 sdb 和 sdc,现在它们被称为 sdd 和 sde),因此 ZFS 无法自行“重新启动”池。我不想调用这样的命令,zpool replace因...

Admin

rsync ZFS 上 ACL 的“操作不支持”错误
openzfs

rsync ZFS 上 ACL 的“操作不支持”错误

将我们的文件服务器迁移到 ZFS 文件系统时,rsync -avxHAXS ...出现以下错误: rsync: [generator] set_acl: sys_acl_set_file(path/to/file, ACL_TYPE_ACCESS): Operation not supported (95) 我已经使用以下命令配置了 ZFS ACL 设置: zfs set aclmode=passthrough aclinherit=passthrough pool/home 显然这个错误可能发生在 rsync 3.2.3 中(https://githu...

Admin

ZFS:抑制接收方的保留?
openzfs

ZFS:抑制接收方的保留?

我正在尝试将 zvol 的更改从我的工作池 ( zdata) 逐步发送到备份池 ( zbackup),但是我正在努力抑制该refreservation属性。 虽然我意识到此属性的目的是确保 zvol 有足够的空间,但我并不打算从备份池中安装它,所以我宁愿释放空间,特别是因为 zvol 大部分是空的并且可能还会保持一段时间。 然而,尽管我可以暂时地抑制设置,它似乎不断被重新创建,但我不完全确定为什么。 我用来发送增量更改的命令如下所示: zfs send -pw -i @snapshot1 zdata/zvol@snapshot2 | zfs receive ...

Admin

重新创建没有任何数据的数据集?
openzfs

重新创建没有任何数据的数据集?

我有一些经常写入的数据集,但其数据并不重要(缓存等)。是否可以将它们“发送”到另一个池而不复制任何数据? 当然,我意识到太晚了,我应该在创建它们时就这样做(并且它们是空的),但鉴于我没有并且可能希望执行某种自动化,有没有办法复制(或者更确切地说,重新创建)仅使用其属性在目标池上进行的数据集? 我专门使用 OpenZFS (v2.1) 以防有更简单的答案,但如果有的话,任何版本的 ZFS 的通用答案也很好。 ...

Admin

ZoL+FIO Randwrite nvme bs=8k@32io = 148MiB/s?
openzfs

ZoL+FIO Randwrite nvme bs=8k@32io = 148MiB/s?

抱歉,标题是这样的,但这只是我正在调查的 BS 的简短摘要。情况 我在 Ubuntu 上使用 ZoL 2.1.5(来自 jonathonf 的 ppa)(尝试过 20.04&22.04) 我有以下 NVMe 磁盘 金士顿 KC2500 1TB(/dev/nvme0n1)格式化为 512(使用 nvme format -l 0) 三星 983 DCT M.2 960GB(/dev/nvme6n1)使用 nvme format -l 0 格式化为 512) 以下 pastebin 包含所有命令,这里是简短的输出: RAW 设备: fio -name=...

Admin

如何列出可用的 zfs 压缩算法?
openzfs

如何列出可用的 zfs 压缩算法?

我在生产系统上有一个 zfs 池,我想看看是否可以使用 zstd 压缩而不是当前的 gzip 设置。 有没有办法列出可用的压缩选项? ...

Admin

ZFS 校验和错误:如何从副本中恢复?
openzfs

ZFS 校验和错误:如何从副本中恢复?

如果出现错误的驱动器是具有冗余设置的池的一部分,则 ZFS 可以自动修复校验和错误。 如果校验和错误发生在没有冗余的池上,但其他地方有复制快照,该怎么办?损坏的块可以复制zfs send或类似操作吗? 例如,假设有一个主池tank具有自动快照和到备份池的复制功能backup。将其视为backup单个驱动器。的清理backup发现不可恢复的校验和错误。有效块在上仍然可用tank。是否可以从中恢复此校验和错误tank? 此手动文件复制方法是我找到的最接近的方法,但它还有很多不足之处。有没有更简洁、可以自动化的方法? ...

Admin