ZFS 看似装好就能用,但许多家用场景的默认参数组合并不理想。以下是一些非共识建议。
1. ashift 不要默认 9
创建池时显式指定 ashift=12(对齐 4K 扇区)。现代 HDD/SSD 全部 4Kn 或 512e,不显式指定会在部分老盘上掉速 30% 以上。
2. compression 选 zstd 而非 lz4
lz4 速度快但压缩率比 zstd 低 30%。家用几乎不需要极致吞吐,zstd-3 是 sweet spot;可在 dataset 上按需开关。
3. atime 永远关
zfs set atime=off tank/home 是家庭 NAS 上的标准动作,避免每次 read 触发一个写操作。
4. 留足内存作为 ARC
经验公式:给 ZFS 留 1GB/TB 存储。家里 16GB 内存的 PVE,建议 arc_max=8GB,并配 256MB L2ARC 用 NVMe 加速热数据。
echo 8589934592 > /sys/module/zfs/parameters/zfs_arc_max
5. 每月 scrub 一次
scrub 是 ZFS 自愈机制的核心。建议每月第一个周日执行 zpool scrub tank,让后台自检坏块。