Solaris

ZFS/Solaris 上的 NFS IO 優先級

  • March 2, 2014

我有一個 Nexenta/ZFS NAS,用作小型 VMware vSphere 場的 NFS 備份儲存。目前我有 9x1TB 磁碟全部鏡像(最後一個磁碟配置為寫入日誌設備)。

磁碟性能非常適合我對 NFS 的需求。但是,我注意到的一件事是,如果我直接在 NAS 上執行任何 IO 繁重的操作,VM 的性能就會變慢。例如,在同一個 zpool 內的兩個不同 ZFS 文件系統之間複製 1TB 的數據。

有什麼好的方法可以確保 NFS 守護程序執行的 IO 請求優先於磁碟上的其他 IO 操作?在一個理想的世界裡,我會讓我的虛擬機備份到一個完全獨立的 zpool 上,這樣它們就不會受到 ZFS 文件系統上的負載的影響。但是,我想知道是否有使用單個 zpool 的好方法。

Linux 有 ionice,所以如果我使用它,我可以在mv命令前加上一個ioniceif 我要以低 IO 優先級移動大量數據。但是,我認為這在 Solaris 核心上不可用。

有什麼建議麼?

AFAIK,對於 ZFS,所有 I/O 都是 I/O。我的意思是它不會區分您的本地操作和 NFS 要求 ZFS 執行的操作。

您可以使用調度類來以某種方式減慢在本地複制所有這些數據的使用者態程序。

順便說一句,用於寫入日誌設備的專用 1TB 磁碟根本不會幫助您,除非該特定磁碟比其他磁碟快得多(例如 SATA 7200 與 SAS 15k)。我們通常將 SSD 用於日誌/記憶體設備,或者根本不使用。

添加更多記憶體..之後。您可能需要考慮添加更多 RAM。SSD 上的 L2ARC 很棒,我有幾個。它們不需要鏡像。ZIL 必須被鏡像(不必鏡像,但如果不是,則遊戲結束,並且存在一些失敗)。您可能還想添加一些 RAM。

德里克

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