服务器RAID磁盘阵列总结(持续更新)

admin
2025-06-30 / 0 评论 / 11 阅读 / 正在检测是否收录...


服务器RAID磁盘阵列在数据中心基础设施中非常重要,尽管现在有无中心化的分布式存储,然而这不影响集中式存储仍然为主流。


RAID 定义:


RAID‌ (Redundant Array of Independent Disks,独立磁盘冗余阵列)

就是一种将多块物理磁盘组成一个冗余的磁盘阵列也叫磁盘组或者叫逻辑磁盘

即:通过组合多块物理硬盘形成一个或多个逻辑单元,实现‌性能提升‌、‌数据冗余

在操作系统下可以作为一个独立的大型存储设备出现

在用户看起来,组成的这个磁盘组就像是一块硬盘,用户可以对它进行分区格式化等等,对磁盘阵列的操作与单个硬盘一样


RAID 特点:


  • RAID可以充分发挥出多块硬盘的优势,可以提升硬盘速度,增大容量并提供容错功能够确保数据安全性,易于管理的优点
  • 在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响
  • 存储的数据进行分片;
  • 可分为基于软件的软RAID(如软件mdadm、SnapRAID)和基于硬件的硬RAID(如主板中板载或独立RAID卡)
  • RAID卡如同网卡一样有集成板载的也有独立的,一般独立RAID卡性能相对较好,现在基本上服务器都原生硬件
  • 也有更加高端的专用于存储的磁盘阵列柜产品,属专用存储技术,规格有如12/24/48盘一柜等,盘可选机械/固态,3.5/2.5寸等


RAID 级别


组成磁盘阵列的不同方式称为RAID级别(RAID Levels)

常用的RAID级别有以下几种:NRAID,JBOD,RAID0,RAID1,RAID5,RAID10(1+0),RAID50(5+0),RAID60(6+0)等


常用RAID:


RAID1(2块)、RAID5(3块+1Hot)、RAID10(4块及以上)、RAID50(6块及以上+2Hot)、RAID60 (8块及以上)


RAID 各模式优缺点对比:


sfafretre4.png


相关概念:

‌并行读写‌:通过条带化(Striping)提升I/O速度(如RAID0)

‌数据保护‌:通过镜像(Mirroring)或校验位(Parity)实现故障容错

‌容量扩展‌:整合多个磁盘空间为单一逻辑


RAID 应用场景:


高性能临时存储 RAID 0 读写速度最大化(如视频编辑缓存)

高安全性数据库 RAID 10 故障恢复快,兼顾性能与冗余(如金融交易系统)

大容量归档存储 RAID 5/6 50 较高利用率+容错能力(如文件服务器)

超强容错需求 RAID 6/60 容忍双盘同时故障(如医疗影像存储)


RAID 详细介绍


image1.png


俗称Striping(条带)存储,需要两块或以上的硬盘就可组建

优点:在RAID 0状态下,存储数据被分割成两部分,分别存储在两块硬盘上,此时硬盘的速度是单块硬盘的2倍,实际容量等于两块硬盘中较小一块硬盘的容量的2倍

缺点:没有冗余 任何一块硬盘发生故障,整个RAID上的数据将不可恢复

场景:主要应用在对性能有要求然而对数据安全性没要求的场合


image2.png


俗称镜像存储,需要两块或以上的硬盘就可组建

通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据

优点:此模式下,两块硬盘互为镜像,当一个硬盘受损时,换上一块全新硬盘(大于或等于原硬盘容量)替代原硬盘即可自动恢复资料和继续使用,硬盘的实际容量等于较小一块硬盘的容量,存储速度与单块硬盘相同

RAID1的优势在于任何一块硬盘出现故障,所存储的数据都不会丢失,换上新的硬盘自动恢复数据及raid信息

缺点:该模式可使用的硬盘实际容量比较小,仅仅为两颗硬盘中最小硬盘的容量

场景主要应用在保存关键性重要数据的场合,非常重要的资料,如:安装服务器系统、安装虚拟化集群系统、或者安装重要资料的服务器


image3.png

image4.png


校验存储,3块或者以上硬盘组成,RAID 5是一种储存性能、数据安全和存储成本兼顾的存储解决方案

使用的是Disk Striping(硬盘分区)技术,它将数据分散存储于阵列中的每个硬盘,并且还伴有一个数据校验位,数据位与校验位通过算法能相互验证,当丢失其中的一位时,RAID控制器能通过算法,利用其它两位数据将丢失的数据进行计算还原

因而RAID5最多能允许一个硬盘损坏,有容错性

RAID5相对于其它的组合方式,在容错与成本方面有一个平衡,因而受到大多数使用者的欢迎

一般的磁盘阵列,常使用的就是RAID5这种方式 但注意最好加一块热备盘(Raid内磁盘发生故障后热备盘自动顶上)


现在随着大容量硬盘越来越多,RAID5如果出现2块硬盘损坏则整个RAID数据全部丢失(风险大) 所以可以使用RAID6来代替RAID5,或者直接上RAID10

RAID6是在RAID5的基础上改良而成的,RAID6再将数据校验位增加一位,所以允许损坏的硬盘数量也由RAID5的一个增加到二个

RAID6用增加一块硬盘的代价,换来了比RAID5更高的数据安全性,RAID6需要4块或者以上硬盘

RAID6 设计复杂、有门槛、需要RAID板卡支持

RAID6读很快,但写入比5慢因为要多写一快盘,如果服务器的磁盘小于或等于4块则采用RAID5即可

RAID6用的少,但是可以使用更好的RAID60 顶替RAID10或者RAID50


image5.png

image6.png


组合模式(1+0)

兼顾RAID1的镜像自动恢复与RAID0的2倍读写速度,RAID10最少需要4块硬盘才能完成

先把2块硬盘组成一个RAID1,然后两组RAID1组成一个RAID0, 也就是组建了两层RAID

即将数据先进行镜像操作,然后再对数据进行条带化

虽然RAID10方案空间利用率50%,但是它提供了N倍的速度和支持多盘故障(每组镜像中仅允许1盘故障)并自动恢复的数据安全性,也是目前最常用的方式

还有一个RAID 0+1的组合,就是先组建RAID 0再组建RAID 1,然而这种组合的可靠性比RAID 1+0要低,因为只要有一个硬盘出现故障同组的RAID 0就会整体停止工作,只剩下另一组单独工作,当然了数据还是安全的,实际应用中RAID 1+0也比RAID 0+1更为常用,现在的主板基本都是支持RAID 1+0而不是支持RAID 0+1


image7.png


RAID 50(5+0 组合)

它具有RAID5和RAID0的共同特性,它由两组RAID5磁盘组成(每组最少3个),每一组都使用了分布式奇偶位,而两组硬盘再组建成RAID0,实现跨磁盘读取数据

RAID 50提供可靠的数据存储和优秀的整体性能,并支持更大的存储空间

RAID 50最少需要6个硬盘,它最适合需要高可靠性存储、高读取速度、高数据传输性能的应用。这些应用包括事务处理和有许多用户存取小文件的办公应用程序

RAID 50支持多盘故障,在底层的任一组或多组RAID 5中出现1颗硬盘损坏时仍能维持运作,即每个阵列中坏一个)数据也可恢复过来

不过如果任一组RAID 5中出现2颗或2颗以上硬盘损毁,整组RAID 50就会失效,因此还是需要热备盘1-2个

RAID 50由于在上层把多组RAID 5构成Stripe,性能比起单纯的RAID 5高,容量利用率比RAID5要低。比如同样使用9颗硬盘,由各3颗RAID 5再组成RAID 0的RAID 50,每组RAID 5浪费一颗硬盘,利用率为(1-3/9),RAID 5则为(1-1/9)

当硬盘数量较多,规划好 RAID50 + 热备盘 性价比是很高的


image8.jpeg


RAID 6与RAID 0的组合:先作RAID 6,再作RAID 0 换句话说就是对两组以上的RAID 6作Stripe访问

RAID 6至少需具备4颗硬盘,所以RAID 60的最小需求是8颗硬盘

由于底层是以RAID 6组成,所以RAID 60可以容许任一组RAID 6中损毁最多2颗硬盘,而系统仍能维持运作;不过只要底层任一组RAID 6中损毁3颗硬盘,整组RAID 60就会失效,当然这种情况的概率相当低

比起单纯的RAID 6,RAID 60的上层通过结合多组RAID 6构成Stripe访问,因此性能较高

不过使用门槛高,需要Raid板卡支持,最好带缓存,而且容量利用率比Raid50低一些

小于等于8个硬盘做RAID10更好点,10个及以上硬盘做RAID60比RAID50更好

需要注意的是为了获得更好的容量利用率最好自己规划子RAID组 如12个硬盘采用6+6 而不是4+4+4


分布式存储和磁盘阵列(RAID)区别:


磁盘阵列只是一种多个磁盘组合成一个大逻辑磁盘,并通过编码、冗余等使它具有纠错功能,从而提高了存储可靠性

但是这些磁盘是分布在同一个物理位置的,并且偏硬件一点

而分布式存储是将数据分布在不同的服务器存储空间或者物理位置(跨机房),利用分布式存储系统软件统一管理每台服务器的所有的磁盘并通过网络把它连接起来,分布式存储的每台服务器的磁盘不做raid,完全利用分布式软件进行所有磁盘的管理并逻辑上组成软raid来实现冗余和高效的存储,坏哪一块硬盘就换哪一块即可

磁盘阵列可以应用于分布式存储系统中,也可以用于集中式存储系统中,但大多是应用在集中式存储中


RAID 注意事项:


使用前请先备份硬盘的资料,一旦进行RAID设定或是变更RAID模式,将会清除硬盘里的所有资料,以及无法恢复;

建立RAID时,建议使用相同品牌、型号和容量的硬盘,以确保性能和稳定;

请勿随意更换或取出硬盘,如果取出了硬盘,请记下硬盘放入两个仓位的顺序不得更改,以及请勿只插入某一块硬盘使用,以避免造成资料损坏或丢失;

如果旧硬盘曾经在RAID模式下使用,请先进清除硬盘RAID信息,让硬盘回复至出厂状态,以免RAID建立失败;

RAID0模式下,其中一个硬盘损坏时,其它硬盘所有资料都将丢失;

RAID1模式下,如果某一块硬盘受损,可以用一块大于或等于受损硬盘容量的新硬盘替换坏硬盘然后开机即可自动恢复和修复资料以及RAID模式,此过程需要一定时间,请耐心等待 此外RAID10 50 60 都一样


RAID 技术发展趋势:


NVMe RAID:随着 NVMe SSD 普及,支持 PCIe 4.0/5.0 的高速 RAID 控制器逐渐成为高端服务器标配,大幅提升 IOPS

分层存储 RAID:结合 SSD(高速层)和 HDD(容量层),通过 RAID 算法自动将热数据缓存至SSD,冷数据存储至 HDD

分布式 RAID:在云计算场景中,通过软件定义存储(SDS)实现跨节点的分布式 RAID,提升集群级别的容错与扩展能力


RAID 设置中各参数说明


Disk Group:磁盘组,这里相当于是阵列,例如配置了一个RAID5,就是一个磁盘组

VD(Virtual Disk): 虚拟磁盘,虚拟磁盘可以不使用阵列的全部容量,也就是说一个磁盘组可以分为多个VD

PD(Physical Disk): 物理磁盘

HS:Hot Spare 热备

Mgmt:管理 VD Mgmt(虚拟磁盘管理) PD Mgmt(物理磁盘管理) Ctrl Mgmt(控制器管理)(设置启动磁盘)


RAID 参数调优


热备盘是王道 无论何种Raid 都尽可能设置热备盘1-2

尽可能使用SSD或者PCIe SSD设备,至少获得数百倍甚至万倍的IOPS提升

购置阵列卡最好配备CACHE(缓存)及BBU模块,可明显提升IOPS(主要是指机械盘,SSD或PCIe SSD除外)同时需要定期检查CACHE及BBU模块的健康状况,确保意外时不至于丢失数据

有阵列卡时,设置阵列写策略为WB (Write Back),甚至FORCE WB(若有双电保护,或对数据安全性要求不是特别高的话)

严禁使用WT策略,并且闭阵列预读策略

尽可能选用常用RAID或者组合 如RAID 1 5 10 50

使用机械盘的话,尽可能选择高转速SAS 例如选用15KRPM

大存储容量最低也需要是企业级的 Sata HDD 7200KRPM



0

评论 (0)

取消