Persistent L2ARC 將實現

zfs 有放置於 RAM 中的 ARC (Adaptive Replacement Cache) - 相當於 Linux 下的 page cache, 也有放置於高速存儲如 SSD 上的 L2ARC (Level 2 ARC), 類似於 bcache.

ARC 放置於內存中, 重啟的話就需要重新 warm up, 很理所當然. 但 L2ARC 呢? 很可惜的, 雖然它是存放於 persistent storage 上, 但目前的設計是重啟後先前的成果就丟棄了, sigh~

不過, 這個情況即將改變, illumos 正在實現 Persistent ARC, 完成後就會進到 ZoL 中, 意思是, 以後如果 zfs 因 fragment 造成 throughput 不高時 (會讓 sequencial access 變成 randrom access, 這時候存儲的 IOPS 對於提高 throughput 就很重要了), L2ARC 能更好的降低 latency 及增加 throughput, 也不用怕重啟後大型存儲要重新 warm up 造成的效能低落了, 可參考以下討論

https://github.com/zfsonlinux/zfs/pull/2672#issuecomment-153723814