在 Linux 下使用 RAID(五):安裝 RAID 6(條帶化雙分散式奇偶校驗)
RAID 6 是 RAID 5 的升級版,它有兩個分散式奇偶校驗,即使兩個磁碟發生故障後依然有容錯能力。在兩個磁碟同時發生故障時,系統的關鍵任務仍然能執行。它與 RAID 5 相似,但效能更健壯,因為它多用了一個磁碟來進行奇偶校驗。
在之前的文章中,我們已經在 RAID 5 看了分散式奇偶校驗,但在本文中,我們將看到的是 RAID 6 雙分散式奇偶校驗。不要期望比其他 RAID 有更好的效能,除非你也安裝了一個專用的 RAID 控制器。在 RAID 6 中,即使我們失去了2個磁碟,我們仍可以透過更換磁碟,從校驗中構建資料,然後取回資料。
在 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。
- 只需按兩次Enter鍵選擇預設值即可。
- 然後,按
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 下使用 RAID(四):建立 RAID 5(條帶化與分散式奇偶校驗)LinuxAI分散式
- RAID群組和奇偶校驗群組(轉)AI
- 解析Linux環境下RAID 6的Q校驗演算法LinuxAI演算法
- 在 Linux 下配置 RAIDLinuxAI
- 在 Linux 下使用 RAID(一):介紹 RAID 的級別和概念LinuxAI
- 在 Linux 下使用 RAID(三):用兩塊磁碟建立 RAID 1(映象)LinuxAI
- ASM與RAID中的條帶化及映象ASMAI
- Raid1 Raid2 Raid5 Raid6 Raid10如何選擇使用AI
- linux raid 0 raid 1 raid 10LinuxAI
- raid6磁碟陣列的Q校驗演算法深度挖掘AI陣列演算法
- Solaris 8 下RAID1和RAID5的安裝及恢復(轉)AI
- Linux RAID卡優化LinuxAI優化
- 淺談奇偶校驗
- 使用mdadm在Linux中配置RAID(轉)LinuxAI
- SOLRSI8下RAID1和RAID5的安裝及恢復(轉)SolrAI
- C實現奇偶校驗
- raid1 raid2 raid5 raid6 raid10的優缺點和做各自raid需要幾塊硬碟AI硬碟
- RAID5到RAID6,RAID6磁碟陣列資料安全提高多少?【轉】AI陣列
- 在Linux中,RAID 是什麼?LinuxAI
- linux下軟raid的實現LinuxAI
- Raid Raid0 Raid1 Raid5 Raid0+1 Raid1+0AI
- 在Linux中,如何配置軟體RAID?LinuxAI
- 在Linux中,RAID級別有哪些?LinuxAI
- Linux 中軟體 RAID 的使用LinuxAI
- raid5條帶分析方法+ 資料恢復過程AI資料恢復
- 在Linux操作下解除安裝,安裝redhat自帶的JDKLinuxRedhatJDK
- Linux的軟RAIDLinuxAI
- 分析Linux raid6同步成raid5導致資料丟失的情況LinuxAI
- Linux下軟體RAID的實現 (轉)LinuxAI
- PostgreSQL在Linux下安裝與使用SQLLinux
- 在RedHat Linux下安裝惠普磁帶機(轉)RedhatLinux
- sysbench fileio 壓測磁碟raid 5 raid 1 raid10 raid 50 情況AI
- RAID0、RAID1、RAID0+1、RAID5原理介紹AI
- ☆RHEL6建立軟raid的使用☆——經典之作AI
- 磁碟陣列關於Raid0,Raid1,Raid5,Raid10陣列AI
- Linux Software RAID step by stepLinuxAI
- RAIDAI
- Linux下RAID磁碟陣列的原理與搭建LinuxAI陣列