大家都知道带硬件RAID的服务器很贵,而且有些服务器是根本不能加硬件RAID卡的(例如IBM OpenPower 710)。今天,我介绍一个用红旗Linux安装软件RAID,代替硬件RAID的方案。
※系统平台:红旗 DC Server 5.0 for x86
※硬件平台:Intel Xeon 3.0 DP & 2×8G硬盘一、原理及限制
关于RAID的含义我就不说了,需要了解的请自己google吧。
这次主要我是希望通过在红旗上用系统自带的功能实现RAID 1功能。但有个限制就是:
系统/boot分区不能建立在lvm设备。 因为有上述的限制,而且我后续会在RAID设备上建立lvm分区,所以我们需要把/boot分区单独的拿出来,并且不能作为raid分区;而把剩下的分区作为软件raid设备,存放数据,并由系统自动同步。
二、步骤
1、系统安装
系统识别到的硬盘:
先单独在/dev/sda上划分一个100M的/boot分区:
在/dev/sdb上划分一个同样的分区(分区名会重复,另起一个即可)
划分raid前的分区:
在sda剩下空间上创建software RAID:
同样的,在sdb上也创建software RAID,结果如下:
开始创建RAID设备/dev/md0:
选择RAID 1,文件系统是LVM方式:
结果如下:
创建LVM,并划分/和swap分区:
最后分区结果如下:
完成:
2、后续操作
因为只是两个硬盘的数据分区由系统做RAID1后,实现数据同步,为了让出现问题的时候,系统可以从第二个硬盘上启动,需要在系统启动后,进行后续的操作:
首先,同步两个硬盘的/boot分区:
dd if=/dev/sda1 of=/dev/sdb1
然后,修改/etc/fstab文件,把下面的一行:
引用
LABEL=/boot /boot ext3 defaults 1 2
改为:
引用
/dev/sda1 /boot ext3 defaults 1 2
并且把下面的一行删除:
引用
LABEL=/boot1 /boot1 ext3 defaults 1 2
最后,让grub也可以在/dev/sdb上启动:
启动grub程序
#grub
在sdb上把grub安装到MBR上
grub>root (hd1,0)
grub>setup (hd1)
为了正常启动,恢复到sda上
grub>root (hd0,0)
grub>setup (hd0)
到此已经全部做完。今后若第一个硬盘出现故障,可关闭系统后,把第二个硬盘替换上去,即可正常启动。