現在的 IDE 硬碟越來越便宜,也越來越容易損壞,所以市面上出了一堆 IDE RAID 卡,但我發現在 Debian 上面都非常難裝,為了晚上能安心睡覺,還是弄弄 kernel 內建的 md 吧。但我的系統已經安裝了 Debian,是否有辦法把現有系統升級成 md 呢?
答案是有的,這邊就跟各位分享我升級成 raid 1 的經驗。
升級過程的步驟請繼續看下去 :p
1. 加入一顆相當大小的新硬碟到系統,並建立 raid partations type=fd
[root]# fdisk /dev/hdc
2. apt-get install raidtools2
[root]# cp /usr/share/doc/raidtools2/examples/raid1.conf.sample /etc/raidtab
3. 在 /etc/raidtab 中將舊硬碟的 partations 加上 failed-disk 標示, 並將 chunk-size 改為 32, 下面是我的設定:
- Sample raid-1 configuration
raiddev /dev/md0 raid-level 1 nr-raid-disks 2 nr-spare-disks 0 chunk-size 32 device /dev/hda1 failed-disk 0 device /dev/hdc1 raid-disk 1
4. 建立 raid, mkraid /dev/md? or more.
[root]# mkraid /dev/md0
5. 建立檔案系統, mke2fs -j -b 4096 -R stride=X /dev/md? X=chunk-size/4
[root]# mke2fs -j -b 4096 -R stride=8 /dev/md0
6. 掛上 raid 及複製資料 mount /dev/md? and cp -ax / /mnt
[root]# mount /dev/md0 /mnt [root]# cp -ax / /mnt
7. 替開機做準備
[root]# chroot /mnt [root]# mount -t proc /proc /proc
安裝支援 md 的 kernel,您可以自行編譯或是安裝 debian package
若打算安裝 debian package 的話,首先在 /etc/kernel-img.conf 內要有
do_initrd = yes
接著安裝 kernel
[root]# apt-get install kernel-2.4.20-1-686 kernel-headers-2.4.20-1-686
在 lilo.conf 中設定:
boot=/dev/md0 raid-extra-boot="/dev/hda,/dev/hdc" root=/dev/md0 append="md=0,/dev/hda1,/dev/hdc1" initrd=/initrd.img
別忘了 /etc/fstab 中也要改為
/dev/md0 / ext3 defaults,errors=remount-ro 0 1
8. 寫入 lilo 並重開機測試 raid
[root]# lilo -v
若無錯誤訊息則
[root]# reboot
9. 測試 ok 的話, 將舊的 partation type 修改為 fd 並存檔
[root]# fdisk /dev/hda
注意: 若無法 reload partation table 錯誤訊息出現, 則需要再 reboot 一次取得正確的分割表
10. 在raidtab, 將 failed-disk 改為 raid-disk 並加入 raid, fdisk and then raidhotadd /dev/md? /dev/hda?
[root]# raidhotadd /dev/md0 /dev/hda1
這下可以安心睡覺了,因為我知道就算硬碟壞了,也不會再是一堆麻煩的還原程序了....
文章所有權歸原著作者所有 ,全文轉貼自 http://tavi.debian.org.tw/index.php?page=Raidtools2
留言列表