Cache
將 SSD 記憶體設備添加到我的 ZFS 儲存會提高性能嗎?
伺服器有 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 放入將是提高吞吐量的最佳性價比。
- 還有什麼我應該研究的東西來幫助提高性能嗎?如果不…
- 我怎麼知道我需要多大的記憶體設備?
- 僅使用一個 SSD 作為記憶體設備是否安全?
我的猜測是 ZFS Intent Log (ZIL) 限制了寫入性能。用作日誌設備的快速 SSD可能會有所幫助。一些提示:
- ZIL 加速器:DRAM 還是快閃記憶體?詳細說明問題。
- 您可能希望使用禁用的 ZIL 進行測試。請參閱我的其他文章。
- 如果您使用的是最近的 ZFS 版本,請查看 Oracle Solaris Express 中的 ZFS 功能,因為禁用 ZIL 的方式已經改變。現在有一個新的同步文件系統屬性。
- 直到最近,還無法從 ZFS 池中刪除日誌設備。當然,如果單個日誌設備發生故障,這會導致問題。因此建議為日誌設備使用鏡像。但是,最近的 ZFS 版本修復了這個限制,現在可以使用
zpool remove
. 如果您真的要安裝 SSD,請確保使用支持此功能的版本。