概念:RAID(redundant array of independent disks)技术,独立磁盘冗余阵列,是提高磁盘可靠性和可用性的一种技术。RAID技术出现的初衷是把多个小容量的硬盘组合起来,以获得更大的存储容量。当前我们所说的RAID技术更多则是与数据保护相关,换言之,当物理设备失效时,RAID能够用来防止数据的丢失。
RAID技术的主要功能: 通过对硬盘上的数据进行条带化,实现对数据成块存取,减少硬盘的机械寻道时间,提高了数据存取速度。 通过对一阵列中的几块硬盘同时读取(并行访问),减少了硬盘的机械寻道时间,提高了数据存取速度。 通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。
raid :独立冗余磁盘整列-----备灾,高可用----阵列中有磁盘损坏可以继续使用,不影响数据
把多个独立的物理硬盘按不同的方式组合起来(逻辑上的)形成一个硬盘,从而提供比单个硬盘跟很好的读写性能以及数据备份
特点:
1、raid有多个不同的级别,可以提供不同的读写性能以及数据备份的效果
2、可以扩展存储容量,可以和lvm结合起来一块使用
把lvm的动态扩容 raid的读写性能和数据备灾结合起来
3、可以根据自身的情况选择不同的raid级别
4、缺点:要实现raid至少要两个硬盘,比单个磁盘成本要高
不同的级别:
raid 0
(条带化存储):将一个数据分散在多个物理磁盘上。利用多个磁盘并行读写,主要提高读写性能。
特点 读写性能强,没有数据备份的功能,坏一块盘,所有数据都会丢失。需要定期备份。一块可 用。只是单纯的提高性能,并没有为数据的可靠性提供保证。
用途:不能应用于数据安全性要求高的场合,需要高性能但是对数据冗余没有要求的场景--视频编 辑、游戏
raid 1
(镜像存储):复制:通过磁盘镜像实现数据冗余,在写入数据时,同时在两块磁盘写入相同的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此Raid1可以提高读取性能。
特点:至少两块磁盘才能使用,只能做偶数快。提高读性能,写入性能较低,可以提供数据存储备份。磁盘利用率只有50%,成本高。
raid 5
最少需要三块磁盘组成阵列(N>=3)
热备份盘。平时不在阵列工作机制中,其中一块损坏则热备份盘顶替。
(奇偶校验)数据写入磁盘时依次写入每一个硬盘循环存储---写性能较低,读性能较好。允许坏一块盘,加了热备份可以坏两块盘。可靠性高,坏一块盘,不影响所有数据。
在数据中添加校验位,来检测并纠正单个比特的错误。检测数据位是否相同。
raid 6
最少需要四块磁盘组成阵列(N>=4)利用率:(n-2)/n
由于raid 6有独立的另外一个奇偶校验,相对于Raid5,写性能较差,可以同时坏两块硬盘
raid 6是一种提供了更高的数据可靠性的raide,适用于对数据完整性很高的场景。
安全性高,写性能较差
raid 1+0
(先做镜像两两复制,再做条带分散存储)磁盘块必须是大于4的偶数。
特点:读写性能高,可靠性高,磁盘利用率低只有50%
缺点:成本高
分别继承了raid 0读写快,和raid 1数据备份的特点
raid 0+1
先做条带再做镜像
总结:
raid级别 磁盘数 磁盘利用率 读性能 写性能 冗余
raid 0 : N 100% 高 高 无
raid 1 : N>=2.N为偶数 50% 较高 较低 只能坏1个
raid 5 : N>=3 (n-1)/n 较高 低 只能坏1个,可做热备份
raid 6 : N>=4 (n-2)/n 较高 比较低 可以坏两个,可做热备份
raid 10: N>=4.N为偶数 50% 高 较低 可以坏两个,两两成对的机组,每一个机组只能坏一个
特点:
raid 0 :追求最大容量,最大速度,没有数据备份,坏一个,全部数据异常
raid 1 :可以进行数据备份,坏一块盘不影响数据,但是磁盘利用率只有50%,成本高
raid 5 :不仅可以进行数据备灾,而且磁盘的利用率相对较高,但是写入的速度相对较慢。
raid 6 :数据的安全性更好,写入的速度比raid5更慢
raid 10 :综合raid 0和raid 1的优点,同时具有高性能和数据的备份,可以坏两块盘,两两成对的机组,每一个机组只能坏一个,磁盘只有50%的利用率,成本高
通过硬件实现的是硬raid
直接在物理硬盘上做
通过cpu的方式来实现的是软raid
做阵列都需要做一个热备份盘
madam 创建raid
示例:
-C 表示新建
-v 显示详细过程
/dev/md5 创建raid5的名称
-l 指定raid级别
-n 指定用几块盘来做raid,和raid级别要一一对应
-x 指定热备份盘
/dev/sde1 指定的热备盘是谁
mdadm命令其他常用选项
r:移除设备
-a:添加设备
-S:停止Raid
-A:启动Raid
#cat /proc/mdstat //查看安装进度
#mdadm -D /dev/md5 //查看当前md的详细信息
#mdadm /dev/md5 -f /dev/sdc1 //强制模拟故障
示例:
scan刷新分区在此处没用,需要使用partprobe进行刷新!!!