作者 主題: 把現有的Linux系統移到RAID  (閱讀 1814 次)

0 會員 與 1 訪客 正在閱讀本文。

fishgo65

  • 懷疑的國中生
  • **
  • 文章數: 33
    • 檢視個人資料
    • Blog
把現有的Linux系統移到RAID
« 於: 2012-03-25 14:57 »
目前我有一顆硬碟sda,上面已經安裝linux的作業系統了

現在想要加一個硬碟sdc和sda作Raid1,請問該怎麼做??  ???

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17478
    • 檢視個人資料
    • http://www.study-area.org
Re: 把現有的Linux系統移到RAID
« 回覆 #1 於: 2012-03-25 21:15 »
有其他機器可以先備份嗎?

mingjian

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
Re: 把現有的Linux系統移到RAID
« 回覆 #2 於: 2012-03-27 15:50 »
大概是如以下的做法,請參考

(!!!!!請先備份!!!!!)
1. 將新的 sdc接上後,由舊系統開機
將/dev/sdc分成 /dev/sdc1、/dev/sdc2 、/dev/sdc3
/dev/sdc1 --> /dev/md0 --> /boot
/dev/sdc2 --> /dev/md1 --> /
/dev/sdc3 --> /dev/md2 --> /swap

分別將 /dev/sdc1~3 加到 /dev/md0~2,因為 /dev/sda1~3還是開機碟還不能用,
等到可以用 /dev/md0 boot時再將 /dev/sda上的partition打掉.加到software raid.
(sfdisk -d /dev/sdc | sfdisk /dev/sda 該指令可以將 /dev/sdc上的partition抄到 /dev/sda上)
root@metis:~#mdadm -vC /dev/md0 --level=1 -n2 /dev/sdc1 missing
root@metis:~#mdadm -vC /dev/md1 --level=1 -n2 /dev/sdc2 missing
root@metis:~#mdadm -vC /dev/md2 --level=1 -n2 /dev/sdc3 missing

root@metis:~#mkfs.ext3 /dev/md0     (看您喜歡何種file system)
root@metis:~#mkfs.ext3 /dev/md1
root@metis:~#mkswap /dev/md3

2.
root@metis:~#mount /dev/md1 /mnt
root@metis:~#cd /mnt;mkdir boot
root@metis:~#cd /
root@metis:~#mount /dev/md0 /mnt/boot
將 /dev/sda root file system上的資料全抄寫到 /mnt上
(/mnt/etc/fstab內容得由您手動修改了)
root@metis:~#find / -xdev | cpio -pvmd /mnt
root@metis:~#mount --bind /proc /mnt/proc
root@metis:~#mount --bind /dev /mnt/dev
root@metis:~#mount --bind /sys /mnt/sys
 
root@metis:~#chroot /mnt
root@metis:~#mdadm -E -s > /etc/mdadm.conf
root@metis:~#cd /boot

root@metis:~#mkinitrd -c -k $(uname -r) -m ext3:reiserfs -f reiserfs -r /dev/md1 -L -R

Notes:
####################################################
If you pass the "-R" switch to the mkinitrd command, the mdadm binary will be
added to your initrd.gz image and the "/sbin/mdadm -E -s >/etc/mdadm.conf" and
"/sbin/mdadm -A -s" commands will be run at boot, from within the initrd,
before initializing the LVM volumes.
In your case, the "-L" is required and the "-R" switch may be optional but you
may as well just add it.
####################################################

vi /etc/lilo.conf

# Start LILO global section
raid-extra-boot="/dev/sdc, /dev/sda"
boot = /dev/md0
image = /boot/vmlinuz
initrd = /boot/initrd.gz
root = /dev/md1

root@metis:~#lilo -v

先讓 /dev/sdc 可以從 /dev/md0 boot起來,網路上有很多參考資料.
大致的步驟如上,希望對您有用.
因為我的case是做了 software raid之後,再用LVM所以跟您的case有些不同.
« 上次編輯: 2012-03-27 15:52 由 mingjian »

fishgo65

  • 懷疑的國中生
  • **
  • 文章數: 33
    • 檢視個人資料
    • Blog
Re: 把現有的Linux系統移到RAID
« 回覆 #3 於: 2012-03-29 14:33 »
感謝netman與mingjian大大的回覆  :)