2021-05-12 14:32:11
在 Linux 下使用 RAID(七):在 RAID 中擴充套件現有的 RAID 陣列和刪除故障的磁碟
每個新手都會對陣列(array)這個詞所代表的意思產生疑惑。陣列只是磁碟的一個集合。換句話說,我們可以稱陣列為一個集合(set)或一組(group)。就像一組雞蛋中包含6個一樣。同樣 RAID 陣列中包含著多個磁碟,可能是2,4,6,8,12,16等,希望你現在知道了什麼是陣列。
在這裡,我們將看到如何擴充套件現有的陣列或 RAID 組。例如,如果我們在陣列中使用2個磁碟形成一個 raid 1 集合,在某些情況,如果該組中需要更多的空間,就可以使用 mdadm -grow 命令來擴充套件陣列大小,只需要將一個磁碟加入到現有的陣列中即可。在說完擴充套件(新增磁碟到現有的陣列中)後,我們將看看如何從陣列中刪除故障的磁碟。
擴充套件 RAID 陣列和刪除故障的磁碟
假設磁碟中的一個有問題了需要刪除該磁碟,但我們需要在刪除磁碟前新增一個備用磁碟來擴充套件該映象,因為我們需要儲存我們的資料。當磁碟發生故障時我們需要從陣列中刪除它,這是這個主題中我們將要學習到的。
擴充套件 RAID 的特性
- 我們可以增加(擴充套件)任意 RAID 集合的大小。
- 我們可以在使用新磁碟擴充套件 RAID 陣列後刪除故障的磁碟。
- 我們可以擴充套件 RAID 陣列而無需停機。
要求
- 為了擴充套件一個RAID陣列,我們需要一個已有的 RAID 組(陣列)。
- 我們需要額外的磁碟來擴充套件陣列。
- 在這裡,我們使用一塊磁碟來擴充套件現有的陣列。
在我們了解擴充套件和恢復陣列前,我們必須了解有關 RAID 級別和設定的基本知識。點選下面的連結了解這些。
- 介紹 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
我的伺服器設定
作業系統:CentOS6.5Final
IP地址:192.168.0.230
主機名: grow.tecmintlocal.com
2塊現有磁碟:1 GB
1塊額外磁碟:1 GB
在這裡,我們已有一個 RAID ,有2塊磁碟,每個大小為1GB,我們現在再增加一個磁碟到我們現有的 RAID 陣列中,其大小為1GB。
擴充套件現有的 RAID 陣列
1、 在擴充套件陣列前,首先使用下面的命令列出現有的 RAID 陣列。
# mdadm --detail /dev/md0
檢查現有的 RAID 陣列
注意: 以上輸出顯示,已經有了兩個磁碟在 RAID 陣列中,級別為 RAID 1。現在我們增加一個磁碟到現有的陣列裡。
2、 現在讓我們新增新的磁碟“sdd”,並使用fdisk
命令來建立分割區。
# fdisk /dev/sdd
請使用以下步驟為 /dev/sdd 建立一個新的分割區。
- 按
n
建立新的分割區。 - 然後按
P
選擇主分割區。 - 接下來選擇分割區號為1。
- 只需按兩次確認鍵選擇預設值即可。
- 然後,按
P
來列印建立好的分割區。 - 按
L
,列出所有可用的型別。 - 按
t
去修改分割區。 - 鍵入
fd
設定為 Linux 的 RAID 型別,然後按回車確認。 - 然後再次使用
p
檢視我們所做的更改。 - 使用
w
儲存更改。
為 sdd 建立新的分割區
3、 一旦新的 sdd 分割區建立完成後,你可以使用下面的命令驗證它。
# ls -l /dev/ | grep sd
確認 sdd 分割區
4、 接下來,在新增到陣列前先檢查磁碟是否有 RAID 分割區。
# mdadm --examine /dev/sdd1
在 sdd 分割區中檢查 RAID
注意:以上輸出顯示,該盤有沒有發現 super-blocks,意味著我們可以將新的磁碟新增到現有陣列。
5、 要新增新的分割區 /dev/sdd1 到現有的陣列 md0,請使用以下命令。
# mdadm --manage /dev/md0 --add /dev/sdd1
新增磁碟到 RAID 陣列
6、 一旦新的磁碟被新增後,在我們的陣列中檢查新新增的磁碟。
# mdadm --detail /dev/md0
確認將新磁碟新增到 RAID 中
注意: 在上面的輸出,你可以看到磁碟已經被新增作為備用的。在這裡,我們的陣列中已經有了2個磁碟,但我們期待陣列中有3個磁碟,因此我們需要擴充套件陣列。
7、 要擴充套件陣列,我們需要使用下面的命令。
# mdadm --grow --raid-devices=3 /dev/md0
擴充套件 Raid 陣列
現在我們可以看到第三塊磁碟(sdd1)已被新增到陣列中,在第三塊磁碟被新增後,它將從另外兩塊磁碟上同步資料。
# mdadm --detail /dev/md0
確認 Raid 陣列
注意: 對於大容量磁碟會需要幾個小時來同步資料。在這裡,我們使用的是1GB的虛擬磁碟,所以它非常快在幾秒鐘內便會完成。
從陣列中刪除磁碟
8、 在資料被從其他兩個磁碟同步到新磁碟sdd1
後,現在三個磁碟中的資料已經相同了(映象)。
正如我前面所說的,假定一個磁碟出問題了需要被刪除。所以,現在假設磁碟sdc1
出問題了,需要從現有陣列中刪除。
在刪除磁碟前我們要將其標記為失效,然後我們才可以將其刪除。
# mdadm --fail /dev/md0 /dev/sdc1
# mdadm --detail /dev/md0
在 RAID 陣列中模擬磁碟故障
從上面的輸出中,我們清楚地看到,磁碟在下面被標記為 faulty。即使它是 faulty 的,我們仍然可以看到 raid 裝置有3個,1個損壞了,狀態是 degraded。
現在我們要從陣列中刪除 faulty 的磁碟,raid 裝置將像之前一樣繼續有2個裝置。
# mdadm --remove /dev/md0 /dev/sdc1
在 Raid 陣列中刪除磁碟
9、 一旦故障的磁碟被刪除,然後我們只能使用2個磁碟來擴充套件 raid 陣列了。
# mdadm --grow --raid-devices=2 /dev/md0
# mdadm --detail /dev/md0
在 RAID 陣列擴充套件磁碟
從上面的輸出中可以看到,我們的陣列中僅有2台裝置。如果你需要再次擴充套件陣列,按照如上所述的同樣步驟進行。如果你需要新增一個磁碟作為備用,將其標記為 spare,因此,如果磁碟出現故障時,它會自動頂上去並重建資料。
結論
在這篇文章中,我們已經看到了如何擴充套件現有的 RAID 集合,以及如何在重新同步已有磁碟的資料後從一個陣列中刪除故障磁碟。所有這些步驟都可以不用停機來完成。在資料同步期間,系統使用者,檔案和應用程式不會受到任何影響。
在接下來的文章我將告訴你如何管理 RAID,敬請關注更新,不要忘了寫評論。
via: http://www.tecmint.com/grow-raid-array-in-linux/
作者:Babin Lonston 譯者:strugglingyouth 校對:wxy
本文永久更新連結地址:http://www.linuxidc.com/Linux/2015-09/122602.htm
相關文章