RAID(独立硬盘冗余阵列)
RAID技术出现的初衷是把多个小容量的硬盘组合起来,以获得更大的存储容量。当前我们所说的RAID技术更多则是与数据保护相关,换言之,当物理设备失效时,RAID能够用来防止数据的丢失。
主要功能
- 通过对硬盘上的数据进行条带化,实现对数据成块存取,减少硬盘的机械寻道时间,提高了数据存取速度。
- 通过对一阵列中的几块硬盘同时读取(并行访问),减少了硬盘的机械寻道时间,提高了数据存取速度。
- 通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。
软、硬件RAID
- 硬件RAID使用专用的RAID适配器、硬盘控制器或存储处理器。RAID控制器有自己的处理器,I/O处理芯片,和内存,用来提高资源利用率和数据传输速度。RAID控制器管理路由、缓冲区,控制主机与RAID间数据流。硬件RAID通常在服务器中使用。
- 软件实现的RAID没有它自己的处理器或I/O处理芯片,而是完全依赖于主机处理器。因此,低速CPU不能满足RAID实施的要求。软件RAID通常在企业级存储设备上使用。
数据组织形式
- 条带(strip):硬盘中单个或者多个连续的扇区构成一个条带,它是一块硬盘上数据读写的最小单元、是组成分条的元素。
- 分条(stipe):同一硬盘阵列中的多个硬盘驱动器上的相同“位置”(或者说是相同编号)的条带。
- 分条宽度:指在一个分条中数据成员盘的个数。
- 分条深度:指一个条带的容量大小。
RAID组的状态:
- 当RAID组所有硬盘都正常工作时,RAID组的状态为正常。
- 当有一定数量的硬盘失效,但整个RAID组能够防止数据丢失,且数据恢复进程尚末启动时,这个状态被称为降级。
- 故障的硬盘进行了更换或者系统中有热备盘,将数据恢复到更换的硬盘或热备盘的过程,但尚未完成的阶段被称为重建(或重构)。
- 当重构成功结束后,RAID组的状态会恢复成正常。
- 当硬盘故障的数量较多,且超过该RAID类型支持的冗余硬盘数时,将导致无法完成数据恢复功能时,这种状态被称为RAID组失效。
降级的RAID能否完成数据重构,取决于使用的RAID类型、硬盘故障的数量和替换的硬盘的可用性。热备盘是系统中被指定用于替代RAID组中故障成员盘的硬盘。所完成的任务是承载被替代硬盘中的数据。
RAID技术的优势体现:
- 把多个硬盘组合成一个逻辑盘组,以提供更大容量的存储。
- 将数据分割成数据块,对多个硬盘并行进行写入/读出,提高硬盘访问速度。
- 通过提供镜像或奇偶校验来提供容错。
RAID 0(条带化RAID):
- 优点:具有最高的存储性能,I/O的负载平衡分布在RAID组中的所有硬盘上,理论读写速率=单个硬盘读写速度 x RAID组成员硬盘数,容量=单个硬盘容量 x RAID组成员硬盘数。
- 缺点:无数据保护机制,任何一块RAID组中的成员盘故障会导致数据不完整。
- 条件:至少2块磁盘。
RAID 1(镜像结构的硬盘阵列):
- 优点:高可靠性的数据保护,会在RAID组中的2块硬盘上存储相同的镜像数据、源硬盘故障时由镜像硬盘接管服务,读取数据时会同时向数据盘和镜像盘读取以提高读取性能。
- 缺点:容量耗损大,写性能低。
- 条件:2块磁盘。
硬盘容量 重构时间(小时) 72 GB < 1hr 146 GB < 4hr 600 GB < 8hr 1 TB < 20hr 4 TB < 48hr
RAID 5(分布式奇偶校验码的独立硬盘结构):
- 优点:使用条带化并计算奇偶校验信息,采用分布式奇偶校验(P校验)来均衡I/O负载,通过异或运算(XOR)来重建RAID。
- 缺点:同一时间仅允许RAID组中单块成员盘故障,理论上读性能提升写性能下降(存在写惩罚),耗损1块磁盘的容量。
- 条件:至少3块磁盘。
RAID 6(分布式双校验RAID):
- 优点:使用条带化并计算奇偶校验信息,采用分布式奇偶校验(P+Q校验)来均衡I/O负载,通过异或运算(XOR)来重建RAID,同一时间允许RAID组中2块成员盘故障。
- 缺点:写性能在常用的RAID级别中最慢(写惩罚大于RAID 5),耗损2块磁盘的容量。
- 条件:至少4块磁盘。
混合RAID - RAID 10:
- 优点:先进行RAID 1镜像(2个成员盘1组)后再做RAID 0,提高了读写性能并提供了数据保护。
- 缺点:同一时间同一RAID 1组的2个成员盘故障则导致RAID 10失效,耗损50%的磁盘容量。
- 条件:至少4块磁盘。
混合RAID - RAID 50:
- 优点:先进行RAID 5后再做RAID 0,提高了读写性能并提供了数据保护。
- 缺点:同一时间同一RAID 5组的2个成员盘故障则导致RAID 50失效。
- 条件:至少6块磁盘。
RAID级别对比
热备与重构
热备盘
- 热备(Hot Spare):当RAID组中某个硬盘失效时,在不干扰当前RAID系统正常使用的情况下,用该RAID组外一个正常的备用硬盘顶替失效硬盘。
- 热备通过配置热备盘实现,热备盘分为全局热备盘和局部热备盘。
- 全局热备盘是指不同RAID组共用一个热备盘,它将替换任何RAID组中的失效硬盘。
- 局部热备盘是指仅被某一特定的RAID组使用的热备盘,如果有其它RAID组里的硬盘失效、局部热备盘不会被投入使用。
预拷贝
- 预拷贝:系统通过监控硬盘的SMART信息发现RAID组中某成员盘即将故障时,将即将故障成员盘中的数据提前拷贝到热备盘中,有效降低数据丢失风险。
- 大多数企业级硬盘设备都配有一个称为SMART的技术,这是一个硬盘自我监测、分析、报告的工具。这个工具是指硬盘本身会监视自己的健康状况,它为自己检查硬盘的旋转速度和盘片表面磁的“质量”。
重构
- 重构:当RAID组中某个硬盘故障时,根据RAID算法和其它正常的成员盘,重新计算生成发送故障硬盘的所有数据(用户数据和校验数据),并将这些数据写到热备盘或者新硬盘(更换的硬盘)上的过程。
- 重构需要不影响RAID组同时进行其它读写操作,因此建议重构的最佳条件有“非业务时间段、读写操作较少、市电稳定”,重构过程不会中断服务器的的业务访问。重构过程中服务器的重启会在开机后再次重构、可能导致数据的不完整或无法正常读取!
RAID 2.0+
RAID 2.0+(高级RAID技术)技术是一种基于块虚拟化的技术,这种技术的思想是将硬盘空间切分成更小的块,并在这种小块上实现RAID算法,从而使得RAID 2.0+ 技术将数据保护的级别精细化到数据块。
RAID技术发展
- 在最初的RAID技术中,是将几块小容量廉价的磁盘组合成一个大的逻辑磁盘给大型机使用。后来硬盘的容量不断增大,组建RAID的初衷不再是构建一个大容量的磁盘,而是利用RAID技术实现数据的可靠性和安全性,以及提升存储性能,由于单个容量硬盘都已经较大了,数据硬盘组建的RAID容量更大,然后再把RAID划分成一个一个的LUN映射给服务器使用。随着硬盘技术的发展,单块硬盘的容量已经达到数T,传统RAID技术在硬盘重构的过程中需要的时间越来越长,也增加了在重构过程中其它硬盘再坏掉对数据丢失造成的风险,为了解决这一问题,块虚拟化技术应运而生。RAID 2.0+ 是块虚拟化技术,该技术将物理空间和数据空间分散分布成分散的块,可以充分发挥系统的读写能力,方便扩展,也方便了空间的按需分配,数据的热度排布,迁移,它是所有Smart软件特性的实现基础。同时,由于热备空间也是分散在多个盘上的,因此硬盘数据的重构写几乎可以同时进行,避免了写单个热备盘造成的性能瓶颈,大大减少了重构时间。
RAID 2.0+软件逻辑对象
- 硬盘域:由不同类型(SSD、SAS、NL-SAS)的硬盘组成硬盘域(Disk Domain)。
- 存储层:由同一个硬盘域中相同类型硬盘构成。
- Chunk(CK):存储层的硬盘被划分为固定大小的Chunk(CK),其中,SSD层和SAS层的CK大小为64MB,NL-SAS层的CK大小为256MB。
- Chunk Group(CKG):是由来自于同一个DG内不同硬盘的CK按照RAID算法组成的逻辑存储单元,是存储池从硬盘域上分配资源的最小单位。存储层的Chunk(CK)按照用户设置的“RAID策略”来组成Chunk Group(CKG),用户可以为存储池(Storage Pool)中的每一个存储层分别设置“RAID策略”。
- Extent:是在CKG基础上划分的固定大小的逻辑存储空间,大小可调,是热点数据统计和迁移的最小单元(数据迁移粒度),也是存储池中申请空间、释放空间的最小单位,默认4MB。不同存储池的Extent大小可以不同,但同一存储池中的Extent大小是统一的。
- Grain:在Thin LUN模式下,Extent按照固定大小被进一步划分为更细粒度的块,这些块称之为Grain。Thin LUN以Grain为粒度进行空间分配,Grain内的LBA是连续的。。
- Volume:由若干Extent组成卷(Volume),对外体现为主机访问的LUN(这里的LUN为Thick LUN)。
热备空间策略
硬盘数(块) | 高热备策略的容量(块) | 低热备策略的容量(块) |
---|---|---|
1 ~ 12 | 1 | 1 |
13 ~ 24 | 2 | |
25 ~ 48 | 3 | 2 |
49 ~ 72 | 4 | |
73 ~ 120 | 5 | 3 |
121 ~ 168 | 6 | |
169 ~ 264 | 7 | 4 |
265 ~ 360 | 8 |
Disk Group(DG)
- OceanStor存储系统会在每个硬盘域内根据每种类型的硬盘数量自动划分为一个或多个Disk Group(DG)。
- 一个Disk Group(DG)只包含一种硬盘类型。
- 任意一个CKG的多个CK来自于同一个Disk Group(DG)的不同硬盘。
- Disk Group(DG)属于系统内部对象,主要作用为故障隔离,由OceanStor存储系统自动完成配置,对外不体现。
Logical Drive(LD)
- 即逻辑磁盘,是被存储系统所管理的硬盘,和物理硬盘一一对应。
RAID 2.0+的优势
安全可信
- 自动负载均衡,降低整体故障率(解决热点盘高故障率)
- 快速精简重构,改善双盘失效率(解决热备盘重构时长)
- 故障自检自愈,保证系统可靠性
传统RAID RAID2.0+ 需要手动配置单独的全局或局部热备磁盘 分布式的热备空间,无需单独配置 多对一的重构,重构数据流串行写入单一的热备磁盘 多对多的重构,重构数据流并行写入多块磁盘 存在热点,重构时间长 负载均衡,重构时间短
弹性高效
- 虚拟池化设计,降低存储规划管理难度
- 增加LUN所跨硬盘数,大幅提升单LUN性能(均衡I/O热点,提升读写性能)
- 空间动态分布,灵活适应业务变化
文章出自: 本站技术文章均为原创,版权归 "Desen往事 - 个人博客" 所有;部分图片来源于 Yandex ,转载本站文章请注明来源。
本文标题:传统RAID与RAID2.0+
对RAID的概念认识更进一步了,多谢分享