磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。

   磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。

   磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。

                   

1.RAID : Redundant Array  of Independent  Disks

        1>.提高IO能力;

通过多个磁盘并行读写;

        2>.提高耐用性

通过磁盘冗余来实现

 2.级别:多块磁盘组织在一起的工作方式有所不同;

 3.RAID实现的方式:

        1>外接式磁盘阵列;

        2>内接式RAID:主板集成RAID控制器; (1,2,在base中实现)

        3>Software RAID :

3.1级别:level

        0-6

1>.RAID -0 : 条带卷,strip;性能

       性能提升:读,写

      冗余能力(容错能力):无

      至少2块盘

 2>.RAID -1 :镜像卷,mirror

       性能表现:写性能下降,读性能提升           

      冗余能力:有

      空间利用率:1/2

      至少需要2块盘

wKioL1YSdgezxwEMAACvA0PtMP8982.jpg

 

         。。。。。。。。。。。。。。。

3>.RAID-4    检验技术(坏处)

          1101       0110      1011

         4>.RAID -5

          性能表现:读,写提升

         冗余能力:有

         可用空间:(n-1)*min(s1,s2。。。)

         至少需要3块

wKiom1YSdgixqNDnAACw_3eEc2o995.jpg

5>.RAID - 6 

              最少需要4块(2个检验码盘)

              读写性能提升

              有容错能力:2块磁盘

              最少磁盘: >=4   

         6>.RAID -10(先1后0)

          性能表现:读,写提升

         冗余能力:有

         空间利用率:1/2

         至少需要4块

wKiom1YSdh7Dk4EGAABzN5QwEhs794.jpg

7>.RAID -01 

       性能表现:读,写提升

       冗余能力:有,每组镜像最多只能坏一块

       空间利用率:1/2

       至少需要4块

         

 

wKioL1YSdl2QEfjlAACD9wGHQlg510.jpg

8>.RAID-50

      性能表现:读,写提升

      冗余能力:有

      空间利用率:(n-2)/n

      至少需要6块

9>.RAID- 7

10>.Jbod:Just a Bunch Of Disks

 性能表现:无提升

      冗余能力:无

      空间利用率:100%

      可用空间:sum(s1,s2….)

      至少2块

5.一般常用: RAID-0,1,5,10,50

6.实现方式:

     硬件实现方式

     软件实现方式

7.Centos6上的软件RAID的实现:

结合内核中的md(multi devices)

Mdadm:模式化工具

     管理模式

     追踪模式

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

支持的RAID级别: LINEAR,RAID1,0,4,5,6,10;

模式:

     创建模式; -C 

     装配模式: -A

     监控模式: -F

     管理模式: -f,-r,-a

<raiddevice>: /dev/md#

<component-devices> :任意块设备

-C :创建模式 

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

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

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

  -c CHUNK_SIZE:指明块大小;

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

-D :显示raid的详细信息

    Madam –D /dev/md#

  管理模式:

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

      -a : 添加磁盘;

      -r : 移除磁盘

观察mdadm的状态:

cat  /proc/mdstat

   watch  -n1 ‘cat /dev/md0

 停止md设备:

    mdadm –S /dev/md#

watch命令:

   -n # :刷新间隔,单位是秒;

   watch –n#  ‘COMMAND’


练习:Raid5的制作

1>.创建可用分区:

wKioL1YSdrfzcg4bAAGJZIGl-as503.jpg

2>.重新激活分区:

wKioL1YSdwTTw3q_AADnA3_als0527.jpg

3>.开始制作RAID:

wKiom1YSdsKjquLiAAMV8zmT9NM513.jpg

4>.格式化文件系统,并挂载:

wKiom1YSd8rCWVevAARed30gYDw990.jpg

wKioL1YSd97DW7z5AANOE8a7_JY983.jpg

5>.获取/dev/md0文件类型显示其详细信息:

wKiom1YSeAaji6rQAALrChSCtUM840.jpg

wKioL1YSeBmTY5yoAAFycKGQaX0750.jpg

6>.破坏其中一个设备块:

wKioL1YSeDKAKzbYAANkeWfLLTw503.jpg

7>.显示Raid的详细信息:

wKiom1YSeDzhX-eSAAM1g8PYCqg533.jpg

 wKiom1YSeEvTUB_BAAGNlcuriDw307.jpg

从图上可以看得到/decv/sda10已经被破坏掉了

8>.删除坏的设备:

wKioL1YSeH6z4mOMAAMWR6c-4NY171.jpg

wKiom1YSeGuDDxZYAAE7SYrjTe8995.jpg

9>.再从新把/dev/sda10这个设备块添加进去:

wKiom1YSeL-iuLdbAAEX6qpBRgQ754.jpg

wKioL1YSeNOyLRoPAAFyXLYaWqc690.jpg

10>.卸载RAID并停止md设备:

wKioL1YSePLBcnvRAAEa4GUHUdo454.jpg