因為網路上的文章大多不合初學的朋友.
於是自己整理了一下,希望大家一同研究研究.
(也為自己保存一份筆記 ^^)
我是在 VMESXI 5.1 上 ,CentOS 5.8 及 6.3 測試的.
第二章 : 修復軟件 RAID 1
RAID 1 的工作方式及原理:
由如硬碟的鏡像。意指當有資料寫入時,
資料同時生成兩個一模一樣的拷貝,並同一時間寫入兩個硬碟中.
因此,兩個 RAID 1 系統中的硬碟,裡頭的資料遠是一樣的.
如果,有任何一顆硬碟發生問題,對系統運作對資料儲存也均無影響.
想用 CentOS 5.X 的朋友,千萬千萬不要使用 5.8 以下的版本,
因為都有相當完整的 5.8 版本了,不要冒上當 RAID 有天要重建時,
連 MBR 也要自己手動重建的悲哀場面.
要先進的要跑 CentOS 6.X 的朋友,千萬千萬要使用 6.3 以前的版本
(希望發文之後再會有新版本發行),6.3 也只要新生的 6.X 版本,本身
也算是有成堆的問題需要解脫.不要冒上 當 RAID 有天重建時,
硬碟儲存區域不建皇建的悲慘場面.
因此先前以 CentSO 5.8 為例,建立了的 RAID 1 ......
1) : 用 cat /proc/mdstat 查看 RAID 情況 :
在正常的情形下,可以看到,[UU],兩個 "U" 代表示兩個硬碟都正常掛在 md 中.
(由於先前我們的硬碟是分了三個分區,因此共有三組 [UU] 出現了)
現在先把運行 CentOS 中的電腦,關閉電源.
再弄走一顆硬碟,當真正的系統發生問題..... (嘻嘻 , 想玩了很久)
我們就弄走第二顆硬碟吧,再開啟電腦電源看看 CentOS 的反應.
弄走第二個硬碟後,再重啟電腦,系統可以正常啟動 !
用 cat /proc/mdstat 查看 RAID 情況.
會看到只剩一個 [U_],那麼就表示 RAID 中第二顆硬碟出現了問題.
(如果我們先是弄走第一顆硬碟的話,那麼大家就會看見的是 [_U]了)
2) : 重建 RAID 1 磁區的分割 :
再次關閉電腦電源,拿一個新的硬碟放上去.
再啟動電腦電源,進入 CentOS ...... ... .. ( 全程我也是在 VMESXI 5.1 上發生)
用 ll /dev/sd* 查看磁碟的變化,.. sdb 出現了 ! ( "ll" 是"LL" 的 小寫 不是 數目字 "11" )
要重建 RAID 1,先要在 sdb 這新硬碟磁上做好 " 磁區 分割 ",
使用 sfdisk -d /dev/sda | sfdisk /dev/sdb 指令來同步 sda 及 sdb 磁區.
這樣就完成新硬碟的磁區設定,下一步是同步兩個硬碟的資料.
*** 這個 sfdisk -d /dev/sda | sfdisk /dev/sdb 是 異常 的 危險 !!!!!!,
如果方向攪錯了,RAID 的磁區將被洗掉,資料也完全消失,
所以在執行時,一定要非常小心 !!!!!
3) : 重建 RAID 1 磁區的資料 :
慣例上會.........
sfdisk -l /dev/sda
sfdisk -l /dev/sdb
cat /proc/mdstat
再確認一次磁區是否正確...... ..... ... 如果真的出錯了........ 大蓋要找神明...了.
也要確認 md* 所對應的磁區,
避免下一個動作出現錯誤。
md1 指的是 /boot ,要加入的是 sdb1,
md2 指是的 swap,要加入的是 sdb2,
md0 指是的 / ,要加入的是 sdb3,
如果同步錯了,就有可能發生磁碟空間不足等問題,確認無誤後,用:
mdadm /dev/md0 -a /dev/sdb3 | /dev/md1 -a /dev/sdb1 | /dev/md2 -a /dev/sdb2
開始同步.
開始同步後,可用 cat /proc/mdstat,查看磁區同步的情形.
所需要同步時間與其資料量及硬碟速度有關.
完成後,再查看狀態,會看到兩個 UU,這就表示完成了.
** 在老舊的主機板,如拿走第一個硬碟,有可能會發生還是無法系動系統的情形.
因為 BIOS 中通常是預設用第一個硬碟作啟動的,老舊的主板不會自動調整.
這時請調整 BIOS 的硬碟啟動順序或將第二個硬碟改為第一個硬碟即可.
** 如果找不到相同大小的硬碟來重建 RAID 時......
只要新的硬碟容量比系統現存的較大就可以了..........
浪費了的空間,將來也可以使用 mdadm 指定來擴大指定的磁區.... ... .. .
** 上述所有,也可以把沒有 Raid 的系統建立起 RAID 來 .
祝:大福
友:小漢上
沒有留言:
張貼留言