linux下raid5磁盘阵列实施
2006-03-13    刘世伟   
打印自: 安恒公司
地址: HTTP://y.1564.anheng.com.cn/news/article.php?articleid=873
linux下raid5磁盘阵列实施
4块320G硬盘,
每个硬盘首先划出10G硬盘,剩下的310G组成raid5,


每个硬盘的10G系统盘区(sda1)都要可以启动.这样就达到了硬盘可以任意互换次序而不影响系统运行和raid5的数据的效果.

aptitude install mirrordir mdadm ;安装 mirrordir 和raid管理程序

首先分区,格式化分区,然后用mirrordir工具进行复制,并让每个磁盘可以启动系统:

关于raid5的建立以及修复看我这篇文章:http://raid5.anheng.com.cn/news/html/net_admin_blog/606.html
复制分区表,使用这个命令:
sfdisk -d /dev/sda |sfdisk /dev/sdb;此命令有危险,会把sdb盘的分区表改的跟sda完全相同
sfdisk -d /dev/sda |sfdisk /dev/sdc
sfdisk -d /dev/sda |sfdisk /dev/sdd
格式化备用系统分区
mkfs.ext3 /dev/sdb1
mkfs.ext3 /dev/sdc1
mkfs.ext3 /dev/sdd1
将系统复制到备用分区:
mkdir /1
mkdir /2
mount /dev/sda1 /1 ;(当前的系统根分区)
mount /dev/sdb1 /2 ;(复制到第二个硬盘)
mirrordir /1 /2 ;(这里不要写反了,哈哈)
grub-install --root-directory /2 /dev/sdb ;(让第二个硬盘可以grub启动)


做成脚本如下:
copy2.sh:(复制sda1到sdb1 并让sdb可以独立启动系统)

#!/bin/sh

mount /dev/sda1 /1

mount /dev/sdb1 /2

mirrordir /1 /2

grub-install --root-directory=/2 hd1 ;对sdb安装grub启动程序

unmount /1

unmount /2

----------------------copy2.sh 结束


copy3.sh:(复制sda1到sdc1 并让sdc可以独立启动系统)

#!/bin/sh

mount /dev/sda1 /1

mount /dev/sdc1 /2

mirrordir /1 /2

grub-install --root-directory=/2 hd2 ;对sdc安装grub启动程序

unmount /1

unmount /2

----------------------copy3.sh 结束


copy4.sh:(复制sda1到sdd1 并让sdd可以独立启动系统)

#!/bin/sh

mount /dev/sda1 /1

mount /dev/sdd1 /2

mirrordir /1 /2

grub-install --root-directory=/2 hd3 ;对sdd安装grub启动程序

unmount /1

unmount /2

----------------------copy4.sh 结束

建立raid5:

mdadm -a


上面的3个同步命令,

copy2.sh 可以每天执行一次, 让 2号硬盘的系统跟工作用的硬盘一样.

copy3.sh 启动时执行一次,让3号硬盘,保证能够启动.因为跟刚刚启动的系统进行了同步.

copy4.sh 只有在调整完系统时执行一次. 4号硬盘作为系统最后的救命稻草.
 
通过上面的实施, 我们得到了3个备份系统, 可以在系统不能启动是,将后面的2,3,4号磁盘换到1号磁盘的位置进行启动.

责任编辑: 刘世伟