Cache

將 SSD 記憶體設備添加到我的 ZFS 儲存會提高性能嗎?

  • September 2, 2012

伺服器有 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 儲存。我不能做任何“真正的”基準測試,因為這是一個生產系統(沒有測試系統的預算),但是使用dd並且bonnie++我不能獲得超過 ~40-50MB/s 的寫入和 ~70-90MB/s 的讀取。看來我應該可以做得更好,但我不確定在哪裡優化。根據我所讀到的內容,我認為將OCZ Vertex 2 Pro SSD作為我的 L2ARC 放入將是提高吞吐量的最佳性價比。

  1. 還有什麼我應該研究的東西來幫助提高性能嗎?如果不…
  2. 我怎麼知道我需要多大的記憶體設備?
  3. 僅使用一個 SSD 作為記憶體設備是否安全?

我的猜測是 ZFS Intent Log (ZIL) 限制了寫入性能。用作日誌設備的快速 SSD可能會有所幫助。一些提示:

  • ZIL 加速器:DRAM 還是快閃記憶體?詳細說明問題。
  • 您可能希望使用禁用的 ZIL 進行測試。請參閱我的其他文章
  • 如果您使用的是最近的 ZFS 版本,請查看 Oracle Solaris Express 中的 ZFS 功能,因為禁用 ZIL 的方式已經改變現在有一個新的同步文件系統屬性。
  • 直到最近,還無法從 ZFS 池中刪除日誌設備。當然,如果單個日誌設備發生故障,這會導致問題。因此建議為日誌設備使用鏡像。但是,最近的 ZFS 版本修復了這個限制,現在可以使用zpool remove. 如果您真的要安裝 SSD,請確保使用支持此功能的版本。

引用自:https://serverfault.com/questions/200540