在我的 ZFS 存储中添加 SSD 缓存设备是否会提高性能?

在我的 ZFS 存储中添加 SSD 缓存设备是否会提高性能?

该服务器有 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   

主要用途是作为几台 VMWare ESXi 服务器的 NFS 存储。我无法进行任何“真正的”基准测试,因为这是一个生产系统(没有预算用于测试系统),但使用时,ddbonnie++无法获得超过 ~40-50MB/s 的写入速度和 ~70-90MB/s 的读取速度。似乎我应该能够做得更好,但我不确定在哪里可以优化。根据我所读到的内容,我认为OCZ Vertex 2 Pro固态硬盘因为我的 L2ARC 将成为提高吞吐量的最佳性价比方案。

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

答案1

我猜是 ZFS 意向日志 (ZIL) 限制了写入性能。用作日志设备可以提供帮助。一些提示:

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

答案2

我肯定会这么做。我读到过它有很大帮助。然而,你需要获得一个高质量的 SSD,因为它将会被大量使用,因此磨损均衡应该能很好地发挥作用。

我今天发现了这个……这真是太好了

http://www.engadget.com/2010/11/08/ocz-revodrive-x2-pcie-ssd-reviewed-blisteringly-fast-in-every-c/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+weblogsinc/engadget+(Engadget)

  1. 没有把握
  2. 30 倍的 RAM 应该足够了。(300GB 以上应该有助于缓冲)
  3. 单个 SSD 应该足够了,它只是一个用于吞吐量的缓存。(当它坏了/损坏了/不存在时,速度就会变慢)

相关内容