Solaris

ZFS 性能:我需要在池或文件系統中保留可用空間嗎?

  • June 26, 2019

我知道 ZFS 的性能在很大程度上取決於可用空間的數量:

保持池空間使用率低於 80% 以保持池性能。目前,當池非常滿且文件系統頻繁更新時(例如在繁忙的郵件伺服器上),池性能可能會下降。完整的池可能會導致性能損失,但不會導致其他問題。

$$ … $$請記住,即使大部分是 95-96% 範圍內的靜態內容,寫入、讀取和重新同步的性能也可能會受到影響。ZFS_Best_Practices_Guide,solarisinternals.com (archive.org)

現在,假設我有一個 10T 的 raidz2 池,託管一個 ZFS 文件系統volume。現在我創建一個子文件系統volume/test並給它預留5T。

然後我將每個 NFS 的兩個文件系統都掛載到某個主機並執行一些工作。我知道我不能寫volume超過 5T,因為剩下的 5T 保留給volume/test.

我的第一個問題是,如果我volume用 ~5T 填充我的掛載點,性能會如何下降?它會下降嗎,因為該文件系統中沒有用於 ZFS 的寫時複製和其他元數據的可用空間?還是會保持不變,因為 ZFS 可以使用為 保留的空間內的可用空間volume/test

現在是第二個問題。如果我按如下方式更改設置,會有什麼不同嗎?volume現在有兩個文件系統,volume/test1volume/test2. 兩者均獲得 3T 預留(但沒有配額)。現在假設,我將 7T 寫入test1. 兩個文件系統的性能是相同的,還是每個文件系統的性能都不同?它會下降,還是保持不變?

謝謝!

是的。您需要在池中保留可用空間。它主要用於寫時複製操作和快照。使用率在 85% 左右時性能下降。你可以走得更高,但有一定的影響。

不要亂預訂。尤其是 NFS。這不是必需的。也許對於 zvol,但不是 NFS。

不過,我沒有看到混亂。如果你有 10T,不要使用超過 85%。適當調整你的份額,使用配額來限制它們的使用。或者不使用任何配額並監控您的整體使用情況。

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