您的位置:首页 > 大数据 > 人工智能

RAID详解

2017-12-11 22:51 127 查看
一、简介
 RAID,早期之意为廉价磁盘冗余阵列(Redundant Arrays of Inexpensive Disk),后期发现其一点都不廉价,将其改为独立磁盘冗余阵列(Redundant Arrays of Independent Disk)。
 无论是机械硬盘还是固态硬盘,其能进行的I/O的次数是有限,单块硬盘远远无法满足业务的I/O需求,所以有了RAID,使用RAID主要 用于提升磁盘的I/O能力与磁盘的可靠性。
 按照对硬盘的组织方式不同将其分为多种”级别”,从RAID-0到RAID-10,各个级别的组织方式不同功效不同,并不是越高越好,常见的RAID有RAID-0、RAID-5、RAID10、JBOD(Just a Bunch of Disk,将硬盘串联起来,提供更大容量磁盘)。

二、各种RAID的区别作用
 RAID0:也称为条带卷(strip),RAID控制器根据其算法将数据分割成块(chunk)并行写入到多个磁盘,读写速度有显著提高,但是将数据分割到多块硬盘上存储,其中一块故障,后果就是整个RAID故障,RAID提高了读写性能、降低了可靠性,另外RAID0的读写速度并不是多块硬盘的读写速度之和,还取决于控制器的分割速度。
 RAID1:也成为镜像卷(mirrori),RAID控制器根据其算法将将数据分割成块(chunk)并镜像一份单独写入一个磁盘中,此方式增加了数据的安全性,会多写入一份数据消耗更多资源,增强读性能(从不同的硬盘读数据)。
 RAID4:该组织方式为RAID1与RAID0的中和版,该RAID最少需要3块硬盘,其中两块作为RAID-0读取数据,第三块存放数据的冗余计算码(异或运算),RIAD4读写性能与可靠性都有增强,缺点是第三块硬盘压力最大可能会导致故障。
 RAID5:RAID5是RAID4的升级版,区别在于RAID5的校验码循环存储在各个硬盘上,这样减轻了因为校验码故障而导致RAID故障的几率,根据校验码存放的起始位置不同,其算法也不太一样,一般为左对齐。
 RAID10:这是RAID0与RAID1的组合体,先将硬盘分组做RAID1,再在组中做RAID0。
 RAID01:也是RAID0与RAID1的组合体,先将硬盘分组做RAID0,再在组中做RAID1。
 在实际环境中用最常见的还是RAID5与RAID10。

三、RAID的实现方式
 一般RAID都是硬件板卡实现在BIOS中或开机启动时设置,到时候看英文提示选择即可。
 这里介绍软RAID,通过内核自带的md模块实现。
 mdadm 这是一个md模块的管理工具,可以通过此命令创建、删除、管理软RAID。

mdadm  -C   /dev/md#  -n #  -l #  [-a yes|no] [-x #]  Device
-C md#          RAID设备文件
-a  yes|no是否自动创建RAID设备文件
-n  有多少个硬盘设备
-x  有多少个空闲设备,当硬盘故障后,此硬盘立即补上。
-l  表示level,创建RAID的级别。
-c  指明块(chunk)大小。
Device  RAID的成员磁盘设备文件。
删除RAID:
mdadm  /dev/md0  -f  /dev/sd#  --remove /dev/sd#    //标记磁盘为错误状态
mdadm -S /dev/md#       //停止RAID工作
mdadm --remove /dev/md# //删除RAID设备文件
mdadm --misc --zero-superblock  /dev/sd#    //清除磁盘中的super block
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux RAID mdadm 软RAID