加了块500G的硬盘,决定和原来的120G组一个RAID1,保证数据安全,主板有BIOS的RAID支持,其实也是软的,还是用内核里的mdadm搞吧。因为是基于分区的RAID,所以2块硬盘不一样大也无所谓,只要做RAID的分区一样大就好了。

sdasdb规划
sda1 10Gsdb1 10G这2个分区作为以后试验用
sda2 20Gsdb2 20GRAID1 /
sda3 30Gsdb3 30GRAID1 /home
sda4sdb4
sda5 52Gsdb5 52GRAID1 ~/safety

sdb6 4Gswap

sdb7 2G/portage

sdb8 100GMP3

sdb9 250GMOVE
黄色部分为3个RAID1

1.准备
LIVECD启动,新的500G硬盘是空的,先按照规划,分好区,并格式化sdb8和sdb9,用来放原来硬盘的数据。
挂载原系统到/mnt/gentoo,挂载sdb8到/mnt/bak放转移数据,然后
cp -a /mnt/gentoo/* /mnt/bak/
完毕后,检查一下,卸载原系统,按照规划对老硬盘分区,另外做raid的分区标记为
fd(Linux raid autodetect)
方便内核启动的时候自动查找并重建raid
加载raid1模块: modprobe raid1

2.建立设计好的三个RAID
mdadm -C /dev/md0 -l 1 -n 2 /dev/sda2 /dev/sdb2
mdadm -C /dev/md1 -l 1 -n 2 /dev/sda3 /dev/sdb3
mdadm -C /dev/md2 -l 1 -n 2 /dev/sda5 /dev/sdb5
有的分区大,初始化太费时间,可以加个参数--assume-clean,反正一会还要格式化。
cat /proc/mdstat ,看到如下信息
Personalities : [raid1]
md1 : active raid1 sdb3[1] sda3[0]
      31463232 blocks [2/2] [UU]
     
md2 : active raid1 sdb5[1] sda5[0]
      54283520 blocks [2/2] [UU]
     
md0 : active raid1 sdb2[1] sda2[0]
      20980800 blocks [2/2] [UU]
     
unused devices: <none>

都是active状态了,那么可以格式化了,然后挂载好,用cp把系统再移动回去。
对了,把配置导出一下
mdadm -D -s >> /mnt/gentoo/etc/mdadm.conf

3.配置内核
chroot到系统中,以下编入内核
[*] Multiple devices driver support (RAID and LVM)  --->
<*>   RAID support
  [*]     Autodetect RAID arrays during kernel boot
  <*>     RAID-1 (mirroring) mode
编译安装新内核,顺便把mdadm装了。

4.配置grub
把2块硬盘都setup了,以后无论谁挂了都可以启动
grub.conf里的root改为 root=/dev/md0

5.基本完事,重启进系统,非常顺利,哈哈!

现在很有安全感啊,当然磁盘还是用smartd监视着。