Linux中软件RAID的实现



软件RAID的实现

  1. 软件RAID的实现

  1. 内核模块:md

  1. 解释:Multi Device多设备

  2. 查看装载的模块:lsmod-->RAIDmd的子模块

  1. 命令:mdadm

  1. 用户空间命令

  2. 它是RAID的管理工具

  3. 真正RAID的实现靠的是内核模块md

  1. 作用:将任何块设备做成RAID

  2. mdadm是模式化的命令:

    创建模式:-C

    专用选项:

    -l:级别

    -n:设备个数

    -a{yes|no}:是否自动为其创建设备文件

    -c:指定数据块(CHUNK)的大小,2^n,默认是CentOS6.x--512K

    -x:指定空闲盘的个数(注意:-n-x后面跟数字的个数要和后面的磁盘【/dev/sdb /dev/sdc /dev/sdd】的个数一致)

     

    注意:软RAID在每次生成一个CHUNK时候都会计算相对应的磁盘块,这样磁盘性能会下降(针对RAID 0RAID 5),所以在格式化时候为了提高RAID性能,我们可以指定条带的大小(-E stride),这个数就是CHUNK除以block的结果。

    管理模式:--add-a)添加,--remove-r)移走,--fail-f)失败

    监控模式:-F

    增长模式:-G

    装配模式:-A

    查看RAID阵列的详细信息:

    -D--detail

    mdadm -D /dev/mdb1 mdadm --detail /dev/mdb1

    停止阵列: -S --stop

    案例:

    创建带区卷(条带卷)RAID-0

    -->创建分区(设置分区类型)

     

     

     

     

    -->创建RAID-0卷(模式化)

     

    -->查看模式化状况

     

    -->格式化

     

    -->挂载

     

    创建2GRAID 1(制作镜像卷:添加2块磁盘,每个2G

    实验过程:

    -->创建磁盘分区

     

     

    -->为分区设置分区类型

     

     

    -->创建RAID 0

    -->格式化镜像卷

     

    -->挂载

     

    -->验证

     

    注意:有时候在创建好md#编号后,重启系统会发现编号变了,解决方案。

     

    备注:将模式化的源信息写入到模式化的配置文件中(重启再查看)。

    验证:

     

    测试:

  1. 测试镜像卷的功能

    -->在该镜像卷的挂载目录下存些文件(以备测试之用)

    -->查看镜像卷的相关信息

     

    -->破坏/dev/sdb2

     

    备注:显示/dev/sdb2被模拟损坏。

    -->查看/RAID1下的文件

    结果:文件信息完全。

    验证:镜像卷的备份储存功能。

     

    -->删除损坏的磁盘,再次查看镜像卷

     

    备注:将损坏的磁盘删除。

     

     

    备注:再次查看/dev/sdb2没有了。

    -->如何修复呢?(实验前先配置实验环境)

     

     

     

     

     

     

     

    -->添加一块磁盘,将该磁盘划分出与移除的分区大小相同的分区。

     

     

    备注:使用扇区来确定空间更为准确。

    -->mdadm -a为镜像分区添加磁盘

     

    在这个过程中,如果要复制的数据比较大,同步时间会多些。其间可以通过watch命令查看同步的过程(需要打开另一终端)。

    watch:周期性的执行指定命令,并以全屏方式显示结果。

    参数:-n #:指定周期的长度,单位为秒,默认为2秒。

     

     

  2. 停止RAID 1列阵

     

     

    备注:这样就彻底删除了。

  3. 重新装载RAID 1阵列

     

     

    -->查看模拟化状态

     

  4. 实际工作中很难记清每块磁盘,所以还有另一种办法很好用。

     

    -->将显示的信息定向到配置文件,当再次装载时就不用再指定具体磁盘了。

     

    -->停止RAID 1

     

    -->激活RAID 1

     

    创建4GRAID 53个磁盘,每个2G

    实验全准备:将上一个实验中的/dev/sdc1/dev/sdd1/dev/md1中移除。

     

     

     

    实验过程:

    fdisk /dev/sdb(/dev/sdc,/dev/sdd)

    操作过程:n->p->l->t(fd)->p->w

     

     

     

     

     

    -->格式化

     

     

    优化:

     

    -->添加备用分区

    mdadm -a /dev/md2 /dev/sdh1

    备注:/dev/sdh1/dev/md2的备份分区。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

你可能感兴趣的:(Linux中软件RAID的实现)