ZFS 可防止服务器关闭,因为它可保持磁盘处于活动状态

ZFS 可防止服务器关闭,因为它可保持磁盘处于活动状态

我有一个运行 Debian Buster 的小型家庭服务器,其中有一个ZFS: Loaded module v0.7.12-2+deb10u2, ZFS pool version 5000, ZFS filesystem version 5带 RAID 的 ZFS 文件系统()。

由于服务器有时几天都不用,我配置了一个自动关闭脚本,如果我的 2 个大 WD 红色硬盘(不是系统硬盘)待机超过 45 分钟,该脚本就会关闭服务器。现在我发现服务器不再关闭了,因为两个驱动器都只待机几分钟,然后再次激活。我测试了一下,iotop发现 ZFS 的命令txg_sync正在唤醒它们。即使没有其他进程在驱动器上写入或读取任何内容。

通过使用iosnoophttps://github.com/brendangregg/perf-tools)我能够识别出 dmcrypt 正在定期写入我的磁盘。请注意,我的底层磁盘使用 LUKS 加密。

./iosnoop -d 8,16
Tracing block I/O. Ctrl-C to end.
COMM         PID    TYPE DEV      BLOCK        BYTES     LATms
dmcrypt_writ 1895   W    8,16     2080476248   4096    6516.10
dmcrypt_writ 1895   W    8,16     3334728264   4096    6516.14
dmcrypt_writ 1895   W    8,16     2080429048   16384      0.16
dmcrypt_writ 1895   W    8,16     3334728272   20480      0.21
dmcrypt_writ 1895   W    8,16     2080476256   20480      0.16
dmcrypt_writ 1895   W    8,16     3328225336   16384      0.20

这是什么原因造成的?我该如何防止这种情况发生?

答案1

使用 ZFS 和 LUKS 加密设备时,识别磁盘上的 I/O 活动并不容易。一种方法是使用和终止进程的组合iotopiosnoop识别 I/O 活动何时停止。

我能够识别正在访问我的驱动器的进程

cut -d" " -f 1,2,42 /proc/*/stat | sort -n -k +3

相关内容