内存写入缓存和 ZIL 数据都是通过 TXG 提交写入的吗?

内存写入缓存和 ZIL 数据都是通过 TXG 提交写入的吗?

如今,ZFS 对内存写缓存执行 TXG(事务组提交)的间隔为 5 秒。ZIL 数据如何以及在多长时间后从 SSD SLOG 提交到旋转介质?

ZIL 提交是否也会在 5 秒后发生(当然,当系统负载允许时?)

答案1

不存在“ZIL 提交”这样的东西。事实上,区块是总是写入请求时内存缓存中会被弄脏,无论是同步还是异步。ZIL 只会添加持久性用于同步写请求。

因此,如果您的池有单独的 ZFS 日志设备,您可能会发现它只承担写入负载,正常情况下不会从中读取数据。只有当您的池非正常关闭时(例如,由于硬重置或电源故障),才会在加载池时读取意向日志并将其应用于池的数据。

脏块在 TXG 提交时被刷新,操作类型并不重要。

相关内容