在 Linux 下使用 RAID(五):安裝 RAID 6(條帶化雙分散式奇偶校驗)
在 Linux 中安裝 RAID 6
要建立一個 RAID 6,一組最少需要4個磁碟。RAID 6 甚至在有些組中會有更多磁碟,這樣將多個硬碟捆在一起,當讀取數據時,它會同時從所有磁碟讀取,所以讀取速度會更快,當寫數據時,因為它要將數據寫在條帶化的多個磁碟上,所以性能會較差。
現在,很多人都在討論為什麼我們需要使用 RAID 6,它的性能和其他 RAID 相比並不太好。提出這個問題首先需要知道的是,如果需要高容錯性就選擇 RAID 6。在每一個用於資料庫的高可用性要求較高的環境中,他們需要 RAID 6 因為資料庫是最重要,無論花費多少都需要保護其安全,它在視頻流環境中也是非常有用的。
RAID 6 的的優點和缺點
- 性能不錯。
- RAID 6 比較昂貴,因為它要求兩個獨立的磁碟用於奇偶校驗功能。
- 將失去兩個磁碟的容量來保存奇偶校驗信息(雙奇偶校驗)。
- 即使兩個磁碟損壞,數據也不會丟失。我們可以在更換損壞的磁碟後從校驗中重建數據。
- 讀性能比 RAID 5 更好,因為它從多個磁碟讀取,但對於沒有專用的 RAID 控制器的設備寫性能將非常差。
要求
要創建一個 RAID 6 最少需要4個磁碟。你也可以添加更多的磁碟,但你必須有專用的 RAID 控制器。使用軟體 RAID 我們在 RAID 6 中不會得到更好的性能,所以我們需要一個物理 RAID 控制器。
如果你新接觸 RAID 設置,我們建議先看完以下 RAID 文章。
我的伺服器設置
操作系統 : CentOS 6.5 Final
IP 地址 : 192.168.0.228
主機名 : rd6.tecmintlocal.com
磁碟 1 [20GB] : /dev/sdb
磁碟 2 [20GB] : /dev/sdc
磁碟 3 [20GB] : /dev/sdd
磁碟 4 [20GB] : /dev/sde
這是9篇系列教程的第5部分,在這裡我們將看到如何在 Linux 系統或者伺服器上使用四個 20GB 的磁碟(名為 /dev/sdb、 /dev/sdc、 /dev/sdd 和 /dev/sde)創建和設置軟體 RAID 6 (條帶化雙分散式奇偶校驗)。
第1步:安裝 mdadm 工具,並檢查磁碟
1、 如果你按照我們最進的兩篇 RAID 文章(第2篇和第3篇),我們已經展示了如何安裝mdadm
工具。如果你直接看的這篇文章,我們先來解釋下在 Linux 系統中如何使用mdadm
工具來創建和管理 RAID,首先根據你的 Linux 發行版使用以下命令來安裝。
# yum install mdadm [在 RedHat 系統]
# apt-get install mdadm [在 Debain 系統]
2、 安裝該工具後,然後來驗證所需的四個磁碟,我們將會使用下面的fdisk
命令來檢查用於創建 RAID 的磁碟。
# fdisk -l | grep sd
在 Linux 中檢查磁碟
3、 在創建 RAID 磁碟前,先檢查下我們的磁碟是否創建過 RAID 分區。
# mdadm -E /dev/sd[b-e]
# mdadm --examine /dev/sdb /dev/sdc /dev/sdd /dev/sde # 或
在磁碟上檢查 RAID 分區
注意: 在上面的圖片中,沒有檢測到任何 super-block 或者說在四個磁碟上沒有 RAID 存在。現在我們開始創建 RAID 6。
第2步:為 RAID 6 創建磁碟分區
4、 現在在 /dev/sdb
, /dev/sdc
, /dev/sdd
和 /dev/sde
上為 RAID 創建分區,使用下面的 fdisk 命令。在這裡,我們將展示如何在 sdb 磁碟創建分區,同樣的步驟也適用於其他分區。
創建 /dev/sdb 分區
# fdisk /dev/sdb
請按照說明進行操作,如下圖所示創建分區。
- 按
n
創建新的分區。 - 然後按
P
選擇主分區。 - 接下來選擇分區號為1。
- 只需按兩次回車鍵選擇默認值即可。
- 然後,按
P
來列印創建好的分區。 - 按
L
,列出所有可用的類型。 - 按
t
去修改分區。 - 鍵入
fd
設置為 Linux 的 RAID 類型,然後按回車確認。 - 然後再次使用
p
查看我們所做的更改。 - 使用
w
保存更改。
創建 /dev/sdb 分區
創建 /dev/sdc 分區
# fdisk /dev/sdc
創建 /dev/sdc 分區
創建 /dev/sdd 分區
# fdisk /dev/sdd
創建 /dev/sdd 分區
創建 /dev/sde 分區
# fdisk /dev/sde
創建 /dev/sde 分區
5、 創建好分區後,檢查磁碟的 super-blocks 是個好的習慣。如果 super-blocks 不存在我們可以按前面的創建一個新的 RAID。
# mdadm -E /dev/sd[b-e]1
# mdadm --examine /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 # 或
在新分區中檢查 RAID
第3步:創建 md 設備(RAID)
6、 現在可以使用以下命令創建 RAID 設備md0
(即 /dev/md0),並在所有新創建的分區中應用 RAID 級別,然後確認 RAID 設置。
# mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
# cat /proc/mdstat
創建 Raid 6 設備
7、 你還可以使用 watch 命令來查看當前創建 RAID 的進程,如下圖所示。
# watch -n1 cat /proc/mdstat
檢查 RAID 6 創建過程
8、 使用以下命令驗證 RAID 設備。
# mdadm -E /dev/sd[b-e]1
注意::上述命令將顯示四個磁碟的信息,這是相當長的,所以沒有截取其完整的輸出。
9、 接下來,驗證 RAID 陣列,以確認重新同步過程已經開始。
# mdadm --detail /dev/md0
檢查 Raid 6 陣列
第4步:在 RAID 設備上創建文件系統
10、 使用 ext4 為/dev/md0
創建一個文件系統,並將它掛載在 /mnt/raid6 。這裡我們使用的是 ext4,但你可以根據你的選擇使用任意類型的文件系統。
# mkfs.ext4 /dev/md0
在 RAID 6 上創建文件系統
11、 將創建的文件系統掛載到 /mnt/raid6,並驗證掛載點下的文件,我們可以看到 lost+found 目錄。
# mkdir /mnt/raid6
# mount /dev/md0 /mnt/raid6/
# ls -l /mnt/raid6/
12、 在掛載點下創建一些文件,在任意文件中添加一些文字並驗證其內容。
# touch /mnt/raid6/raid6_test.txt
# ls -l /mnt/raid6/
# echo "tecmint raid setups" > /mnt/raid6/raid6_test.txt
# cat /mnt/raid6/raid6_test.txt
驗證 RAID 內容
13、 在 /etc/fstab 中添加以下條目使系統啟動時自動掛載設備,操作系統環境不同掛載點可能會有所不同。
# vim /etc/fstab
/dev/md0 /mnt/raid6 ext4 defaults 0 0
自動掛載 RAID 6 設備
14、 接下來,執行mount -a
命令來驗證 fstab 中的條目是否有錯誤。
# mount -av
驗證 RAID 是否自動掛載
第5步:保存 RAID 6 的配置
15、 請注意,默認情況下 RAID 沒有配置文件。我們需要使用以下命令手動保存它,然後檢查設備/dev/md0
的狀態。
# mdadm --detail --scan --verbose >> /etc/mdadm.conf
# cat /etc/mdadm.conf
# mdadm --detail /dev/md0
保存 RAID 6 配置
檢查 RAID 6 狀態
第6步:添加備用磁碟
16、 現在,已經使用了4個磁碟,並且其中兩個作為奇偶校驗信息來使用。在某些情況下,如果任意一個磁碟出現故障,我們仍可以得到數據,因為在 RAID 6 使用雙奇偶校驗。
如果第二個磁碟也出現故障,在第三塊磁碟損壞前我們可以添加一個新的。可以在創建 RAID 集時加入一個備用磁碟,但我在創建 RAID 集合前沒有定義備用的磁碟。不過,我們可以在磁碟損壞後或者創建 RAID 集合時添加一塊備用磁碟。現在,我們已經創建好了 RAID,下面讓我演示如何添加備用磁碟。
為了達到演示的目的,我已經熱插入了一個新的 HDD 磁碟(即 /dev/sdf),讓我們來驗證接入的磁碟。
# ls -l /dev/ | grep sd
檢查新磁碟
17、 現在再次確認新連接的磁碟沒有配置過 RAID ,使用 mdadm 來檢查。
# mdadm --examine /dev/sdf
在新磁碟中檢查 RAID
注意: 像往常一樣,我們早前已經為四個磁碟創建了分區,同樣,我們使用 fdisk 命令為新插入的磁碟創建新分區。
# fdisk /dev/sdf
為 /dev/sdf 創建分區
18、 在 /dev/sdf 創建新的分區後,在新分區上確認沒有 RAID,然後將備用磁碟添加到 RAID 設備 /dev/md0 中,並驗證添加的設備。
# mdadm --examine /dev/sdf
# mdadm --examine /dev/sdf1
# mdadm --add /dev/md0 /dev/sdf1
# mdadm --detail /dev/md0
在 sdf 分區上驗證 Raid
添加 sdf 分區到 RAID
驗證 sdf 分區信息
第7步:檢查 RAID 6 容錯
19、 現在,讓我們檢查備用驅動器是否能自動工作,當我們陣列中的任何一個磁碟出現故障時。為了測試,我將一個磁碟手工標記為故障設備。
在這裡,我們標記 /dev/sdd1 為故障磁碟。
# mdadm --manage --fail /dev/md0 /dev/sdd1
檢查 RAID 6 容錯
20、 讓我們查看 RAID 的詳細信息,並檢查備用磁碟是否開始同步。
# mdadm --detail /dev/md0
檢查 RAID 自動同步
哇塞! 這裡,我們看到備用磁碟激活了,並開始重建進程。在底部,我們可以看到有故障的磁碟 /dev/sdd1 標記為 faulty。可以使用下面的命令查看進程重建。
# cat /proc/mdstat
RAID 6 自動同步
結論:
在這裡,我們看到了如何使用四個磁碟設置 RAID 6。這種 RAID 級別是具有高冗餘的昂貴設置之一。在接下來的文章中,我們將看到如何建立一個嵌套的 RAID 10 甚至更多。請繼續關注。
via: http://www.tecmint.com/create-raid-6-in-linux/
作者:Babin Lonston 譯者:strugglingyouth 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive