本文转自 http://ertou.blog.51cto.com/789994/183697
Soft Raid:
1 首先,用fdisk进行分区。
#fdisk –l <硬盘设备名> 在命令行方式下显示指定硬盘的分区表信息。
#fdisk <硬盘设备名> 或者parted <硬盘设备名> 进行磁盘分区。
注意:文件格式ID: fd Linux raid autodetect。
2 [root@localhost ~]# rpm -qa | grep mdadm
3 mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1 --spare-devices=1 /dev/sdd1
或者 mdadm -Cv /dev/md0 –l1 -n2 -x1 /dev/sda1 /dev/sdb1 /dev/sdd1
注意:C必须是大写的。
l为建立级别 :
n为磁盘数目
x为冗余磁盘数目
4 格式化raid硬盘。
[root@centos /]# mkfs.ext3 /dev/md0 或者mkfs –t ext3 /dev/md0
然后找个文件夹挂载raid硬盘。
mount /dev/md0 /filefolder
5 了解raid状况
[root@localhost ~]# mdadm -D /dev/md0 或者 mdadm -Ds /dev/md0
然后就可以看到/dev/md0相关信息。
我们尝试向RAID中写入一个文件:
这时我们可以发现sdb、sda两块盘均已经同步。
6 关于配置文件
可通过命令mdadm –Ds查看详情,然后生成文本文件/etc/mdadm.cong.
[root@localhost /]# echo DEVICE /dev/sda1 /dev/sdb1 /dev/sdd1 //所用到的分区
[root@localhost ~]# mdadm -Ds >>/etc/mdadm.conf
下面为:/etc/mdadm.conf文件内容
DEVICE /dev/sd[abcd]1
ARRAY /dev/md0 level=raid5 num-devices=3 spares=1 UUID=d5d428e1:32129cb6:ca062433:f51b7e4c
为使系统reboot后能够自动挂载raid目录,需要修改/etc/fstab文件,加入如下一行:
/dev/md0 /mnt/raid ext3 defaults 0 0
7 启动停止RAID
使用--stop或-S命令选项可以停止运行的阵列(注意:停止前必须先umount):
[root@localhost eric4ever]# umount /mnt/md0
[root@localhost eric4ever]# mdadm -S /dev/md0 (或mdadm --stop /dev/md0)
mdadm: stopped /dev/md0
删除md0设备 rm –rf /dev/md0
需要注意的是,在删除md0文件后需要重新建立md0设备文件
mknod /dev/md0 b 9 0
删除或修改分区 fdisk
重新启动可以使用:
如何没有配置文件:则执行下面代码
[root@centos /]# mdadm -A /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdd1
如果已经建立了配置文件,启动可使用命令mdadm -As /dev/md0
mdadm: /dev/md0 has been started with 2 drives and 1 spare.
8 故障测试中,标记sda硬盘损坏
[root@localhost raid]# mdadm --manage --fail /dev/md0 /dev/sda1
或者:mdadm /dev/md0 –f /dev/sda1
mdadm: set /dev/sda1 faulty in /dev/md0
9 查看状态
[root@localhost raid]# cat /proc/mdstat
10 移除损坏的硬盘
[root@localhost raid]# mdadm /dev/md0 -r /dev/sda1
mdadm: hot removed /dev/sda1
至此可以拿下损坏的硬盘
11 添加新的硬盘到raid中
最好与之前换掉的硬盘保持相同的设备号。然后执行命令
[root@localhost raid]# mdadm /dev/md0 -a /dev/sda1
mdadm: added /dev/sda1
12 监控RAID
mdadm的监控模式提供一些实用的功能,你可以使用下列命令来监控/dev/md0,delay参数意味着检测的时间间隔,这样紧急事件和严重的错误会及时发送给系统管理员:
[root@localhost eric4ever]# mdadm --monitor --mail=eric4ever@localhost --delay=300 /dev/md0
当使用监控模式时,mdadm不会退出,你可以使用下列命令:
[root@localhost eric4ever]# nohup mdadm --monitor --mail=eric4ever@localhost --delay=300 /dev/md0 &
[1] 3113
[root@localhost eric4ever]# nohup: appending output to `nohup.out'