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

avatar
作者
筋斗云
阅读量:7

说明:

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

一、相关概念

RAIDRedundant Arrays of Independent Disks

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

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

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

6f747387bd454a539b0197b01a2cf84c.png

容错(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):磁盘控制器把每个磁盘看做独立的磁盘;不提供数据冗余。

 

f7f3c3817a18427aafe6dff0ee1e9cd8.png

1d47ef2f94cb44d9ab5095a32cd7398c.png

0c09f300952b47c9a7229fdbbeed6704.png

cb560168b40f4a6894cc2dc956a36198.png 323bf82c9d8c4073b6641613a34a9ec7.png

三、RAID实现形式 

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

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

e0a645880a3d46cebbc70fd92ce09a7d.png 09375c824e0a408580a65c3ddfe9b7d2.png

硬件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.

449f8067d1f247fc9b5b54298a0599cc.png 21be72bdc4b64143a654bddd3d63ce6a.png

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

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

 f6be7262c5f84fcea3473c0a72f70e46.png

四、服务器SAS卡分类

ee15f74e66c949698641e5ad033df0b2.png a3c747d0f4aa45f1aa020e9a24bc18b7.png

e4bb5a797cad4f69a0c3ee6fc707e229.png

五、服务器RAID卡介绍

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

10c51154f20645dd8f44b599dc0f0548.png

99e9409518e943ac96d6e5805d421261.png

02fc14f898104083860fb50df6177f0b.png

7b1451be871640d4939a6b7d4fe01c4b.png

0e8d875a7b22411d89c686d5f5e01a20.png

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

bab6b1965ab64321b361b903f46e494f.png

046bc24d2bd44841b3fcff366377622d.png

716da011a64e418bb125e21c6cf5296c.png

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

RAID-on-Chip ICs (ROCs)

1375089f0a4f42bfbcc748a7a1368f61.png

SAS/SATA Storage I/O Controllers (IOCs) 

833f1472523c4afab773441f5139bdc4.png

 八、服务器RAID卡命名规范

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

2370a11e05164effbd2c65852eaf3c86.png

fdfd721fe57b418a925a203c0b562e29.png e486750a71d14e2dabfa5ea7e3a88db8.png

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

b3bd77882c21450d9400235c0576216f.png

 九、服务器RAID卡技术趋势

f2b5e228c2934200b07ea94f9f476768.png

461651a985d0437a922e73da95f3b8cb.png f4862a30f871474eab410c28249430ec.png

接口规格

5f2b0ce0d21a45e7afbec11f0b933844.png

 228c458ffd304a98a3652caa4f5a546e.png226da2f07e70428592a5975cd072b692.png

6e70d3e6971346578849880795fc8b97.png

1bc6bd19cadb4c5a9f176199d4c1b2c3.png ad2499087e4e43a3814a2d59f93f3827.png

aff9932c11ea4d988c23064be64e9399.png bad9492c98b647f8a7439a2698ecae93.png

cbdb8059bca54fc5a4b023b9aa6008df.png 2abe4a6f88ca4dd7a5a52105c9d76f88.png

 Tri-Mode=SATA+SAS+NVMe

LSI3516 Tri-Mode

4e0e12ad298a401dad485a2a64a6a2de.png

438e325a455b45319f9409ef053e6fa0.png

a89b5daf6af34dcdbd2bf1517789240b.png

 c8ba38d711df4e81a6202db9fbd3cf2d.png

ea69edb9ae2740919e111089b229b6de.png

68ca7367a37749f586288def131d5744.png

02e2043edcd949a886da5cee982260b4.png

e6373472803a40a4a47b0b8126da3f15.png 十、服务器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

c033214bbae849729bf457e68522775b.png

十一、服务器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配置

56c2ccc36c9f46beb08c00be83d2513f.png

ff44aad0223642748c5e0c913856b41d.png

  • Ctrl R图形界面

7c7f3403089049e28b2b0780c8a1a2fe.png

a56d30f9660544adae7f10d55428cdff.png

 eac97d8905654b75bb5229568869292e.png

a2be7c0ed7da494ba67b19e85a6d72ed.png

e1628b56b1bf450dbfc6421269eee811.png

  • HII图形界面

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

9b8f5734a1bd4915aa87cf81bf7abf49.png

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

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

 51dece1792d04533a1e63e51c88cf5d8.png

0e9ab569078748eaa5ceafacab34010d.png

  •  命令行工具Storcli

9d7975af72794b688e4ca520e95b3d24.png

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

 

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

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

45d835d7ab634070a92d1074965d3aa8.png

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

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

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

959e4069b0334ced9d0c3bf6ebca3004.png

 bb9aac604a7f47b29877db8028f03034.png

 

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

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

 6c12983fe9fe4b4eb486b32db1effa55.png

a24cbd64d0ad41e3986f729b50dc380c.png

30a34d7523cc4db1beaef1dcba3f43ff.png

815f53b906794c76ae63614bf4626e75.png

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

 a446770d18e143de8f340bbe5ae316a6.png

edc77e92a2ff4ef18f57da5b1d10fc5c.png

 f25e0186406044ffb8f5d711a9d41e47.png

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

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

347f675cbfc64cce837c77683a4acba7.png

c0fe2e0d9e24490c8248acbfa766b939.png

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    关闭自动重建

eee96e0b15264b91834f0c8050c1cb4d.png

84bace6c84554510a38356a43625b5f8.png 3f6d94e2ec2f4a3fb5afc3b4bcf68b82.png

 

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

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

6d02e2159fc44c4f97974625c5dc8d55.png

十三、服务器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性能

de332da304514de588ad26993027c4f9.png

38c6b14db25e4d00bfceb1a14ed4ae77.png

5ae976cfa1334c2594cda4299238ab4b.png

5f031abcdff84106ab4b5fef2d61f215.png

e278a30717ee4b82ad28f5487e238957.png

92bfd65277734d7cb957d61c7b0fdae7.png f9b0d485df1245769490217ac4e5cb2b.png 

7b5f15d98a4c4d69844d101364317477.png

872f286783124f04b644b7711807c871.png

b6c725212c244711857bcc8d354e7abc.png 2ceab5b733f84d21891c0e7813051845.png

32ba1d71956149b080d9a085ee7fec32.png

1dbae9fe31a74516a73a80f19f7d228c.png c763d3ed942044189e9105ce615a193d.png

fc8c6bf05bba40b9b541582cc1ddcd94.png

6055ba2f664d44049b73db6b1467e589.png b2b6ea78694646e68f4868d4885cfd41.png

 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!