zpool create
中使用文件的完整路径作为设备路径。zfs replace
手动配置它们来替换故障设备。vfs.zfs.txg.timeout
,事务组将进入下一个状态。* Quiescing - 一个短暂的状态,允许任何未决的操作完成,而不阻止创建一个新的开放事务组。一旦该组中的所有事务都完成,该事务组将进入最后一个状态。* 同步 - 将交易组中的所有数据写入稳定的存储。这个过程将反过来改变其他数据,如元数据和空间图,ZFS 也将把这些数据写到稳定存储中。同步的过程包括几个环节。在第一次和最大的一次,所有改变的数据块;接下来是元数据,这可能需要几次才能完成。由于为数据块分配空间会产生新的元数据,同步状态不能完成,直到一个不使用任何新空间的过程完成。同步状态也是同步任务完成的地方。同步任务是一些管理操作,如创建或销毁快照和数据集,完成 uberblock 的变化。一旦同步状态完成,处于静止状态的事务组就会推进到同步状态。所有的管理功能,如 快照 写入作为事务组的一部分。ZFS 将创建的同步任务添加到开放的事务组中,该事务组尽可能快地推进到同步状态,以减少管理命令的延迟。vfs.zfs.l2arc_write_max
控制每秒写入缓存的字节数,而 vfs.zfs.l2arc_write_boost
在 "Turbo Warmup Phase"(Write Boost)增加这个限制。EBUSY
错误。每个快照都可以有一个独特名称的 hold。release 命令会移除 hold,这样快照就可以被删除。快照、克隆和回滚可以在卷上进行,但独立挂载则不行。compress
属性时,管理员可以选择压缩级别,范围从最低压缩级别的 gzip1
到最高压缩级别的gzip9
。这使管理员能够控制用多少 CPU 时间来换取节省的磁盘空间。dedup
设置为 on
,那么一个匹配的校验和意味着数据是相同的。将 dedup
设置为 verify
,ZFS 会对数据进行逐个字节的检查,确保它们实际上是相同的。如果数据不完全相同,ZFS 将注意到哈希碰撞,并分别存储这两个块。由于 DDT 必须存储每个独特区块的哈希值,它消耗大量的内存。一般的经验法则是每 1TB 的重复数据需要 5-6GB 的内存)。在不实际的情况下,要有足够的 RAM 来保持整个 DDT 在内存中,性能将受到很大影响,因为 DDT 必须在写入每个新块之前从磁盘读取。重复数据删除可以使用 L2ARC 来存储 DDT,在快速系统内存和较慢的磁盘之间提供一个中间地带。考虑使用压缩来代替,这通常能提供几乎同样多的空间节省,而不需要增加内存。scrub
,而不是像 fsck(8) 那样的一致性检查。scrub
读取存储在池中的所有数据块,并根据存储在元数据中的已知良好的校验和验证它们。对存储在池中的所有数据的定期检查确保在需要之前恢复任何损坏的块。在一次不干净的关机后不需要刷新,但好的做法是至少每三个月刷新一次。ZFS 在正常使用期间会验证每个块的校验和,但是刷新可以确保检查即使是不经常使用的块是否有无声的损坏。ZFS 提高归档存储情况下的数据安全性。用 vfs.zfs.scrub_delay
调整刷新的相对优先级,以防止刷新降低池上其他工作负载的性能。volsize
属性作为一个隐含的配额。