Ubuntu

軟體 RAID 5 與 RAID 6 性能

  • August 20, 2011

我在 Ubuntu 10.04.03 下有一個原始軟體 RAID 5 設置,3 個設備,64k 塊。性能是可以接受的:

# 4GB write
dd if=/dev/zero of=ddfile.big bs=1MB count=4k
4095290816 bytes (4.1 GB) copied, 51.743 s, 79.1 MB/s

# 4GB read
dd if=ddfile.big of=/dev/null
4095290816 bytes (4.1 GB) copied, 62.5932 s, 65.4 MB/s

然後我去了一個有 3 個設備的軟體 RAID 6(2 個被標記為失去,需要從它們複製數據),128k 塊。我還在新陣列上設置了 LVM。性能差得驚人:

# 4GB write
dd if=/dev/zero of=ddfile.big bs=1MB count=4k
4096000000 bytes (4.1 GB) copied, 106.406 s, 38.5 MB/s 

# 4GB read
dd if=ddfile.big of=/dev/null
4096000000 bytes (4.1 GB) copied, 129.317 s, 31.7 MB/s

我試圖了解是什麼使這些讀寫速度減慢了一半。難道是LVM?還是新raid陣列的降級狀態?或者可能是塊大小差異(64k vs 128k)?除此之外,我使用 ext4 作為文件系統,沒有選項。

這種情況的錯誤數量在這裡令人震驚。

我去了一個有 3 個設備的軟體 RAID 6

RAID-6 陣列有兩個奇偶校驗。這意味著對於寫入的每一位,(基本上)都會進行兩次計算,每個奇偶校驗一次。不建議在小於 5 的陣列上使用 RAID-6(小於 4 會適得其反!)。從本質上講,你做太多的工作沒有任何收穫。

2 被標記為失踪

這就是它真正開始走下坡路的地方。您正在執行 RAID-6,但缺少兩個設備。所以你正在計算平價並將它放在……無處?(嘿,有軟體 RAID-6 經驗的人,這是真的嗎?它還能計算嗎?如果是,它會被丟棄,還是會嘗試將奇偶校驗寫入驅動器?)

而且您從多個主軸中獲得的任何收益都將被完全消除,因為您沒有使用任何其他主軸。

性能差得驚人

在這一點上,它並沒有那麼令人震驚。你做大量的事情完全沒有任何好處。

那你該怎麼辦?

問自己一些問題。為什麼需要 RAID-6?是因為它比 RAID-5 更容錯嗎?如果是這樣,您應該了解 RAID-6 可以保護您免受哪些故障模式:

它有兩個平價。每當您遇到驅動器故障,然後更換驅動器,然後在重建期間另一個驅動器出現故障時,這就會發揮作用。這通常發生在您收到一批壞的驅動器時,或者當您的驅動器不斷暴露在高溫下(可能比您想像的要高)。此外,每讀取 10^14 位(即超過 11TB 的數據),就有可能發生一次不可恢復的讀取錯誤 (URE)。如果它發生在 RAID 重建過程中,那就不好了,RAID-6 可以保護它。

告訴我們有關您要建構的陣列的更多資訊。你為什麼要建造它,容量需要是什麼,你需要什麼樣的性能?有了這些資訊,我們可以為您提供建議。

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