LINUX softraid 管理
转自:http://hi.baidu.com/xms_hero/blog/item/62fd0354dc2c01143b293525.html
LINUX softraid 管理
工具软件包括 mdadm, raidtools 两个软件包, 这两个是相同功能的软件包, mdadm 功能强大,是新的.
raidtools 是老的软件包, 功能有限, 但却是 RedHat AS3 的缺省raid软件包. 下面主要将通过 mdadm
管理linux raid.
1. 准备分区, 用fdisk规划出相同大小的分区(不要在一个硬盘上, 这样没有意义,只可以测试用). 理论上
分区大小可以不一样. 但我们要求大小完全相同. 分区类型没有要求.
2. create raid, use command
mdadm -Cv /dev/md0 -l1 -n2 -c64 /dev/sda2 /dev/sdb2
命令执行完后,可通过 cat /proc/mdstat 查看 raid 创建情况.
3. 查看阵列信息
mdadm -D /dev/md0
cat /proc/mdstat
4. 调整raid 同步速度, 可通过下列文件调整
/proc/sys/dev/raid/speed_limit_max
/proc/sys/dev/raid/speed_limit_min
5. raid 创建后, 没有同步完也可以正常使用. 例如可以创建文件系统 mkfs.ext3 /dev/md0,
但最好不要重启或停止raid. 这样下次启动 raid 后,将重头同步. 若raid较大, 会很浪费时间.
6. 模拟硬盘故障.
mdadm /dev/md0 -f /dev/sdb2
可以模拟 /dev/hdc2 硬盘故障. 可以通过命令查看 raid 的反映.
从阵列中移出故障盘
mdadm /dev/md0 -r /dev/sdb2
7. 加入新的盘替换故障盘.
新的分区的大小要大于等于 raid 原来的分区大小
mdadm /dev/md0 -a /dev/sdc2
加入后, raid 将自动同步.
8. 修改配置文件 /etc/mdadm.conf 中的
DEVICE /dev/sda2 /dev/sdb2
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=24d599bd:ac87524e:087a4740:ff3837bc
其中ARRAY可以通过mdadm -D -s列出来
9. 修改配置文件 /etc/raidtab, /etc/fstab
修改这两个配置文件, 将可以在系统启动后自动启动raid系统.
raiddev /dev/md0
raid-level 1
persistent-superblock 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 64
device /dev/hda1
raid-disk 0
device /dev/hdb1
raid-disk 1
其中 persistent-superblock 必须为1, 因为mdadm创建的raid 全都是有 superblock.
chunk-size 要和用mdadm 创建raid时 -c后面的数相同. raid-disk 序号要和 在mdadm
中写的设备顺序相同.
修改/etc/fstab 加入 /dev/md0 的挂载项. 不要使用卷标.
10. 重启系统, 测试是否能正常启动 linux raid.
注:如果同时存在sda2 /sdb2 sdc2 三个相同大小的分区,如果起初把sda2和sdb2创建为raid1,如果想改为sda2和sdc2,同时希望重启后能够生效,要有如下的操作:
1)mdadm /dev/md0 -f /dev/sdb2 -r /dev/sdb2 -a /dev/sdc2
2)mdadm --zero-superblock /dev/sdb2(重要:目的是清除分区上的MD superblock内容,查看分区MD superblock信息的方法是mdadm -E /dev/sdb2)
3)调整/etc/mdadm.conf