2021-05-12 14:32:11
在 Linux 下使用 RAID(六):設定 RAID 10 或 1 + 0(巢狀)
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個磁碟。
我的伺服器設定
作業系統:CentOS6.5Final
IP 地址:192.168.0.229
主機名: rd10.tecmintlocal.com
磁碟1[20GB]:/dev/sdd
磁碟2[20GB]:/dev/sdc
磁碟3[20GB]:/dev/sdd
磁碟4[20GB]:/dev/sde
有兩種方法來設定 RAID 10,在這裡兩種方法我都會演示,但我更喜歡第一種方法,使用它來設定 RAID 10 更簡單。
方法1:設定 RAID 10
1、 首先,使用以下命令確認所新增的4塊磁碟沒有被使用。
#ls-l /dev |grep sd
2、 四個磁碟被檢測後,然後來檢查磁碟是否存在 RAID 分割區。
#mdadm-E /dev/sd[b-e]
#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)建立新分割區。
#fdisk/dev/sdb
#fdisk/dev/sdc
#fdisk/dev/sdd
#fdisk/dev/sde
為 /dev/sdb 建立分割區
我來告訴你如何使用 fdisk 為磁碟(/dev/sdb)進行分割區,此步也適用於其他磁碟。
#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。
#mdadm-E /dev/sd[b-e]
#mdadm--examine /dev/sdb /dev/sdc /dev/sdd /dev/sde #或
#mdadm-E /dev/sd[b-e]1
#mdadm--examine /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 #或
檢查磁碟
注意: 以上輸出顯示,新建立的四個分割區中沒有檢測到 super-block,這意味著我們可以繼續在這些磁碟上建立 RAID 10。
第2步: 建立 RAID 裝置 md
5、 現在該建立一個md
(即 /dev/md0)裝置了,使用“mdadm” raid 管理工具。在建立裝置之前,必須確保系統已經安裝了mdadm
工具,如果沒有請使用下面的命令來安裝。
#yum install mdadm[在RedHat系統]
#apt-get install mdadm[在Debain系統]
mdadm
工具安裝完成後,可以使用下面的命令建立一個md
raid 裝置。
#mdadm--create /dev/md0 --level=10--raid-devices=4/dev/sd[b-e]1
6、 接下來使用cat
命令驗證新建立的 raid 裝置。
#cat/proc/mdstat
建立 md RAID 裝置
7、 接下來,使用下面的命令來檢查4個磁碟。下面命令的輸出會很長,因為它會顯示4個磁碟的所有資訊。
#mdadm--examine /dev/sd[b-e]1
8、 接下來,使用以下命令來檢視 RAID 陣列的詳細資訊。
#mdadm--detail /dev/md0
檢視 RAID 陣列詳細資訊
注意: 你在上面看到的結果,該 RAID 的狀態是 active 和re-syncing。
第3步:建立檔案系統
9、 使用 ext4 作為md0′的檔案系統,並將它掛載到
/mnt/raid10`下。在這裡,我用的是 ext4,你可以使用你想要的檔案系統型別。
#mkfs.ext4 /dev/md0
建立 md 檔案系統
10、 在建立檔案系統後,掛載檔案系統到/mnt/raid10
下,並使用ls -l
命令列出掛載點下的內容。
#mkdir/mnt/raid10
#mount/dev/md0 /mnt/raid10/
#ls-l /mnt/raid10/
接下來,在掛載點下建立一些檔案,並在檔案中新增些內容,然後檢查內容。
#touch/mnt/raid10/raid10_files.txt
#ls-l /mnt/raid10/
#echo"raid 10 setup with 4 disks">/mnt/raid10/raid10_files.txt
#cat/mnt/raid10/raid10_files.txt
掛載 md 裝置
11、 要想自動掛載,開啟/etc/fstab
檔案並新增下面的條目,掛載點根據你環境的不同來新增。使用 wq! 儲存並退出。
#vim/etc/fstab
/dev/md0 /mnt/raid10 ext4 defaults 00
掛載 md 裝置
12、 接下來,在重新啟動系統前使用mount -a
來確認/etc/fstab
檔案是否有錯誤。
#mount-av
檢查 Fstab 中的錯誤
第四步:儲存 RAID 設定
13、 預設情況下 RAID 沒有組態檔,所以我們需要在上述步驟完成後手動儲存它。
#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 的磁碟。
#ls-l /dev |grep sd
列出了 4 個裝置
2、 將4個磁碟使用fdisk
命令進行分割區。對於如何分割區,您可以按照上面的第1步。
#fdisk/dev/sdb
#fdisk/dev/sdc
#fdisk/dev/sdd
#fdisk/dev/sde
3、 在完成4個磁碟的分割區後,現在檢查磁碟是否存在 RAID塊。
#mdadm--examine /dev/sd[b-e]
#mdadm--examine /dev/sd[b-e]1
檢查 4 個磁碟
第1步:建立 RAID 1
4、 首先,使用4塊磁碟建立2組 RAID 1,一組為sdb1′和
sdc1′,另一組是sdd1′ 和
sde1′。
#mdadm--create /dev/md1 --metadata=1.2--level=1--raid-devices=2/dev/sd[b-c]1
#mdadm--create /dev/md2 --metadata=1.2--level=1--raid-devices=2/dev/sd[d-e]1
#cat/proc/mdstat
建立 RAID 1
檢視 RAID 1 的詳細資訊
第2步:建立 RAID 0
5、 接下來,使用 md1 和 md2 來建立 RAID 0。
#mdadm--create /dev/md0 --level=0--raid-devices=2/dev/md1 /dev/md2
#cat/proc/mdstat
建立 RAID 0
第3步:儲存 RAID 設定
6、 我們需要將組態檔儲存在/etc/mdadm.conf
檔案中,使其每次重新啟動後都能載入所有的 RAID 裝置。
#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
本文永久更新連結地址:http://www.linuxidc.com/Linux/2015-10/124391.htm
相關文章