能直接將硬碟改成RAID1嗎? - Linux

Table of Contents

※ 引述《[email protected] (小州)》之銘言:
: ※ 引述《[email protected] (蘇打)》之銘言:
: > 我現在有個系統放置於/dev/sda
: > 買了一個新的硬碟,想要把兩個硬碟組成RAID1
: > 請問有辦法不重灌下直接改嗎?
: > 若可以應該怎麼作呢?
: 做 raid 都會破壞原本資料, 更何況你的 sda 已經使用中無法進行。
NO 非也非也 
  做RAID不一定會破壞原本資料 著麼改到可以用才是重點 (超級麻煩!!!)
  至少software RAID 有辦法做到不破壞原本資料
  由於不知道你的sda如何切割 相信你的sda1 應該是當boot才對
  /dev/sda1 /boot 100mb
/dev/sda2 swap 768mb
/dev/sda4 / 75G
既然如此 把新的硬碟一個新的硬碟 大小的話要自己橋
/dev/sdb1 100mb
/dev/sdb2 swap 768mb
/dev/sdb4 / 75G
再製作md1之前 需要重新編譯kernel 
  因為你有在安裝的時候沒有設定software RAID 所以安裝程式應該沒有把
  software RAID或者LVM的module編進去 
再來就是LiveCD 然後利用mdadm的方式強制把/dev/md1 做出來 (當然是做RAID1)
(/dev/md1 裡面只有一個device ==> /dev/sd4)
如果沒有意外的話 這時候就可以嘗試掛載/dev/md1
由於你只有修改到partition ID 所以檔案系統未變 檔案會還在
再來才是把/dev/sdb4 也加進去剛剛做出來的/dev/md1裡面
這時候Software RAID才會開始幫你自動SYNC資料
然後修改/etc/fstab裡面的掛載點 或者利用e2label 把/dev/md1改成 /

如果你試用LVM的方式去切割硬碟的話那硬碟分割區與掛宰點應該會長這樣
/dev/sda1 /boot
/dev/sda2 PV ------VolGroup
LV1 : RHEL41
LV2 : swap
這時候新加入的硬碟要先改成PV 然後加入VG 再來就是把原本的LV改成RAID形式
想當然爾 還是得用LiveCD的方式去做LVM的指令
至於grub/lilo
grub找得到/boot 因為/boot沒有被編入RAID 或者 LVM (/boot無法在LV內)
找不到/ 這個問題你在重編kernel那邊就需要解決了

--

All Comments

Thomas avatarThomas2008-05-24
可是沒修改boot相關檔案會boot不起來, grub/lilo不知道
Callum avatarCallum2008-05-27
要從那開機... 核心也不一定有載入raid需要的module...
Ivy avatarIvy2008-05-28
果然很複雜Orz...如果BIOS本身有RAID,會比較簡單嗎?
Hedda avatarHedda2008-05-29
歐 對了 再建md之前要先重新build kernel 把md編進去
Gilbert avatarGilbert2008-05-31
再來 /boot不可掛載在RAID1上 (我用REHL45) 會開不了機
Zenobia avatarZenobia2008-06-02
那個是一個BUG 還有grub如果裝在MBR的話 也要裝雙份
Kyle avatarKyle2008-06-04
再回一樓 grub/lilo可以開機阿!!差在會找不到 /
Rebecca avatarRebecca2008-06-07
BIOS本身有RAID的解決方法會更麻煩!!..
Rebecca avatarRebecca2008-06-09
就是找不到 / . 還有我用FC6 /boot 放RAID1沒問題. :O