我在 hetzner cloud arm 机器上有一个 ubuntu 22.04 系统,一直出现 zfs 错误,我有点不知道问题出在哪里。
zpool status -v
pool: encpool
state: ONLINE
status: One or more devices has experienced an error resulting in data
corruption. Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
entire pool from backup.
see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-8A
scan: scrub repaired 0B in 00:02:09 with 0 errors on Sun Feb 4 20:53:31 2024
config:
NAME STATE READ WRITE CKSUM
encpool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
sdb ONLINE 0 0 0
sdd ONLINE 0 0 0
sda ONLINE 0 0 0
errors: Permanent errors have been detected in the following files:
<0xe16d>:<0x0>
它通常显示如上。我执行了 zfs scrub encpool,第一次完成时显示相同的错误。然后我重新运行它,现在显示为 OK:
zpool status -v
pool: encpool
state: ONLINE
scan: scrub repaired 0B in 00:01:56 with 0 errors on Sun Feb 4 21:02:48 2024
config:
NAME STATE READ WRITE CKSUM
encpool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
sdb ONLINE 0 0 0
sdd ONLINE 0 0 0
sda ONLINE 0 0 0
errors: No known data errors
这种情况已经发生过几次了。scrub 有时会立即见效,有时会在运行 2 次之后才见效。
sdx 磁盘是 hetzner 云卷,它们本身应该是冗余的(每个数据块都存储在三个不同的物理服务器上)。encpool 已加密并且已打开压缩,但没有打开重复数据删除。它配置为 raidz1。
zpool list -v
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
encpool 59.5G 48.1G 11.4G - - 53% 80% 1.00x ONLINE -
raidz1-0 59.5G 48.1G 11.4G - - 53% 80.8% - ONLINE
sdb - - - - - - - - ONLINE
sdd - - - - - - - - ONLINE
sda - - - - - - - - ONLINE
zfs version
zfs-2.1.5-1ubuntu6~22.04.2
zfs-kmod-2.1.5-1ubuntu6~22.04.1