Cache

ZFS - 啟用或禁用磁碟記憶體?

  • December 19, 2019

我在具有 4 x WD Red SATA HDD(通過 HBA 模式下的 PERC H330 連接)的伺服器上使用 RAIDZ1 設置 ZFS(通過 FreeNAS)。

伺服器連接到 UPS。

對於 ZFS 和此設置,啟用每個磁碟的 HD 記憶體是否有意義,或者儘管有 UPS,這是否非常危險?

您絕對應該啟用磁碟記憶體。

基本原理是 ZFS假定啟用了磁碟記憶體,因此通過適當和特定的 SATA/SAS 命令(ATA FLUSH、FUA 等)刷新任何關鍵寫入(即:同步寫入和超級塊重寫)。

啟用磁碟記憶體允許利用現代磁碟的寫入組合功能,而不會影響池的可靠性。

這顯然假設您的磁碟實際上遵循記憶體刷新命令,這是現代(2006 年後)磁碟的規範。在罕見的記憶體中,您的磁碟與記憶體刷新有關,那麼您應該禁用它。

作為附加資訊,我建議您閱讀zfs_nocacheflush可調參數描述:

ZFS 使用屏障(易失性記憶體刷新命令)來確保設備將數據送出到永久介質。這確保了高速記憶體易失的設備(例如 HDD)的一致的介質上狀態。

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