为什么 zed 在恢复后退出?

为什么 zed 在恢复后退出?

我在桌面上使用 ZFS。我希望zed(8)(ZFS 事件守护进程) 持续运行,以便记录诸如清理、修剪和问题之类的内容。

由于某种原因,当我从挂起状态恢复桌面后,zed 会退出。以下是 systemd 日志的片段:

Dec 14 08:29:06 host kernel: PM: suspend exit
Dec 14 08:29:06 host systemd-resolved[22015]: Clock change detected. Flushing caches.
Dec 14 08:29:06 host zed[22320]: Exiting
Dec 14 08:29:06 host systemd-sleep[54610]: System returned from sleep state.
Dec 14 08:29:06 host systemd[1]: zfs-zed.service: Deactivated successfully.

有人知道为什么 zed 在恢复后退出吗?

我搜索了一堆内容,但没有找到任何代码/配置可以在恢复后故意杀死/停用 zed。

我的解决方法是手动修补服务,如下所示:

--- /tmp/zfs-zed.service    2023-12-14 10:45:58.730118213 -0800
+++ /lib/systemd/system/zfs-zed.service 2023-12-14 10:46:34.765996601 -0800
@@ -5,7 +5,7 @@
 
 [Service]
 ExecStart=/usr/sbin/zed -F
-Restart=on-abort
+Restart=always
 
 [Install]
 Alias=zed.service

然后运行:

sudo systemctl daemon-reload
sudo systemctl enable zfs-zed.service --now

答案1

在 OpenZFS 2.2 中,zedrestart设置从 更改为on-abortalways

https://github.com/openzfs/zfs/commit/bd9dc5a1dcc1d2ec88477af3f6f0bc8c9bdef286

我确认我有zfs-zed版本2.1.5-1ubuntu6~22.04.2,所以我现在需要使用解决方法。

相关内容