LSI MegaRAID 實際如何佈置 RAID10 集?
我正在嘗試在 LSI MegaRAID 控制器上設置 RAID10。我不清楚 RAID 控制器將如何在物理驅動器上實際佈置 RAID 集。
部分問題在於 MegaRAID 使用的術語似乎非常不一致。同一個想法通常有多個術語,有時他們似乎使用同一個術語來指代多個想法。我將嘗試使用 MegaCli 命令似乎最常用的術語。
MegaRAID 要求 RAID10 集中有兩到八個陣列。每個陣列必須包含兩個的倍數的物理驅動器。RAID10 集中的每個陣列必須具有相同數量的物理驅動器。
每個陣列是RAID10集,然後將陣列連接在一起嗎?如果是這樣,數組必須具有相同大小的事實是否意味著數組正在被條帶化?如果是這樣,考慮到每個陣列都是條帶化的,然後在此之上還有一層額外的條帶化,我是否應該擔心性能方面的冗餘?(或者這會是一件好事嗎?)
但是,如果每個陣列都是 RAID10 集,為什麼 MegaRAID 要求您至少有兩個?
如果每個陣列都不是 RAID10 集,為什麼它要求陣列具有 2 倍數的物理驅動器?
在文件中,它將數組稱為跨度,它在其他地方定義如下:
磁碟跨越允許多個驅動器像一個大驅動器一樣執行。跨越通過組合現有資源或添加相對便宜的資源來克服磁碟空間不足並簡化儲存管理。例如,可以將四個 20 GB 驅動器組合起來,在作業系統中顯示為單個 80 GB 驅動器。單獨的跨越並不能提供可靠性或性能增強。跨區虛擬驅動器必須具有相同的條帶大小並且必須是連續的。
對我來說,這意味著連接,或者充其量是條帶化。讓我們大方一點,稱它為 RAID0。
因此,如果我必須定義兩個陣列,並且陣列是跨度,跨度是 RAID0,那麼我將定義兩個 RAID0 集。如果我必須定義其中兩個,那麼它反映了它們是有道理的。但這將是兩個 RAID0 或 RAID0+1 的 RAID1,這是不好的。
那麼,我希望,如果我定義了三個陣列,那將創建一個 RAID0 集的三向鏡像,但如果我真的這樣做,邏輯驅動器的總容量仍然是所有驅動器的一半,而不是三分之一。所以這個結論也沒有意義。
問題是我在一個 RAID10 集中有 18 個驅動器。在我使用過的所有其他 RAID 系統中,我只需創建 9 個雙驅動器鏡像,然後將它們條帶化,但我無法使用 MegaRAID 做到這一點。因為必須有 2 到 8 個陣列,並且每個陣列必須有偶數個驅動器,所以我能想到的唯一可行的配置是三個陣列,每個陣列有六個驅動器,但我覺得這樣做很奇怪,沒有更好地了解這些磁碟的實際佈局方式。
這是我想太多了嗎?我是否應該讓 MegaRAID 做它的事情並希望驅動器佈局最佳?
LSI 聲稱他們的 RAID 10 方法不同於標准定義,因為它們遵循SNIA 規範。
使用 MegaRAID,RAID 1 可以由兩個驅動器(更傳統的定義)到多達 16 個驅動器組成。MegaRAID RAID 1 必須是偶數個驅動器。對於 MegaRAID 1,如果虛擬驅動器 (VD) 中有兩個以上的驅動器,則 VD 由條帶化鏡像對組成。換句話說,傳統上被視為 RAID 10(條帶鏡像對)的內容被 MegaRAID 報告為 RAID 1。
對於 MegaRAID RAID 10,MegaRAID 使用 SNIA PRL=11, RLQ=0,而不是傳統的條帶化鏡像對方法,例如,傳統的八驅動器 RAID 10 將由八個條帶化的鏡像對組成,MegaRAID ‘RAID 10’實際上是傳統 RAID 10 跨度中的四個驅動器(兩個鏡像對條帶化)在一個跨度條帶化與另外四個條帶鏡像對驅動器中。最多支持其中的八個跨度。
這意味著如果您想要 RAID10,請選擇 LSI 標記的 RAID1。LSI 標記為 RAID10 的內容可能更好地稱為 RAID100 或 RAID 1+0+0。