10.3 使用 mdadm 建立複雜 RAID 10

10.3.1 瞭解 mdadm RAID10

mdadm 中,RAID10 層級可建立單一複雜軟體 RAID,它結合了 RAID 0 (分割) 與 RAID 1 (鏡像) 的功能。所有資料區塊的多個複本按照分割原則分佈於多個設備之上。元件設備的大小應相同。

比較複雜 RAID10 與巢狀 RAID 10 (1+0)

複雜 RAID 10 與巢狀 RAID 10 (1+0) 的用途相似,但有以下幾處差異︰

表 10-5 比較複雜與巢狀 RAID 10

特性

mdadm RAID10 選項

巢狀 RAID 10 (1+0)

設備數目

允許元件設備的數目為偶數或奇數

要求元件設備的數目為偶數

元件設備

視為單一 RAID 設備進行管理

視為巢狀 RAID 設備進行管理

等量磁區

在元件設備近配置或遠配置中發生分割。

遠配置提供根據磁碟機數目 (而非 RAID 1 配對的數目) 調整的連續讀取輸送量。

分割跨元件設備連續發生

多個資料複本

兩個或更多複本,最多為陣列中的設備數

每個鏡像複製區段上的複本

熱備用設備

單一備用可用於所有元件設備

為每個基礎鏡像複製陣列設定備用,或者為服務所有鏡像複製的備用群組設定所用備用。

mdadm RAID10 中的複製本數目

設定 mdadm RAID10 陣列時,必須指定每個所需資料區塊的複製本數目。複製本的預設數目是 2,但該值可以是 2 至陣列中設備數目的任一值。

mdadm RAID10 中的設備數目

必須至少使用與指定的複製本數目相同的元件設備。但是,RAID10 陣列中的元件設備數目不必是每個資料區塊複製本數目的倍數。有效的儲存大小為設備數目除以複製本數目。

例如,如果您為使用 5 個元件設備建立的陣列指定 2 個複製本,每個區塊的複本儲存在兩個不同的設備之上。則所有資料的一個複本的有效儲存大小是元件設備大小的 5/2 或 2.5 倍。

近配置

使用近配置,資料區塊的複本被分割到不同元件設備上鄰近位置。即一個資料區塊的多個複本位於不同設備中偏移值類似的位置。近配置是 RAID10 的預設配置。例如,如果使用奇數數目的元件設備和兩個資料複本,某些複本可能是設備中的一個區塊。

mdadm RAID10 之近配置的讀與寫效能與磁碟機數目超過其半數的 RAID 0 相似。

具有偶數數目的磁碟和兩個複製本的近配置︰

sda1 sdb1 sdc1 sde1
  0    0    1    1
  2    2    3    3
  4    4    5    5
  6    6    7    7
  8    8    9    9

具有奇數數目的磁碟和兩個複製本的近配置:

sda1 sdb1 sdc1 sde1 sdf1
  0    0    1    1    2
  2    3    3    4    4
  5    5    6    6    7
  7    8    8    9    9
  10   10   11   11   12

遠配置

遠配置將資料分割到所有磁碟機的較前部分,然後將資料的另一複本分割到所有磁碟機的較後部分,確保區塊的所有複本位於不同的磁碟機。第二組值啟始於元件磁碟機的中間部分。

使用遠配置,mdadm RAID10 的讀取效能與超出其全部磁碟機數目的 RAID 0 相似,但寫入效能大大低於 RAID 0,因為它會更多搜尋磁碟機開頭部分。遠配置最適用於讀密集型操作,如唯讀檔案伺服器。

raid10 的寫入速度與其他鏡像 RAID 類型相似 (例如 raid1 和使用近配置的 raid10),因為該檔案系統的升級程式會以一種比 raw 寫入更佳的方式排程寫入操作。使用遠配置的 raid10 最適合鏡像寫入應用程式。

具有偶數數目的磁碟和兩個複製本的遠配置:

sda1 sdb1 sdc1 sde1
  0    1    2    3
  3    5    6    7       
  . . .
  3    1    2    3
  7    4    5    6

具有奇數數目的磁碟和兩個複製本的遠配置:

sda1 sdb1 sdc1 sde1 sdf1
  0    1    2    3    4
  5    6    7    8    9
  . . .
  4    0    1    2    3
  9    5    6    7    8

10.3.2 使用 mdadm 建立 RAID 10

mdadm 的 RAID10 選項可建立未經巢狀化的 RAID 10 設備。如需有關 RAID10- 的資訊,請參閱節 10.3, 使用 mdadm 建立複雜 RAID 10

此節的程序使用下表顯示的設備名稱。請確保將設備名稱修改為自己設備的名稱。

表 10-6 使用 mdadm RAID10 選項建立 RAID 10 的案例

Raw 設備

RAID10 (近或遠分割規劃)

/dev/sdf1

/dev/sdg1

/dev/sdh1

/dev/sdi1

/dev/md3

  1. 在 YaST 中,於要在 RAID 中使用的設備上建立 0xFD Linux RAID 分割區,如 /dev/sdf1/dev/sdg1/dev/sdh1/dev/sdi1

  2. 開啟終端機主控台,然後以 root 使用者或同等身分登入。

  3. 建立 RAID 10 指令。在指令提示符下,輸入 (在同一行)︰

    mdadm --create /dev/md3 --run --level=10 --chunk=4 --raid-devices=4 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1
    
  4. 在 RAID 10 設備 /dev/md3 上建立 Reiser 檔案系統。在指令提示符下,輸入

    mkfs.reiserfs /dev/md3
    
  5. 編輯 /etc/mdadm.conf 檔案,以新增元件設備和 RAID 設備 /dev/md3 的項目。例如:

    DEVICE /dev/md3
    
  6. 編輯 /etc/fstab 檔案以新增 RAID 10 設備 /dev/md3 的項目。

  7. 重新載入伺服器。

    RAID 10 設備已掛接到 /raid10