软RAID的实现方法,以RAID5为例

软RAID的实现,以RAID5 为例,在Centos 6 系统上实现,首先在虚拟机上添加3块硬盘 在系统上分别显示为/dev/sdb /dev/sdc /dev/sdd 大小随意选择。

1、要使用RAID需要将磁盘分区格式设置为Linux raid auto

    分别创建 /dev/sdb1  3G

             /dev/sdb2  2G (这块盘冗余,当其他3块盘中有任何一块出现故障时自动替换上)

             /dev/sdc1  2G

             /dev/sdd1  2G

    分区格式设置为 Linux raid auto

    (注意如果分区大小不同,以最小分区为准,这里故意设置一个3G的测试下是不是这个道理)

blob.png

blob.png

blob.png

上图完成了分区的创建工作

2、进行RAID5的制作

可通过cat /proc/mdstat命令来查看当前系统RAID的状态

blob.png

如上所示表示当前系统上没有做软RAID

下面简单介绍下制作RAID的工具:

mdadm:模块化的工具,用来管理RAID

命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>

    <raiddevice>: /dev/md#

    <component-devices>: 任意块设备

    其中mode:

-C: 创建模式

-n #: 使用#个块设备来创建此RAID;

                -l #:指明要创建的RAID的级别;

-a {yes|no}:自动创建目标RAID设备的设备文件;

-c CHUNK_SIZE: 指明块大小;

-x #: 指明空闲盘的个数;

-D:显示raid的详细信息;

mdadm -D /dev/md#

管理模式:

-f: 标记指定磁盘为损坏;

-a: 添加磁盘

-r: 移除磁盘

                     example:mdadm raiddevice [-f,-r,-a] /dev/devices

停止md设备:

    mdadm -S /dev/md#

3、下面真正开始制作RAID了,要求是制作一个大小为4G的RAID5,使用4块磁盘,一块用来做冗余

mdadm -C /dev/md0 -l 5 -n 3 /dev/sdb1 /dev/sdc1 /dev/sdd1 -x 1 /dev/sdb2

blob.png

上图表示创建完成

4、可用cat /proc/mdstat 查看其创建过程

blob.png

5、用mdadm /dev/md0 命令查看RAID5的详细信息

blob.png

6、然后将其格式化为ext4类型

    mke2fs -t ext4 -b 4096 -m 6 /dev/md0

            -t:指定文件类型

            -b:4096 是用来设置块大小,默认就是4096字节可以不设置

            -m:是用来设置为管理磁盘预留空间,默认是%5可以不设置

blob.png

7、然后将其挂载到/mnt目录下,并用df -h查看 /mnt目录大小

blob.png

/dev/md0 大小为4G证明确实是有其最小分区决定RAID大小的

RAID5 制作完成!

命令blkid可用于查看当前系统上的磁盘分区简要信息:

blob.png


8、如果需要开机自动挂载,需要将将其写入/etc/fstab 文件中去。

/dev/md0,在开机重启后可能会变名称,所以写入/etc/fstab文件是可用其UUID确定某个分区

9、下面将/etc/fstab文件复制到/mnt目录中去

我们模拟将其中一块盘损坏:

命令为:mdadm -f /dev/sdb1

blob.png

我们再用 cat /proc/mdstat 命令查看RAID的状态

blob.png

上图显示sdb1 已经损坏,sdb2迅速顶替了sd1的位置 ,RAID5处于正常状态

还可用命令 mdadm -D /dev/md0 显示其详细信息

blob.png

10、我们在再将其中一块盘设置为故障看看会怎么样?

命令 mdadm /dev/md0 -f /dev/dev/sdb2 将/dev/sdb2也设置为故障

 用命令 cat /proc/mdstat 查看RAID的状态,显示/dev/sdb1 /dev/sdb2 都为故障

blob.png

 此时RAID5仍然能继续工作,处于降级状态工作

用命令: mdadm -D /dev/md0 查看详细信息

blob.png

其状态为: State : clean, degraded (降级)

如果再损坏一块磁盘那么这个RAID5就会出现故障,导致数据丢失,所以当发现磁盘中有故障后需要及时更换

11、下面演示,添加磁盘,假如我们损坏的磁盘修复了,将其添加上新的磁盘使其能正常安全运行

首先要移除损坏的磁盘,命令为:

mdadm /dev/md0 -r /dev/sdb1 /dev/sdb2

blob.png

移除后显示先RAID的状态:

blob.png

显示只有两块盘处于工作状态,现在我们要添加新的磁盘上去

命令为:

mdadm /dev/md0 -a /dev/sdb1

blob.png

mdadm /dev/md0 -a /dev/sdb2

blob.png

12、再查看下其详细信息

blob.png

发现其RAID又恢复到了以前的状态


完毕!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章