将 SSD 缓存设备添加到我的 ZFS 存储会提高性能吗?

Sys*_*cus 5 zfs ssd cache io

服务器有 4GB 的 RAM,我的 zpool 由 15.5k SAS 驱动器组成,排列如下:

    NAME          STATE     READ WRITE CKSUM
    tank          ONLINE       0     0     0
      raidz1-0    ONLINE       0     0     0
        c0t2d0    ONLINE       0     0     0
        c0t3d0    ONLINE       0     0     0
        c0t4d0    ONLINE       0     0     0
        c0t5d0    ONLINE       0     0     0
        c0t6d0    ONLINE       0     0     0
        c0t7d0    ONLINE       0     0     0
        c0t8d0    ONLINE       0     0     0
      raidz1-1    ONLINE       0     0     0
        c0t10d0   ONLINE       0     0     0
        c0t11d0   ONLINE       0     0     0
        c0t12d0   ONLINE       0     0     0
        c0t13d0   ONLINE       0     0     0
        c0t14d0   ONLINE       0     0     0
    spares
      c0t9d0      AVAIL
      c0t1d0      AVAIL   
Run Code Online (Sandbox Code Playgroud)

主要用途是作为几个 VMWare ESXi 服务器的 NFS 存储。我不能做任何“真正的”基准测试,因为这是一个生产系统(没有测试系统的预算),但是使用dd并且bonnie++我不能获得超过 ~40-50MB/s 的写入和 ~70-90MB/s 的读取。看起来我应该能够做得更好,但我不确定在哪里优化。根据我所读到的内容,我认为使用OCZ Vertex 2 Pro SSD是因为我的 L2ARC 将是提高吞吐量的最佳性价比之选。

  1. 还有什么我应该研究来帮助提高性能的吗?如果不...
  2. 我怎么知道我需要多大的缓存设备?
  3. 仅使用一个 SSD 作为缓存设备是否安全?

knw*_*iss 1

我的猜测是 ZFS 意图日志 (ZIL) 限制了写入性能。用作日志设备的快速 SSD可能会有所帮助。一些提示:

  • ZIL 加速器:DRAM 还是闪存?详细解释了问题。
  • 您可能想使用禁用的 ZIL 进行测试。请参阅我的另一篇帖子
  • 如果您使用的是最新的 ZFS 版本,请查看Oracle Solaris Express 中的 ZFS 功能,因为禁用 ZIL 的方式已发生变化。现在有一个新的同步文件系统属性。
  • 直到最近,还无法从 ZFS 池中删除日志设备。当然,如果单个日志设备发生故障,这会导致问题。因此建议对日志设备使用镜像。但是,最近的 ZFS 版本修复了此限制,现在可以使用zpool remove. 如果您确实要安装 SSD,请确保使用支持此功能的版本。