红联Linux门户
Linux帮助

Linux下的软RAID实验一例

发布时间:2014-11-21 10:55:56来源:linux网站作者:renfengjun

一共5块盘,其中一个为备用盘。

mdadm--create --auto=yes /dev/md0 --level=5 --raid-devices=4 --spare-devices=1/dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1


查看raid详细信息

mdadm--detail /dev/md0

/dev/md0:--设备名

Version : 1.2

Creation Time : Mon Mar  5 23:00:11 2012 --raid创建时间

Raid Level : raid5 --raid级别

Array Size : 3131904(2.99 GiB 3.21 GB)  --raid可用的磁盘容量

Used Dev Size : 1043968(1019.67 MiB 1069.02 MB)  --每个设备的可用容量

Raid Devices : 4  --用作raid的设备数量

Total Devices : 5  --raid使用的全部设备数量

Persistence : Superblock is persistent

Update Time : Mon Mar  5 23:00:46 2012

State : clean, degraded, recovering

Active Devices : 3 --启动的设备数量 (初始创建的时候,会一个一个增加,直到数量等于用作raid的设备数量)

Working Devices : 5  --可动作的设备数量

Failed Devices : 0  --出错的设备数量

Spare Devices : 1 --备用盘的数量

Layout : left-symmetric

Chunk Size : 512K

Rebuild Status : 33% complete

Name : rhel6:0  (local to host rhel6)

UUID :94396413:711b06a3:8a3b3df5:737c953e  --raid标识符

Events : 6

Number  Major   Minor   RaidDevice State

0      8       33        0     active sync   /dev/sdc1

1      8       49        1     active sync   /dev/sdd1

2      8       65        2     active sync   /dev/sde1

5       8      81        3      spare rebuilding   /dev/sdf1  --表示正在重建

4      8       97        -     spare   /dev/sdg1

[root@rhel6~]# cat /proc/mdstat

Personalities :[raid6] [raid5] [raid4]

md0 : active raid5 sdf1[5] sdg1[4](S) sde1[2] sdd1[1] sdc1[0] --使用了raid5 ,并且显示了有哪些盘,(S)表示的是spare备用盘。

3131904 blocks super 1.2level 5, 512k chunk, algorithm 2 [4/4] [UUUU] --uuuu表示的是四个启动盘的状态,U表示正常运作,_表示不正常。

unused devices:<none>


可以挂载使用raid5 磁盘

先格式化

[root@rhel6 ~]# mkfs -t ext4 /dev/md0

[root@rhel6 ~]# mkdir /d_raid5

[root@rhel6 ~]# mount /dev/md0 /d_raid5/

挂载完成后,向里面插入点东西。

[root@rhel6d_raid5]# cp -a /etc /var/log /d_raid5/

[root@rhel6d_raid5]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda1             9.9G  6.5G 3.0G  69% /

tmpfs                1012M   88K 1012M  1% /dev/shm

/dev/sda3             7.9G  6.8G 744M  91% /u01

/dev/sdb1             9.9G  5.8G 3.7G  62% /u01/arch1

/dev/sdb2             9.9G  1.9G 7.6G  20% /u01/backup

/dev/md0              3.0G  121M 2.7G   5% /d_raid5

模拟失败

mdadm--manage /dev/md127 --fail /dev/sde1

mdadm--detail /dev/md127

Number   Major  Minor   RaidDevice State

0      8       33        0     active sync   /dev/sdc1

1      8       49        1     active sync   /dev/sdd1

4      8       97        2     spare rebuilding   /dev/sdg1

5      8       81        3     active sync   /dev/sdf1

2      8       65        -     faulty spare   /dev/sde1

会发现,备用盘正在重建。

而/dev/sde1 已经失败

[root@rhel6 ~]# cat /proc/mdstat

Personalities :[raid6] [raid5] [raid4]

md127 : active raid5sdf1[5] sdd1[1] sde1[2](F) sdc1[0] sdg1[4]

3131904 blocks super 1.2 level 5, 512kchunk, algorithm 2 [4/3] [UU_U]

[==================>..]  recovery = 90.8% (949120/1043968)finish=0.1min speed=11248K/sec

查看/proc/mdstat文件,会发现,重建的进度


重建结束后:

[root@rhel6 ~]# cat /proc/mdstat

Personalities :[raid6] [raid5] [raid4]

md127 : active raid5sdf1[5] sdd1[1] sde1[2](F) sdc1[0] sdg1[4]

3131904 blocks super 1.2 level 5, 512kchunk, algorithm 2 [4/4] [UUUU]

unused devices:<none>

会显示失败的盘

将出错的盘删除,并且加入新磁盘:

[root@rhel6 ~]# mdadm --manage /dev/md127 --remove /dev/sde1

mdadm: hot removed/dev/sde1 from /dev/md127

[root@rhel6 ~]# cat /proc/mdstat

Personalities :[raid6] [raid5] [raid4]

md127 : active raid5sdf1[5] sdd1[1] sdc1[0] sdg1[4]

3131904 blocks super 1.2 level 5, 512kchunk, algorithm 2 [4/4] [UUUU]

unused devices:<none>

[root@rhel6 ~]# mdadm --manage /dev/md127 --add /dev/sdh1

mdadm: added/dev/sdh1

[root@rhel6 ~]# cat /proc/mdstat

Personalities :[raid6] [raid5] [raid4]

md127 : active raid5sdh1[6](S) sdf1[5] sdd1[1] sdc1[0] sdg1[4]

3131904 blocks super 1.2 level 5, 512kchunk, algorithm 2 [4/4] [UUUU]

unused devices:<none>

mdadm--detail /dev/md127

Number   Major  Minor   RaidDevice State

0      8       33        0     active sync   /dev/sdc1

1      8       49        1     active sync   /dev/sdd1

4      8       97        2     active sync   /dev/sdg1

5      8       81        3     active sync   /dev/sdf1

6      8      113        -     spare   /dev/sdh1

又OK了真不好意思


关于开机挂载

使用raid,每次重启后,都会变换设备路径

比如原来为/dev/md0 重启一次变成了/dev/md127

这个问题,可以使用修改配置文件来解决。

1.首先记录下来raid的UUID号码

[root@rhel6 ~]#mdadm --detail /dev/md127

UUID :94396413:711b06a3:8a3b3df5:737c953e

2.修改/etc/mdadm.conf文件 加入如下内容,即可在以后的开关机后确定raid的设备路径

ARRAY /dev/md0UUID=94396413:711b06a3:8a3b3df5:737c953e

3.修改/etc/fatab 开启自动挂载,加入如下内容

/dev/md0/d_raid5                    ext4    defaults        1 2