RAID简介

RAID:Redundant Arrays of Inexpensive(Independent) Disks

原来的称呼是:廉价磁盘冗余阵列。因为现在磁盘不廉价了,所以改名叫独立冗余磁盘阵列

  • 原理:把多个磁盘放一起工作。

  • 目的:提高IO能力,提高耐用性

  • 实现方式:

    • 外接式磁盘阵列:通过扩展控制器,控制所有磁盘
    • 内嵌式磁盘阵列:主板集成RAID控制器
    • software RAID:软件模拟

多个磁盘的组织方式:

RAID-0:会把一个文件内容分隔,存在多个磁盘上。

优点:

  • 读写能力提升
  • 可用空间提升:N*min(磁盘1,磁盘2.。。。)

缺点:

  • 由于没有冗余,所以无容错

    最少磁盘:2

RAID-1:把一个文件,存到所有磁盘

优点:

  • 有冗余,所以可以容错

缺点:

  • 可用空间:1*min(磁盘1,磁盘2.。。。)
  • 写能力下降

最少2个磁盘

RAID-4:结合RAID-0和RAID-1的优点

最少3个磁盘,拿1个做校验盘,另外2个盘用RAID-0的方式设置,当某一个坏了,另一块和校验盘做计算,可以计算出坏了的磁盘的内容。

缺点:校验盘要是坏了就不能恢复了,校验盘成了性能的瓶颈。

RAID-5:类似RAID-4,所有磁盘轮流做校验盘。

RAID-6:类似RAID-5,但多拿出一个磁盘做校验盘,校验码存2次。

最少4块磁盘

混和类型:

RAID-10:地下磁盘是RAID-1的方式组织,上面存数据是RAID-0方式

可用空间:总磁盘的一般

最少磁盘:4

有容错能力(两两一组)

RAID-01:和RAID-10相反

RAID-50,RAID-7

JBOD:Just a Bunch of Disks

将多块磁盘的空间合并成一个大的连续空间使用。

常见种类:RAID-0,RAID-1,RAID-5,RAID-10,RAID-10,RAID-50,JBOD

centos6上的软件RAID实现:使用内核的md(multi devices)

mdadm:模式化工具:

语法格式:mdadm [mode] <raiddevice> [option] <component-device>

支持的RAID级别:LINEAR(JBOD),RAID0,RAID1,RAID4,RAID5,RAID6,RAID10

<raiddevice>:是不存在的,使用mdadm命令后,才会被做成

<component-device>:任意块设备

模式:

  • 创建:-C

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

    -l # :指明要创建的RAID的种类

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

    -c CHUNK_SIZE:指明块大小

    -x # :指明空闲磁盘个数。

  • 装配:-A

  • 监控:-F

  • 管理:-f(标记指定磁盘为损坏, -r(移除磁盘), -a(添加磁盘)

  • 显示详细信息:-D:mdadm -D /dev/md#

观察:watch -n1 'ifconfig eth0:每秒执行一次后面的命令

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

配合watch使用。

停止RAID:mdadm -S /dev/md#

# c/c++ 学习互助QQ群:877684253 ![](https://img2018.cnblogs.com/blog/1414315/201811/1414315-20181106214320230-961379709.jpg) # 本人微信:xiaoshitou5854
原文地址:https://www.cnblogs.com/xiaoshiwang/p/12272377.html