在 OpenMediaVault (OMV) 中设置 ZFS ARC 大小和缓存策略需要通过命令行进行操作,因为 OMV 的 Web GUI 没有直接提供这些设置。以下是详细的步骤和说明:
1. 了解 ZFS ARC
- **ARC (Adaptive Replacement Cache)**:ZFS 的主要内存缓存,用于存储最常用的数据。
- **L2ARC (Level 2 ARC)**:二级缓存,通常使用 SSD,用于扩展 ARC 的容量。
- **ZIL (ZFS Intent Log)**:用于处理同步写入操作的日志。
- **SLOG (Separate Log)**:将 ZIL 存储在单独的快速设备上,提高同步写入性能。
2. 设置 ARC 大小
- ZFS 会自动管理 ARC 的大小,但您可以设置最大值和最小值。
- 打开终端,以 root 用户身份登录 OMV。
- 编辑
/etc/modprobe.d/zfs.conf
文件,如果文件不存在则创建它。 - 在文件中添加以下行来设置 ARC 的最大值(以字节为单位):
1
| options zfs zfs_arc_max=字节数
|
- 例如,要将 ARC 最大值设置为 8GB,可以使用以下命令:
1 2 3 4 5 6 7
| options zfs zfs_arc_max=8589934592
options zfs zfs_arc_max=17179869184
options zfs zfs_arc_max=34359738368
|
1 2 3 4
| options zfs zfs_arc_min=字节数
options zfs zfs_arc_min=4294967296
|
- 保存文件并退出。
- 如果根文件系统使用了 ZFS,运行以下命令更新 initramfs:
3. L2ARC(固态二级缓存) 和 SLOG(提高同步写入性能)
- 如果您有 SSD,可以将其用作 L2ARC 或 SLOG。
- 添加 L2ARC:
1
| zpool add <pool_name> l2cache <ssd_device>
|
1
| zpool add <pool_name> log <ssd_device>
|
- 请将
<pool_name>
替换为您的 ZFS 池名称,将 <ssd_device>
替换为 SSD 设备路径。
重要注意事项:
- 设置 ARC 大小时,请确保为系统保留足够的内存。
- 错误的 ARC 设置可能导致系统性能下降或崩溃。
- 在修改 ZFS 设置之前,请务必备份重要数据。
- 在OMV上对ZFS的调整可能会因为OMV的更新而失去作用。因此,请您在每次更新OMV后再次进行确认。