我正在运行一个小型家庭服务器。规格是:
- CPU:AMD锐龙5 2600
- 内存:32 GB ECC
- 系统驱动器:128GB NVMe SSD
- 数据驱动器:3x 4 TB Seagate Barracuda HDD
服务器运行一些应用程序,如 Nextcloud 或 Gitea,我想在其上运行 1-2 个 VM。所以有一些网络应用程序、数据库和虚拟机。
应用程序和 qcow2 映像存储在 raidz1 池中:
$ sudo zpool status
pool: tank
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
errors: No known data errors
在最初几周使用这些应用程序时,我没有遇到任何问题。但几周后,我意识到写入速度极低。nextcloud 实例不是很快,当我尝试使用 Windows 10 启动一个新的 VM 时,它需要大约 5 分钟才能到达登录屏幕。
我做了一些性能测试fio
,得到了以下结果:
测试 | IOPS | 带宽 (KiB/s) |
---|---|---|
随机读取 | 37,800 | 148,000 |
随机写入 | 31 | 127 |
顺序读取 | 72,100 | 282,000 |
顺序写 | 33 | 134 |
在发帖之前我做了一些研究,并读到我应该将 SLOG 添加到 zfs 池中,以获得更好的数据库和 VM 性能。但这目前是没有选择的。我需要先得到圣诞礼物 :D
但即使没有 SLOG,我也不认为这些数字是正确的 :(
有人有想法吗?:)