歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 在 Linux 下使用 RAID(六):設置 RAID 10 或 1 + 0(嵌套)

在 Linux 下使用 RAID(六):設置 RAID 10 或 1 + 0(嵌套)

日期:2017/2/28 13:57:01   编辑:Linux教程

RAID 10 是組合 RAID 1 和 RAID 0 形成的。要設置 RAID 10,我們至少需要4個磁盤。在之前的文章中,我們已經看到了如何使用最少兩個磁盤設置 RAID 1 和 RAID 0。

在這裡,我們將使用最少4個磁盤組合 RAID 1 和 RAID 0 來設置 RAID 10。假設我們已經在用 RAID 10 創建的邏輯卷保存了一些數據。比如我們要保存數據 “TECMINT”,它將使用以下方法將其保存在4個磁盤中。

在 Linux 中創建 Raid 10(LCTT 譯注:原圖有誤,已修正)

RAID 10 是先做鏡像,再做條帶。因此,在 RAID 1 中,相同的數據將被寫入到兩個磁盤中,“T”將同時被寫入到第一和第二個磁盤中。接著的數據被條帶化到另外兩個磁盤,“E”將被同時寫入到第三和第四個磁盤中。它將繼續循環此過程,“C”將同時被寫入到第一和第二個磁盤,以此類推。

(LCTT 譯注:原文中此處描述混淆有誤,已經根據實際情況進行修改。)

現在你已經了解 RAID 10 怎樣組合 RAID 1 和 RAID 0 來工作的了。如果我們有4個20 GB 的磁盤,總共為 80 GB,但我們將只能得到40 GB 的容量,另一半的容量在構建 RAID 10 中丟失。

RAID 10 的優點和缺點

  • 提供更好的性能。
  • 在 RAID 10 中我們將失去一半的磁盤容量。
  • 讀與寫的性能都很好,因為它會同時進行寫入和讀取。
  • 它能解決數據庫的高 I/O 磁盤寫操作。

要求

在 RAID 10 中,我們至少需要4個磁盤,前2個磁盤為 RAID 1,其他2個磁盤為 RAID 0,就像我之前說的,RAID 10 僅僅是組合了 RAID 0和1。如果我們需要擴展 RAID 組,最少需要添加4個磁盤。

我的服務器設置

  1. 操作系統:CentOS6.5Final
  2. IP 地址:192.168.0.229
  3. 主機名: rd10.tecmintlocal.com
  4. 磁盤1[20GB]:/dev/sdd
  5. 磁盤2[20GB]:/dev/sdc
  6. 磁盤3[20GB]:/dev/sdd
  7. 磁盤4[20GB]:/dev/sde

有兩種方法來設置 RAID 10,在這裡兩種方法我都會演示,但我更喜歡第一種方法,使用它來設置 RAID 10 更簡單。

方法1:設置 RAID 10

1、 首先,使用以下命令確認所添加的4塊磁盤沒有被使用。

  1. #ls-l /dev |grep sd

2、 四個磁盤被檢測後,然後來檢查磁盤是否存在 RAID 分區。

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

驗證添加的4塊磁盤

注意: 在上面的輸出中,如果沒有檢測到 super-block 意味著在4塊磁盤中沒有定義過 RAID。

第1步:為 RAID 分區

3、 現在,使用fdisk,命令為4個磁盤(/dev/sdb, /dev/sdc, /dev/sdd 和 /dev/sde)創建新分區。

  1. #fdisk/dev/sdb
  2. #fdisk/dev/sdc
  3. #fdisk/dev/sdd
  4. #fdisk/dev/sde

為 /dev/sdb 創建分區

我來告訴你如何使用 fdisk 為磁盤(/dev/sdb)進行分區,此步也適用於其他磁盤。

  1. #fdisk/dev/sdb

請使用以下步驟為 /dev/sdb 創建一個新的分區。

  • n 創建新的分區。
  • 然後按 P 選擇主分區。
  • 接下來選擇分區號為1。
  • 只需按兩次回車鍵選擇默認值即可。
  • 然後,按 P 來打印創建好的分區。
  • L,列出所有可用的類型。
  • t 去修改分區。
  • 鍵入 fd 設置為 Linux 的 RAID 類型,然後按 Enter 確認。
  • 然後再次使用p查看我們所做的更改。
  • 使用w保存更改。

為磁盤 sdb 分區

注意: 請使用上面相同的指令對其他磁盤(sdc, sdd sdd sde)進行分區。

4、 創建好4個分區後,需要使用下面的命令來檢查磁盤是否存在 raid。

  1. #mdadm-E /dev/sd[b-e]
  2. #mdadm--examine /dev/sdb /dev/sdc /dev/sdd /dev/sde #或
  3. #mdadm-E /dev/sd[b-e]1
  4. #mdadm--examine /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 #或

檢查磁盤

注意: 以上輸出顯示,新創建的四個分區中沒有檢測到 super-block,這意味著我們可以繼續在這些磁盤上創建 RAID 10。

第2步: 創建 RAID 設備 md

5、 現在該創建一個md(即 /dev/md0)設備了,使用“mdadm” raid 管理工具。在創建設備之前,必須確保系統已經安裝了mdadm工具,如果沒有請使用下面的命令來安裝。

  1. #yum install mdadm[在RedHat系統]
  2. #apt-get install mdadm[在Debain系統]

mdadm工具安裝完成後,可以使用下面的命令創建一個md raid 設備。

  1. #mdadm--create /dev/md0 --level=10--raid-devices=4/dev/sd[b-e]1

6、 接下來使用cat命令驗證新創建的 raid 設備。

  1. #cat/proc/mdstat

創建 md RAID 設備

7、 接下來,使用下面的命令來檢查4個磁盤。下面命令的輸出會很長,因為它會顯示4個磁盤的所有信息。

  1. #mdadm--examine /dev/sd[b-e]1

8、 接下來,使用以下命令來查看 RAID 陣列的詳細信息。

  1. #mdadm--detail /dev/md0

查看 RAID 陣列詳細信息

注意: 你在上面看到的結果,該 RAID 的狀態是 active 和re-syncing。

第3步:創建文件系統

9、 使用 ext4 作為md0′的文件系統,並將它掛載到/mnt/raid10`下。在這裡,我用的是 ext4,你可以使用你想要的文件系統類型。

  1. #mkfs.ext4 /dev/md0

創建 md 文件系統

10、 在創建文件系統後,掛載文件系統到/mnt/raid10下,並使用ls -l命令列出掛載點下的內容。

  1. #mkdir/mnt/raid10
  2. #mount/dev/md0 /mnt/raid10/
  3. #ls-l /mnt/raid10/

接下來,在掛載點下創建一些文件,並在文件中添加些內容,然後檢查內容。

  1. #touch/mnt/raid10/raid10_files.txt
  2. #ls-l /mnt/raid10/
  3. #echo"raid 10 setup with 4 disks">/mnt/raid10/raid10_files.txt
  4. #cat/mnt/raid10/raid10_files.txt

掛載 md 設備

11、 要想自動掛載,打開/etc/fstab文件並添加下面的條目,掛載點根據你環境的不同來添加。使用 wq! 保存並退出。

  1. #vim/etc/fstab
  2. /dev/md0 /mnt/raid10 ext4 defaults 00

掛載 md 設備

12、 接下來,在重新啟動系統前使用mount -a來確認/etc/fstab文件是否有錯誤。

  1. #mount-av

檢查 Fstab 中的錯誤

第四步:保存 RAID 配置

13、 默認情況下 RAID 沒有配置文件,所以我們需要在上述步驟完成後手動保存它。

  1. #mdadm--detail --scan --verbose >>/etc/mdadm.conf

保存 RAID10 的配置

就這樣,我們使用方法1創建完了 RAID 10,這種方法是比較容易的。現在,讓我們使用方法2來設置 RAID 10。

方法2:創建 RAID 10

1、 在方法2中,我們必須定義2組 RAID 1,然後我們需要使用這些創建好的 RAID 1 的集合來定義一個 RAID 0。在這裡,我們將要做的是先創建2個鏡像(RAID1),然後創建 RAID0 (條帶化)。

首先,列出所有的可用於創建 RAID 10 的磁盤。

  1. #ls-l /dev |grep sd

列出了 4 個設備

2、 將4個磁盤使用fdisk命令進行分區。對於如何分區,您可以按照上面的第1步。

  1. #fdisk/dev/sdb
  2. #fdisk/dev/sdc
  3. #fdisk/dev/sdd
  4. #fdisk/dev/sde

3、 在完成4個磁盤的分區後,現在檢查磁盤是否存在 RAID塊。

  1. #mdadm--examine /dev/sd[b-e]
  2. #mdadm--examine /dev/sd[b-e]1

檢查 4 個磁盤

第1步:創建 RAID 1

4、 首先,使用4塊磁盤創建2組 RAID 1,一組為sdb1′和sdc1′,另一組是sdd1′ 和sde1′。

  1. #mdadm--create /dev/md1 --metadata=1.2--level=1--raid-devices=2/dev/sd[b-c]1
  2. #mdadm--create /dev/md2 --metadata=1.2--level=1--raid-devices=2/dev/sd[d-e]1
  3. #cat/proc/mdstat

創建 RAID 1

查看 RAID 1 的詳細信息

第2步:創建 RAID 0

5、 接下來,使用 md1 和 md2 來創建 RAID 0。

  1. #mdadm--create /dev/md0 --level=0--raid-devices=2/dev/md1 /dev/md2
  2. #cat/proc/mdstat

創建 RAID 0

第3步:保存 RAID 配置

6、 我們需要將配置文件保存在/etc/mdadm.conf文件中,使其每次重新啟動後都能加載所有的 RAID 設備。

  1. #mdadm--detail --scan --verbose >>/etc/mdadm.conf

在此之後,我們需要按照方法1中的第3步來創建文件系統。

就是這樣!我們采用的方法2創建完了 RAID 1+0。我們將會失去一半���磁盤空間,但相比其他 RAID ,它的性能將是非常好的。

結論

在這裡,我們采用兩種方法創建 RAID 10。RAID 10 具有良好的性能和冗余性。希望這篇文章可以幫助你了解 RAID 10 嵌套 RAID。在後面的文章中我們會看到如何擴展現有的 RAID 陣列以及更多精彩的內容。

在 Linux 下使用 RAID(七):在 RAID 中擴展現有的 RAID 陣列和刪除故障的磁盤 http://www.linuxidc.com/Linux/2015-09/122602.htm

  • 介紹 RAID 的級別和概念 http://www.linuxidc.com/Linux/2015-08/122191.htm
  • 使用 mdadm 工具創建軟件 RAID 0 (條帶化) http://www.linuxidc.com/Linux/2015-08/122236.htm
  • 用兩塊磁盤創建 RAID 1(鏡像) http://www.linuxidc.com/Linux/2015-08/122289.htm
  • 如何在Linux上構建 RAID 10陣列 http://www.linuxidc.com/Linux/2014-12/110318.htm
  • Debian軟RAID安裝筆記 - 使用mdadm安裝RAID1 http://www.linuxidc.com/Linux/2013-06/86487.htm
  • 常用RAID技術介紹以及示例演示(多圖) http://www.linuxidc.com/Linux/2013-03/81481.htm
  • Linux實現最常用的磁盤陣列-- RAID5 http://www.linuxidc.com/Linux/2013-01/77880.htm
  • RAID0+1和RAID5的性能測試結果 http://www.linuxidc.com/Linux/2012-07/65567.htm
  • Linux入門教程:磁盤陣列(RAID) http://www.linuxidc.com/Linux/2014-07/104444.htm
  • 在 Linux 下使用 RAID(四):創建 RAID 5(條帶化與分布式奇偶校驗) http://www.linuxidc.com/Linux/2015-08/122343.htm

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

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

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

Copyright © Linux教程網 All Rights Reserved