首页互联网 正文

最全面的服务器raid理论+实战介绍(含应用场景介绍)

2023-08-01 6 0条评论

说明:

这可能是全网最全面、最详细、最实用、最权威的服务器raid卡与raid级别科普文章了,并且总结了各raid级别允许坏盘数量、可靠性、读性能、写性能、磁盘利用率、应用场景等。

一、相关概念

RAIDRedundant Arrays of Independent Disks

意为“独立磁盘构成的具有冗余能力的阵列”

目的:在存储技术还未普及时,大容量硬盘比较昂贵,为了将多个容量较小、相对廉价的硬盘进行有机组合,以较低的成本获得与昂贵大容量硬盘相当的容量、性能、可靠性,RAID技术应运而生。

现如今,各行各业有对于数据处理、存储能力的要求越来越高,单一硬盘早已经不能满足需要,因此,RAID技术进一步发展。

容错(Fault Tolerance)

容错是指在子系统出现磁盘错误或磁盘故障时,可以保证数据完整性和数据处理能力。RAID卡通过冗余的磁盘组在RAID 1、5、6、10、50、60上实现此功能。

在RAID 1中,由于数据镜像存储于成对的磁盘上,因此在成对的磁盘中的一个产生错误或故障时,不会造成数据丢失。同理,在RAID 5中,允许1个磁盘故障;在RAID 6中,允许2个磁盘故障。

而对于包含多个子组的RAID,RAID 10、50允许故障盘的个数与子组数相同,但是要求每个子组只能包含1个故障盘。RAID 60允许故障盘的个数为子组数的2倍,要求每个子组最多包含2个故障盘。

数据重建(Disk Rebuilds)

当RAID组列中的硬盘发生故障或者一致性校验发现数据错误时,可以通过重新创建硬盘中之前的数据或者对数据进行修正的方式,对硬盘进行重建。

只有具有数据冗余能力的RAID组列才能执行重建,其中包括RAID 1、5、6、10、50和60。由于RAID 0不具备冗余性,因此不支持一致性校验。

硬盘直通

  • 硬盘直通,即“JBOD”功能,又称指令透传,是不经过传输设备处理,仅保证传输质量的一种数据传输方式。
  • 打开硬盘直通功能后,RAID控制器可对所连接的硬盘进行指令透传,在不配置虚拟磁盘的情况下,用户指令可以直接透传到硬盘,方便上层业务软件或管理软件访问控制硬盘。

 

校验(Parity)

校验从父数据集生成一组冗余数据。发生驱动器故障时,冗余数据可用于重建父数据集之一。

一致性校验(Consistency Check)

一致性校验是验证具有冗余能力的RAID组列(RAID1/5/6/10/50/60)中条带上的数据是否一致,如果不一致会对错误进行标记并尝试做自动修复。

该过程中RAID控制器会对成员盘中的数据进行检查和计算,生成新的校验数据与校验盘中的数据进行比对,若出现不一致,则会使用新的奇偶校验数据修正错误数据。

针对有冗余功能的RAID 1、5、6、10、50、60由于RAID 0不具备冗余性,因此不支持一致性校验

巡读(Patrol Read)

巡读功能通过对控制器下的硬盘进行巡回检查,以发现可能导致硬盘故障的潜在错误,然后采取措施纠正错误。巡读的目的是在数据损坏之前检测出硬盘故障,从而保护硬盘上数据的完整性。

巡读操作仅在控制器闲置了一段规定的时间后,并且没有其他后台任务执行时才会开始。

 

热备份(Hot Spares)

RAID卡的热备份特性由热备盘和紧急备份功能实现。 热备盘 •热备盘是磁盘系统中的一个独立的磁盘,当RAID中的磁盘故障时,热备盘自动补充到RAID中替代故障盘,提供系统的容错性能。 •热备盘包括全局热备盘和局部热备盘 •热备盘仅用于具有冗余功能的RAID,包括RAID 1、5、6、10、50、60 紧急热备 •紧急备份功能,是指任意一个具备冗余功能的RAID组中出现成员盘故障且没有指定热备盘时,RAID卡下属的空闲盘会自动替代故障成员盘并进行重构,避免数据丢失。

硬盘条带化(Disk Striping)

硬盘条带化是指将一块连续的数据分成很多规定大小的数据块,并把它们分别存储到不同硬盘上的方法 由于数据存放在不同的硬盘上,那么在顺序访问这些数据的时候,就可以同时从多个不同的硬盘获取数据,按照并行的方式处理数据,大大提高了I/O性能。

硬盘节能(Power-Save)

RAID卡具备磁盘省电功能。此功能根据磁盘配置和I/O活动允许磁盘停转。所有旋转式SAS和SATA磁盘均支持此功能。 当硬盘节能功能开启时,RAID卡下挂载的“Unconfig Good”状态的磁盘和空闲热备盘均处于节能状态。当有相关操作(例如创建RAID,创建热备盘,动态扩盘,进行热备重构)时可唤醒正处于节能状态的磁盘

二、RAID级别

RAID0-Striped Disk Array without Fault Tolerance(没有容错设计的条带磁盘阵列)

 •一种简单的、无数据校验的数据条带化技术。

 

 

RAID1-Mirroring and Duplexing(相互镜像) 

  • RAID1 称为镜像,它将数据完全一致地分别写到工作磁盘和镜像磁盘,它的磁盘空间利用率为 50% 。
  • RAID1 在数据写入时,响应时间会有所影响

 

 

 RAID5-Indenpent Data disks with distributed parity blocks(独立的数据磁盘与分布式校验块)

特点:

  • 数据以块分段条带化存储。
  • 校验信息交叉地存储在所有的数据盘上。
  • 平衡性能与数据冗余

 

 

RAID6

特点:

  • 双重校验:与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。
  • 两个独立的奇偶系统使用不同的算法
  • 数据的可靠性更高,可允许两块磁盘同时失效
  • 但需要分配给奇偶校验信息更大的磁盘空间,成本更高
  • 写性能比RAID5差。
  • 需要4盘及以上(部分算法可允许3盘)
  • 校验信息交叉地存储在所有的数据盘上

 

高级RAID

RAID10:先组建RAID1,再使用多组RAID1组建RAID0;

RAID01:先组建RAID0,再使用RAID0组建RAID1;

以四块硬盘RAID10/01为例,由于RAID10冗余度高,所以优于RAID01

RAID5E:在RAID5的基础上每块盘预留一部分空间做热备空间使用;

RAID5EE:在RAID5E的基础上将预留的热备空间条带化;

RAID50:先组建RAID5,再使用多组RAID5组建RAID0;

RAID60:先组建RAID6,再使用多组RAID6组建RAID0;

RAID1E:将数据条带化后任一份数据在不同的磁盘上写两次,至少需要3块硬盘才能实现;

JBOD(Just a Bunch of Drives):磁盘控制器把每个磁盘看做独立的磁盘;不提供数据冗余。

 

 

三、RAID实现形式 

软件RAIDsoftware-basedRAID)是基于软件的RAID

  • 很不少服务器操作系统都集成了RAID功能,但是它的CPU占用率非常高,并且只有非常有限的阵列操作功能。
  • 软件RAID是在操作系统下实现RAID,软件RAID不能保护系统盘。
  • 部分操作系统,RAID的配置信息存在系统信息中,而不是存在硬盘上;当系统崩溃需要重新安装时,RAID信息也会丢失。
  • 软件RAID5对CPU的消耗较大,会导致I/O功能的降低,所以不建议使用软件RAID5。 

 

硬件RAID主要通过外插卡来实现,部分主板固化RAID芯片支持硬RAID功能

  • 支持较高的RAID级别,如RAID5/6/50/60等;
  • 较高的稳定性、可靠性;
  • 支持更多高级功能,如:
  • Online Capacity Expansion(OCE);
  • Online RAID Level Migration(RLM);
  • S.M.A.R.T support;
  • Configurable stripe size up to 1MB;
  • Global and dedicated Hot Spare with Revertible Hot Spare support.

 

Host RAID是基于硬和软RAID之间的一种产品

  • Host RAID把软件RAID的功能集成到产品的固件上,从而提高了产品的功能和容错能力。
  • 能够实现简单的RAID功能,如RAID0/1/10。
  • 部分主板集成了IO控制芯片,如LSI SAS2008/SAS3008,也可以实现一定的Host RAID功能。

 

四、服务器SAS卡分类

 

五、服务器RAID卡介绍

SAS卡/RAID卡本质上也是一台计算机 

 六、服务器RAID卡存储链路拓扑图

 七、服务器RAID卡芯片与板卡

RAID-on-Chip ICs (ROCs)

SAS/SATA Storage I/O Controllers (IOCs) 

 八、服务器RAID卡命名规范

[厂商]|[产品型号]|[接口类型]|[端口数量][端口类型][端口数量][端口类型]|[端口方向][扩展类型]|[端口传输率]|[类型]

 

当前主流速率为PCIe4.0
PCIe 5.0将PCIe 4.0的每通道16GT/s(~2GB/s)带宽翻倍,提供32GT/s的传输速率,此外还提供更灵活的通道数配置,将存储,网络和AI应用的I/O性能显著提升。

 九、服务器RAID卡技术趋势

 

接口规格

 

 

 

 

 Tri-Mode=SATA+SAS+NVMe

LSI3516 Tri-Mode

 

 十、服务器RAID卡FW

  • IT/IR/iMR/MR代表LSI不同的FW系列
  • IT: Initiator-Target, LSI使用的FW,不支持任何级别的RAID;
  • IR: Integrated RAID,集成RAID,支持RAID0/1/10/1E;
  • (SAS3008以后的芯片不再支持IR)
  • iMR: Integrated MegaRAID,使用MegaRAID架构,但是没有缓存,只支持RAID0/1/5/10/50;
  • (Broadcom官方8端口以上的产品不支持iMR)
  • MR: MegaRAID软件内核,有缓存,为硬件RAID

十一、服务器RAID卡驱动类型

驱动类型

  • HBA卡:mpt3sas
  • RAID卡:megaraid_sas

linux系统安装驱动

  • 系统安装界面,进入安装选项时点ESC取消加载,出现boot命令行,输入linux dd
  • 选择driver所在的U盘,加载dd.iso文件

Linux系统升级驱动

  • RHEL/CentOS
  • rpm -ivh kmod_xxx.rpm
  • Debian系
  • dpkg –i kmod_xxx.deb

十二、服务器RAID卡工具使用与RAID配置

  • Ctrl R图形界面

 

  • HII图形界面

1、启动系统进入BIOS,进入Advanced菜单,选中“PCIe Devices List”选项并进入:

2、将LSI Tri-Mode SAS3508-Option ROM P0设置为UEFI,按下F4后保存,重启服务器:

 3、进入BIOS中,进入Advanced菜单,选中“AVAGO MegaRAID<AVAGO MegaRAID SAS 9460-8i>Configuration Utility”,即可进入LSI 3508 HII界面:

 

  •  命令行工具Storcli
  • Megacli官方已经不再更新
  • StorCli基本能够实现megacli的全部功能
  • StorCli输出格式更为标准,有利于字段处理

 

RAID卡(如3108、3316)管理通用工具,最新版本加入了对HBA卡(如3008)的支持

64位系统命令的绝对路径为:/opt/MegaRAID/storcli/storcli64;32位系统命令的绝对路径为:/opt/MegaRAID/storcli/storcli。

/opt/MegaRAID/storcli/storcli64 -v    显示软件版本信息

/opt/MegaRAID/storcli/storcli64 -h    查看帮助信息

/opt/MegaRAID/storcli/storcli64 show    查看RAID卡、系统内核、主机名等信息

 

 

i. /opt/MegaRAID/storcli/storcli64 /c0 show all   
查看靠前块RAID卡版本、功能、状态、以及raid卡下的物理磁、逻辑盘信息。c0代表靠前块raid卡,如果有多块则命令以此类推。 

ii. /opt/MegaRAID/storcli/storcli64 /c0 /cv show all   
显示supercap信息 
 

 

i. /opt/MegaRAID/storcli/storcli64 /c0 flushcache     清除靠前块RAID卡缓存

ii. /opt/MegaRAID/storcli/storcli64 /c0 add vd type=raid5 size=all names=tmp1 drives=252:2-4    由第3、4、5块物理磁盘来构建RAID5,分配所有空间的逻辑磁盘命名tmp1

iii. /opt/MegaRAID/storcli/storcli64 /c0 add vd each type=raid0 drives=252:0,1,2,3     单独为每一块物理磁盘创建raid0

iv. /opt/MegaRAID/storcli/storcli64 /c0 /v0 del force   强制删除某个逻辑磁盘

v. /opt/MegaRAID/storcli/storcli64 /c0 /v0 set wrcache=wt/wb/awb 设置写策略 wt:write through;wb:write back;    awb:always write back

vi. /opt/MegaRAID/storcli/storcli64 /c0 /v0 set rdcache=nora   设置读策略 ra:read ahead;nora:no read ahead

 

 

i./opt/MegaRAID/storcli/storcli64 /c0 /fall show  查看所有的foreign信息  

ii. /opt/MegaRAID/storcli/storcli64 /c0 /fall import  导入所有的foreign

i. /opt/MegaRAID/storcli/storcli64 /c0 show rebuildrate    查看靠前块RAID卡rebuildrate速度

ii. /opt/MegaRAID/storcli/storcli64 /c0 /e252 /sall show rebuild  查看磁盘重建进度 

iii. /opt/MegaRAID/storcli/storcli64 /c0 /ex /sx start rebuild    开始重建

iv. /opt/MegaRAID/storcli/storcli64 /c0 /ex /sx stop rebuild    停止重建

v. /opt/MegaRAID/storcli/storcli64 /c0 set autorebuild=off    关闭自动重建

 

 

/opt/MegaRAID/storcli/storcli64 /c0 /eall /sall show all     查看靠前块RAID卡上物理磁盘详细信息

/opt/MegaRAID/storcli/storcli64 /c0 /eall /s1 show all     查看靠前块RAID卡上第二块物理磁盘详细信息

十三、服务器RAID性能分析

 影响因素

  • Hardware:Host System Bus、SAS/SATA Bus、Disk Performance、Host CPU、Host Chipset
  • Host System:Operating System、Driver Parameters、Storage Monitoring、NUMA、Hyper-Threading
  • BenchMark:Queue Depth、Workload Characteristic、Efficiency

基本结论

  • PCIe 3.0 x8理论8000 MB/s(实际效率 6400 MB/s )
  • RAID卡/Expander背板损耗,10~20%
  • JBOD模式更有助于发挥Drive的最大带宽
  • RAID cache(write back)有效提升写性能
  • RAID1 写性能低于单盘
  • Write through模式下RAID5/6随机写性能接近单盘(RAID5为例,因为校验盘的存在,每次写伴随着数据盘的读写和校验盘的读写,至少两次读+两次写)

常见性能下降案例

  • SSD与HDD混插,会严重降低SSD性能(等同HDD)
  • 使用过旧的FW或driver
  • RAID卡的后台初始化等任务后降低IO性能

  

 

 

 

 

TAG:raid

文章版权及转载声明

本文作者:admin 网址:http://news.edns.com/post/52666.html 发布于 2023-08-01
文章转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码