实现软件RAID

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现软件RAID相关的知识,希望对你有一定的参考价值。

RAID设备可命名为/dev/md0/dev/md1/dev/md2/dev/md3

模式化的工具:mdadm,为软ride提供管理界面

支持的RAID级别:RAID-0, RAID-1, RAID-4,RAID-5,RAID-6,RAID-10

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

              模式<mode>:创建、装配、监控、管理

1、创建模式:

  -C: 创建模式

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

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

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

  -c CHUNK_SIZE: 指明块大小(默认512k

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

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

      mdadm -D /dev/md#

         -Ds:显示raid的简要信息

2、装配模式:

  -A:装配模式,重新识别此前识别的RADE

     激活设备: mdadm A s /dev/md0 激活

3、监控模式:

  -F:监控模式

4、管理模式:

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

   -a: 添加磁盘

   -r: 移除磁盘

其他管理

   观察md的状态:cat/proc/mdstat

   停止md设备:mdadm -S /dev/md#

   生成配置文件:mdadm D s >> /etc/mdadm.conf

   强制启动:mdadm R /dev/md0

   删除raid信息:mdadm  --zero-superblock  /dev/sdb1


CentOS6.9部署RAID磁盘阵列组

一、前期准备

    1、虚拟机添加4块硬盘

技术分享

            通常添加磁盘后需重启才能显示新添加的磁盘,我们也可以使用命令的方式触发磁盘扫描来使磁盘信息更新。技术分享

      2、配置分区:

       ①RAID磁盘阵列的各磁盘或分区需容量大小相同。我们使用fdisk命令在每块磁盘上取容量为1G的分区来作为RAID磁盘。注意:主设备号要改为fd linux raid auto

技术分享       ②以/dev/sdb为模板批量克隆分区/dev/sdc/dev/sdd /dev/sde

技术分享

                   ③ 由于使用的是CentOS6系列版本,同步命令partprobe不可用,我们用partx -a来同步分区

 技术分享

二、创建RAID-5:

    1、使用命令mdadm -C /dev/md5 -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}1开始创建RAID5

技术分享

    2、通过命令mdadm -D /dev/md5显示RAID的详细信息

技术分享

 我们添加了四块容量1G的分区,其中一块作为备用分区。由于RAID5特性使用容量相当一块磁盘(分区)的空间来放置校验信息,所以容量显示为2G

    3、查看md5分区信息并保存

技术分享

     4、给md5创建文件体统 mkfs.ext4 /dev/md5

      将md5挂载到mount /dev/md5 /mnt/raid5(需手工创建目录)

三、模拟损坏及移除、添加磁盘

    1、模拟磁盘(分区)/dev/sdb1损坏

技术分享

查看md5详细信息可看到备用分区/dev/sde1自动顶替了损坏分区/dev/sdb1

技术分享

    2、生产中我们可以移除坏掉的磁盘(分区)

技术分享

    3、买来新的磁盘(或做好相同容量分区),更改主设备号后把它添加进来

技术分享

       Tips:添加、移除操作需取消挂载后进行

四、删除RAID:

   1、将RAID磁盘阵列中数据做好备份后,停止md设备mdadm -S /dev/md#

           2、删除对应挂载点内的数据  

   3、依次删除raid信息:mdadm  --zero-superblock  /dev/sdb1

           4、删除配置信息:rm -f /etc/mdadm5.conf

           5、删除/etc/fstab中对应挂载信息



同理实现RAID-10也可采用同样的方式进行创建、修改、测试。我把创建的简要步骤写一下有兴趣的朋友可以试着练习一下RAID-10的创建、修改、测试。

         ①mdadm -Cv /dev/md0 -a yes -n 4  -x 1  -l 10  -c 1M  /dev/sd{b,c,d,e,f}

                      -Cv /dev/md0:创建设备名为md0的磁盘阵列并显示过程

                      -a yes:自动创建目标RAID设备的设备文件

                      -n 4:指定4块可用磁盘dev/sd{b,c,d,e}

                      -l  10:指定要创建的RAID级别为10

                      -x 1:指定1块备用磁盘dev/sdf(-x写在-n之后所以对应最后一块磁盘)

                      -c 1M:指定块大小为1M

         ②mkfs.ext4 /dev/md0

 

 

 


以上是关于实现软件RAID的主要内容,如果未能解决你的问题,请参考以下文章

RAID 1 软件实现(Linux 系统)

实现软件RAID

软件RAID

Linux系统上利用软件实现RAID

软件raid 5

软件RAID 0