Linux中國

在 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

Check Hard Disk in Linux

在 Linux 中檢查磁碟

3、 在創建 RAID 磁碟前,先檢查下我們的磁碟是否創建過 RAID 分區。

# mdadm -E /dev/sd[b-e]
# mdadm --examine /dev/sdb /dev/sdc /dev/sdd /dev/sde # 或

Check Raid on Disk

在磁碟上檢查 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保存更改。

Create sdb Partition

創建 /dev/sdb 分區

創建 /dev/sdc 分區

# fdisk /dev/sdc

Create sdc Partition

創建 /dev/sdc 分區

創建 /dev/sdd 分區

# fdisk /dev/sdd

Create sdd Partition

創建 /dev/sdd 分區

創建 /dev/sde 分區

# fdisk /dev/sde

Create sde Partition

創建 /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 # 或

Check Raid on New Partitions

在新分區中檢查 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

Create Raid 6 Device

創建 Raid 6 設備

7、 你還可以使用 watch 命令來查看當前創建 RAID 的進程,如下圖所示。

# watch -n1 cat /proc/mdstat

Check Raid 6 Process

檢查 RAID 6 創建過程

8、 使用以下命令驗證 RAID 設備。

# mdadm -E /dev/sd[b-e]1

注意::上述命令將顯示四個磁碟的信息,這是相當長的,所以沒有截取其完整的輸出。

9、 接下來,驗證 RAID 陣列,以確認重新同步過程已經開始。

# mdadm --detail /dev/md0

Check Raid 6 Array

檢查 Raid 6 陣列

第4步:在 RAID 設備上創建文件系統

10、 使用 ext4 為/dev/md0創建一個文件系統,並將它掛載在 /mnt/raid6 。這裡我們使用的是 ext4,但你可以根據你的選擇使用任意類型的文件系統。

# mkfs.ext4 /dev/md0

Create File System on Raid

在 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

Verify Raid Content

驗證 RAID 內容

13、 在 /etc/fstab 中添加以下條目使系統啟動時自動掛載設備,操作系統環境不同掛載點可能會有所不同。

# vim /etc/fstab

/dev/md0                /mnt/raid6              ext4    defaults        0 0

Automount Raid 6 Device

自動掛載 RAID 6 設備

14、 接下來,執行mount -a命令來驗證 fstab 中的條目是否有錯誤。

# mount -av

Verify Raid Automount

驗證 RAID 是否自動掛載

第5步:保存 RAID 6 的配置

15、 請注意,默認情況下 RAID 沒有配置文件。我們需要使用以下命令手動保存它,然後檢查設備/dev/md0的狀態。

# mdadm --detail --scan --verbose >> /etc/mdadm.conf
# cat /etc/mdadm.conf
# mdadm --detail /dev/md0

Save Raid 6 Configuration

保存 RAID 6 配置

Check Raid 6 Status

檢查 RAID 6 狀態

第6步:添加備用磁碟

16、 現在,已經使用了4個磁碟,並且其中兩個作為奇偶校驗信息來使用。在某些情況下,如果任意一個磁碟出現故障,我們仍可以得到數據,因為在 RAID 6 使用雙奇偶校驗。

如果第二個磁碟也出現故障,在第三塊磁碟損壞前我們可以添加一個​​新的。可以在創建 RAID 集時加入一個備用磁碟,但我在創建 RAID 集合前沒有定義備用的磁碟。不過,我們可以在磁碟損壞後或者創建 RAID 集合時添加一塊備用磁碟。現在,我們已經創建好了 RAID,下面讓我演示如何添加備用磁碟。

為了達到演示的目的,我已經熱插入了一個新的 HDD 磁碟(即 /dev/sdf),讓我們來驗證接入的磁碟。

# ls -l /dev/ | grep sd

Check New Disk

檢查新磁碟

17、 現在再次確認新連接的磁碟沒有配置過 RAID ,使用 mdadm 來檢查。

# mdadm --examine /dev/sdf

Check Raid on New Disk

在新磁碟中檢查 RAID

注意: 像往常一樣,我們早前已經為四個磁碟創建了分區,同樣,我們使用 fdisk 命令為新插入的磁碟創建新分區。

# fdisk /dev/sdf

Create sdf Partition

為 /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

Verify Raid on sdf Partition

在 sdf 分區上驗證 Raid

Add sdf Partition to Raid

添加 sdf 分區到 RAID

Verify sdf Partition Details

驗證 sdf 分區信息

第7步:檢查 RAID 6 容錯

19、 現在,讓我們檢查備用驅動器是否能自動工作,當我們陣列中的任何一個磁碟出現故障時。為了測試,我將一個磁碟手工標記為故障設備。

在這裡,我們標記 /dev/sdd1 為故障磁碟。

# mdadm --manage --fail /dev/md0 /dev/sdd1

Check Raid 6 Fault Tolerance

檢查 RAID 6 容錯

20、 讓我們查看 RAID 的詳細信息,並檢查備用磁碟是否開始同步。

# mdadm --detail /dev/md0

Check Auto Raid Syncing

檢查 RAID 自動同步

哇塞! 這裡,我們看到備用磁碟激活了,並開始重建進程。在底部,我們可以看到有故障的磁碟 /dev/sdd1 標記為 faulty。可以使用下面的命令查看進程重建。

# cat /proc/mdstat

Raid 6 Auto Syncing

RAID 6 自動同步

結論:

在這裡,我們看到了如何使用四個磁碟設置 RAID 6。這種 RAID 級別是具有高冗餘的昂貴設置之一。在接下來的文章中,我們將看到如何建立一個嵌套的 RAID 10 甚至更多。請繼續關注。

via: http://www.tecmint.com/create-raid-6-in-linux/

作者:Babin Lonston 譯者:strugglingyouth 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國