Linux 中RAID的处理
1 如何向已存在的RAID中,添加一块硬盘或分区;
RAID有几种模式,比如创建、管理。下面我们所说的就是RAID的管理模式Manage,也可以说是RAID的进阶应用。管理模式的目的,仅仅是为了把有问题的RAID成员换掉,或者为了管理的需要把其中一个RAID成员由另一个来替换,也可能是为了安全需要,让新增加的硬盘或分区当做RAID的备用(spare)成员;在管理模式中, RAID的真正成员个数并不改变。比如我们做RAID5是,用的是三个硬盘或分区。在增加RAID成员时,RAID5仍是三个成员,容量还是保持不变,如果三个RAID成员完全正常健康,新增加的成员,仅仅是备用(spare)成员。备用成员的用途就是当RAID的真正成员发生问题时,备用成员会马上启动,仅仅是起到安全的冗余的作用;
我们要向一个既已存在RAID中,添加或移除一个硬盘或分区,我们要用到mdadm 工具的 -f 和-r 以及-a 参数;
mdadm /dev/mdX -f RAID成员
mdadm /dev/mdX -r RAID成员
mdadm /dev/mdX -a RAID成员
注:
-f 同 --fail 表示把一个设备列为有问题的设备,以便用-r或--remove参数移除;
-r 同 --remove 表示把RAID中的一个成员移出RAID;
-a 同 --add 表示向一个RAID中添加一个成员;
--re-add 重新把最近移除的RAID成员重新添加到RAID中;
值得一提的是,这些参数的运用,必须是在RAID正常运行的情况下进行。其中RAID设备是/dev/mdX,X是一个大于0的整数,RAID成员是一个硬盘或分区。添加设备并不会把RAID的容量扩大,仅仅是为了添加备用成员,比如在RAID1、RAID5和RAID10中特加有用。当一个RAID成员发生故障的时候,要用这种办法来让新成员顶替工作;
举例:
[root@linuxsir:~]# mdadm /dev/md0 -f /dev/sdb3
[root@linuxsir:~]# mdadm /dev/md0 -r /dev/sdb3
[root@linuxsir:~]# mdadm /dev/md0 -a /dev/sdb5
注:当我们想把一个RAID的成员/dev/sdb3移除 RAID设备/dev/md0时,要首先标注它为有问题的(也可能是完全正常的,为了管理需要)。然后 用-r参数移除,接着用-a 参数再添加一个设备/dev/sdb5到RAID设备/dev/md0中;
当我们用mdadm -D /dev/md0查看RAID的状态时,我们会看到RAID的详细信息。比如是否正常、RAID成员…… 下面是我们需要掌握的;
Raid Level : 注:阵列级别;比如Raid5
Array Size : 注:阵列容量大小;
Used Dev Size : 注:RAID单位成员容量大小,也就是构成RAID的成员硬盘或分区的容量的大小;
Raid Devices : 注:RAID成员的个数;
Total Devices : RAID中下属成员的总计个数,因为还有冗余硬盘或分区,也就是spare,为了RAID的正常运珩,随时可以推上去加入RAID的;
State : clean, degraded, recovering 注:状态,包括三个状态,clean表示正常, degraded 表示有问题, recovering 表示正在恢复或构建;
Active Devices : 被激活的RAID成员个数;
Working Devices : 注:正常的工作的RAID成员个数;
Failed Devices : 出问题的RAID成员;
Spare Devices : 备用RAID成员个数,当一个RAID的成员出问题时,用其它硬盘或分区来顶替时,RAID要进行构建,在没构建完成时,这个成员也会被认为是spare设备;
Rebuild Status : 注:RAID的构建进度,比如 38% complete ,表示构建到 38%;
UUID : 注:RAID的UUID值,在系统中是唯一的;
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1 注:表示这个成员是激活的;
1 8 18 1 active sync /dev/sdb2 注:表示这个成员是激活的;
4 8 19 2 spare rebuilding /dev/sdb3 注:未被激活,正在构建中的成页,正在传输数据;
3 8 49 - spare /dev/sdd1
注:spare /dev/sdd1 表示/dev/sdd1是RAID的备用成员,当RAID的正式成员/dev/sdb1、/dev/sdb2或/dev/sdb3中有一个出问题的时候,这个备用成员会自动进行工作的。这个并不是必须的,可以用添加RAID成员的办法来添加,也可以在创建的RAID的时候添加;
阅读(400) | 评论(0) | 转发(0) |