RAID阵列
一、RAID的基本概念
raid磁盘阵列,可以用不同的硬盘分区,组成一个逻辑上的硬盘。从而提供比单个磁盘更高的存储性能和数据冗余的技术。
二、RAID的级别分类
磁盘的组成方式不同,也就是不同的raid级别。常用的RAID级别:RAID 0(条带化存储),RAID 1(镜像存储),RAID 5,RAID 6,RAID 1+0(先做镜像,再做条带) 等。
三、常见的RAID级别具体信息
1.RAID 0(条带化存储)
条带化存储:数据分散再多个物理磁盘上的存储方式。利用多个磁盘并行读取和写入。存储性能和读写性能是最好的。
raid0 使用条带化存储,没有冗余能力,坏一块数据就会丢失。
raid0 使用场景:高吞吐和低延迟的应用场景。视频,大数据处理。
raid0 最少要一块硬盘或者分区。
raid0 硬盘利用率是100%。
2.RAID 1(镜像存储)
镜像存储:两两复制,数据会存储在所有的硬盘上。
raid1 需要的磁盘数N(偶数)
raid1 可以提高读的性能写性能相对较低,数据在每个磁盘上都要备份。
raid1 可以提供冗余
raid1 磁盘利用率50%
3.RAID5
raid5 条带 数据是分散存储,根据校验机制,循环均衡存储。
raid5 磁盘数量 n>=3
raid5 有冗余,可以坏一块盘,如果有热备份,可以再坏一个盘。
raid5 读性能好,写性能相对较差。
raid5 磁盘利用率(n-1)/n raid5应用场景是最多的。
4.RAID6
raid6 需要4块硬盘,n>=4
raid6 磁盘利用率 (n-2)/n
raid6 有冗余,奇偶校验,每个盘上的数据一致,循环按照奇数和偶数来把数据写入磁盘。
raid6 最多可以坏两个盘
raid6 读性能和raid5差不多,比raid5强,比raid1低。写性能是最差的。
raid6 的可靠性是最高的。金融,医疗,法律,银行都爱用
对数据的完整性和可靠性要求很高,选择raid6
5.RAID1+0
raid10 最少需要四块盘,盘数必须是偶数。先做镜像再做条带。
raid10 有冗余,可以坏两块,每个两两复制的硬盘当中可以坏一个。
raid10 的磁盘利用率n/2
raid10 读写性能都比较高,读性能比raid0稍低,写性能比raid1稍差。
6.RAID级别归纳对比表
raid级别: | 使用硬盘数量 | 硬盘利用率 | 冗余能力 | 读写性能 |
---|---|---|---|---|
raid0 | N | 100% | 无 | 读写性能最好 |
raid1 | N(偶数) | 50% | 坏一块 | 读性能好,写性能相对较差 |
raid5 | N>=3 | n-1/n | 坏一块 | 读性能好,写性能一般 |
raid6 | N>=4 | n-2/n | 坏两块 | 读性能好,写性能最差 |
raid10 | N>=4(偶数) | 50% | 每个组当中可以各坏一个 | 读性能好,写性能一般 |
在企业当中,用的最多的raid5
面试题有四个硬盘,怎么选择磁盘阵列?
raid0
raid1
raid5经济实惠
raid6可以坏两个
raid10虽然可以坏两个,但是磁盘利用率只有50%
总结:个人认为当前条件选raid5比较合适 3+1热备份=raid6
四、热备盘
热备份 当阵列中,有一块硬盘坏了,热备份盘可以随时顶替,相当于磁盘的最后一层保险。
工作原理:热备份相当于给raid又做了一个备份,一个raid中坏了一块硬盘,热备份在顶替的过程中,利用校验算法,把阵列中的数据同步过来,然后再顶替坏掉的硬盘。在替换过程当中,阵列是不可使用的,不能读写。顶替完成之后,raid恢复正常状态。
五、利用软raid程序来配置实现RAID
(1)、RAID5
1.实验前的环境准备
2.创建并定义RAID设备
mdadm -C /dev/md5 -l5 -n3 -x1 /dev/sd{b,c,d,e}1
##命令 raid名 级别 盘数 热备
3.用文件系统对每个RAID设备进行格式化
mkfs.xfs /dev/md5
4.挂载
mkdir /data
mount /dev/md5 /data
5.使用mdadm检查RAID设备的状况
mdadm -D /dev/md0
(2)、RAID1+0
第一步:创建并定义RAID设备
mdadm -Cv / dev/md10 -l10 -n4 -x2 /dev/sd{b,c,d,e,f,g}2
## 命令 创建模式显示详细过程 阵列的名称 创建级别1+0 4块硬盘组成阵列 两块热备盘 被使用的磁盘
第二步:用文件系统对每个RAID设备进行格式化,进行挂载
mkfs.xfs /dev/md10
vim /data1
mount /dev/md10 /data1
第三步:查看阵列和热备盘的详情
mdadm -D /dev/md10
第四步:测试 强制标记一个磁盘下线,看是否对数据有影响
mdadm /dev/md10 -f /dev/sdb2
mdadm -D /dev/md10
实验外命令拓展
mdadm -S /dev/md0 ##停止设备
mdadm --zero-superblock /dev/sdb1 ##删除raid信息