Linux

解釋md的raid10,f2

  • November 17, 2021

我知道大多數各種 RAID 的工作原理。 但是我在研究linux軟體raid時偶然發現了推薦的raid10,f2模式。我真的不明白它是如何在 2 或 3 個磁碟上工作的。有人可以向我解釋嗎?或者給我指出一篇很好的文章來解釋它?

實際上,我認為Wikipedia比實際文件解釋得更好。這是文章中的文字。

Linux 核心軟體 RAID 驅動程序(稱為 md,表示“多設備”)可用於建構經典的 RAID 1+0 陣列,但也可以(從 2.6.9 版開始)作為具有一些有趣擴展的單層。標準“近”佈局,其中每個塊在 k 路條帶陣列中重複 n 次,相當於標準 RAID-10 排列,但它不需要 n 除 k。例如,2、3 和 4 個驅動器上的 n2 佈局如下所示:

2 drives         3 drives          4 drives
--------         ----------        --------------
A1  A1           A1  A1  A2        A1  A1  A2  A2
A2  A2           A2  A3  A3        A3  A3  A4  A4
A3  A3           A4  A4  A5        A5  A5  A6  A6
A4  A4           A5  A6  A6        A7  A7  A8  A8
..  ..           ..  ..  ..        ..  ..  ..  ..

4 驅動器範例與標準 RAID-1+0 陣列相同,而 3 驅動器範例是 RAID-1E 的軟體實現。2 驅動器範例等效於 RAID 1。該驅動程序還支持“遠”佈局,其中所有驅動器都分為 f 部分。所有塊在每個部分中都重複,但由一個設備偏移。例如,2 驅動器和 3 驅動器陣列上的 f2 佈局如下所示:

2 drives             3 drives
--------             ------------
A1  A2               A1   A2   A3
A3  A4               A4   A5   A6
A5  A6               A7   A8   A9
..  ..               ..   ..   ..
A2  A1               A3   A1   A2
A4  A3               A6   A4   A5
A6  A5               A9   A7   A8
..  ..               ..   ..   ..

這是為鏡像陣列的條帶化性能而設計的;順序讀取可以條帶化,就像在 RAID-0 中一樣,隨機讀取稍微快一些(可能是 10-20 %,因為使用了更快的磁碟外部扇區和更短的平均尋軌時間),順序和隨機寫入的性能大致相同到其他鏡像突襲。該佈局對於讀取比寫入更頻繁的系統表現良好,這在許多系統上是非常常見的情況。每個驅動器的第一個 1/f 是標準 RAID-0 陣列。因此,您可以在只有 2 個驅動器的鏡像集上獲得條帶化性能。near 和 far 選項可以同時使用。每個部分中的塊偏移 n 個設備。例如 n2 f2 佈局儲存每個扇區的 2×2 = 4 個副本,因此至少需要 4 個驅動器:

4 drives              4 drives
--------------        -------------------
A1  A1  A2  A2        A1  A1  A2  A2  A3
A3  A3  A4  A4        A3  A4  A4  A5  A5
A5  A5  A6  A6        A6  A6  A7  A7  A8
A7  A7  A8  A8        A8  A9  A9  A10 A10
..  ..  ..  ..        ..  ..  ..  ..  ..
A2  A2  A1  A1        A2  A3  A1  A1  A2
A4  A4  A3  A3        A5  A5  A3  A4  A4
A6  A6  A5  A5        A7  A8  A6  A6  A7
A8  A8  A7  A7        A10 A10 A8  A9  A9
..  ..  ..  ..        ..  ..  ..  ..  ..

從 Linux 2.6.18 開始,該驅動程序還支持偏移佈局,其中每個條帶重複 o 次。例如,2 驅動器和 3 驅動器陣列上的 o2 佈局佈局為:

2 drives       3 drives
--------       ----------
A1  A2         A1  A2  A3
A2  A1         A3  A1  A2
A3  A4         A4  A5  A6
A4  A3         A6  A4  A5
A5  A6         A7  A8  A9
A6  A5         A9  A7  A8
..  ..         ..  ..  ..

注意:k 是驅動器的數量,n#、f# 和 o# 是 mdadm –layout 選項中的參數。Linux 還可以使用 md 驅動程序(0、1、4、5、6)創建其他標準 RAID 配置。

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