對於大量小文件,JBOD 或條帶化哪個更好?

對於大量小文件,JBOD 或條帶化哪個更好?

我有一個使用多磁碟配置的伺服器LUKS 上的 LVM在 JBOD 模式下。但我注意到htopCPU 使用率的核心時間通常非常高,並且iotopjbd2/dm-5-8dmcrypt_write/2進程經常佔用大部分 IO%

我查了一下fio,發現4K隨機IOPS也遠低於每個磁碟機的值,更不用說整組LVM磁碟了。我認為,當向JBOD 集添加更多磁碟時,LVM 可以並行提供對各個磁碟的訪問,因此,例如,我有4 個SSD 驅動器,每個驅動器為600k IOPS,那麼它應該能夠實現~4×600k IOPS,但看來事實並非如此

因此,我正在嘗試進行一些調整,可能是透過從頭開始重建驅動器集。由於伺服器應該處理大量平均約 40-80KB 的小文件,我認為 JBOD 應該更好,因為即使預設的 RAID0 條帶大小也比文件本身大。此外,如果在 RAID0 模式下運行,則每次讀取/寫入小檔案時,所有磁碟機中的所有條帶都將不必要地存取

我的理解正確嗎?這種情況下如何提高IOPS?更改為 Btrfs 或 ZFS 並刪除 LVM 層會有幫助嗎?

答案1

更新 - 我最初的答案仍然有用,但在重讀時我發現您正在使用 SSD。這讓我認為你找錯地方了。我認為拖慢您速度的是資料的加密/解密。也許您可以考慮將其移至 SSD 韌體中完成。

初步回答——

我希望 RAID0 能夠為您提供比 JBOD 更好的效能,因為它大大增加了檔案位於不同磁碟上的機會,從而加快了讀取速度。

(假設陣列有5 個相同大小的磁碟,且1/5 已滿且沒有碎片- 對於RAUD0,資料將分佈在5 個磁碟上,但全部在JBOD 中的1 個磁碟上。即使磁碟已滿(但合理) nrw) - 所有最新文件將位於 1 個磁碟上 - 因此僅查看最新文件的操作將再次僅位於帶有 JBOD 的 1 個磁碟上)

如果檔案位於同一區/磁碟區塊中,jbod 相對於 RAID0 仍然沒有任何優勢。 JBODS的優點是它能夠使用不同大小的磁碟,能夠部分恢復資料並更容易增加磁碟空間。

相關內容