ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

RAID 0/1/5/6/10详解:从原理到实战选型与配置指南

2026/9/24 21:59:09 拓冰建站 浏览量
RAID 0/1/5/6/10详解:从原理到实战选型与配置指南 干运维和服务器这行RAID这三个字母基本躲不过去。不管是在服务器开机时对着“Press CtrlR / CtrlH”的提示发愣还是半夜被“Array Degraded”的告警短信叫醒你都得先搞明白Raid0、Raid1、Raid5、Raid6、Raid10这几个编号到底意味着什么。数字差一位性能和安全性完全是两个方向。这篇文章不打算抄手册而是从实际使用场景出发把五个主流RAID级别掰开揉碎讲清楚再把服务器上怎么查RAID、怎么进RAID配置界面这些高频操作一并说透。无论你是刚入行的运维新手还是偶尔要碰服务器的网管、桌面支持这篇都值得收藏起来对着操作。1. RAID到底解决了什么问题1.1 一块硬盘不够用之后的三种念头要理解RAID得先回到最原始的问题只有一块硬盘的时候你会遇到什么容量不够、读写速度慢、坏了就全没了。RAID独立磁盘冗余阵列的核心思路说白了就三件事——把多块硬盘并起来用、让它们加速、让它们“互相兜底”。后面所有RAID级别的设计本质上都是在这三个目标之间做权衡。为什么会有这么多种级别因为服务器场景千差万别数据库需要高性能低延迟文件服务器需要大容量且能容忍少量故障系统盘则要求尽量不能挂。没有任何一种组合能同时做到性能最高、容量最大、安全最可靠于是就有了不同侧重。这也是为什么选RAID级别之前一定要先问清楚这台机器是干什么用的而不是直接套一个“模板配置”。1.2 三个核心指标速度、容量、安全速度拼的是读写并发能力一块盘只有一个磁头在动多块盘就能并行干活。容量是按比例把多块盘合并成一个逻辑卷可用空间能剩多少不同级别差异很大。安全指允许坏几块盘而数据不丢通常叫“容错能力”。这三个指标里容量计算是新手最容易算错的。RAID 5可用容量不是N减1块盘那么简单它是在所有盘上均匀分布校验块理论可用容量等于总容量减去一块盘的容量。RAID 6要减去两块盘的容量。RAID 1和RAID 10则是按镜像比例折算可用容量正好是总容量的一半。这些都跟实际磁盘大小有关如果用的是不同容量的混插盘还要按最小盘的容量来折算。1.3 硬RAID和软RAID别用混实现RAID的方式有硬有软。硬RAID靠独立RAID卡上的专用芯片和缓存完成计算不消耗CPU掉电后缓存数据有电池或电容保护是服务器的主流方案。软RAID则是操作系统层面用CPU算比如Linux的mdadm、Windows的存储空间虽然零成本但性能和稳定性都远不如硬RAID生产环境很少拿来扛核心业务。判断一台机器是硬RAID还是软RAID有个很土但有效的办法看系统里能不能直接看到物理硬盘。硬件RAID把多块盘聚合成一个逻辑卷操作系统一般只看到一块“虚拟盘”软件RAID则能看到所有物理盘再通过系统层面合并。这个区别在后面查RAID状态时非常重要——你用lsscsi看到一堆独立硬盘不代表没有做RAID也有可能是RAID卡被配成了直通JBOD模式。2. 五大主流RAID级别逐个拆解2.1 RAID 0把速度拉满但没有后悔药RAID 0就是条带化存储。数据被拆成固定大小的条带轮流写到阵列里的每一块盘上。因为多个磁盘可以同时写入不同部分理论上读写性能接近翻倍而且空间利用率是100%不浪费任何一块盘。代价也很直接任意一块物理盘挂了整个阵列的数据全部丢失。因为数据是分散存在所有盘上的缺了任何一块都拼不回来。用生活化的话说RAID 0就像你把一本100页的书撕成10份每页分别压在10个人手里——读书的时候可以10个人同时念给你听速度很快但只要任何一个人把手里那几页弄丢了整本书就拼不完整了。实际场景中RAID 0常用于临时文件、视频剪辑缓存、游戏盘以及纯粹的“数据丢了不心疼但速度必须够快”的场合。生产环境不建议用来存放唯一一份的数据。2.2 RAID 1一块数据的双保险RAID 1叫镜像。它把同样一份数据同时写到两块盘上两块盘内容完全一样。读数据的时候两块盘可以同时响应读性能接近翻倍写的时候要等两块盘都写完成才算成功所以写速度略低于单盘但在绝大多数应用场景中几乎感觉不到差异。空间利用率只有50%。两块1TB硬盘组RAID 1最终可用容量只有1TB。容错能力是一块盘损坏时数据不掉换上新的空盘后控制器会用存活盘的数据自动重建这个过程叫Rebuild。RAID 1最典型的用途是系统盘。两块小容量SSD组RAID 1装操作系统既安全又省心。数据库的日志盘也常用RAID 1因为日志是顺序写RAID 1的写开销最小而且日志一旦丢失整个库可能都起不来属于必须冗余的场景。2.3 RAID 5均衡之选但写性能被“写惩罚”拖累RAID 5在条带化的基础上增加了分布式奇偶校验。数据块和校验块分散在所有磁盘上没有单独的校验盘。这样任意坏一块盘都能用其他盘上的数据加校验信息反推出缺失的内容。最少需要3块盘可用容量是N减1。RAID 5最容易被忽略的坑是“写惩罚”。一个随机写IO控制器必须先读取旧数据块和旧校验块计算新校验再分别写回数据和校验块——一次逻辑上的写操作实际产生了4次物理IO。所以RAID 5的顺序写性能不错随机写性能却会明显下滑尤其是数据库这类小IO密集的场景。RAID 5是很多文件服务器、中小业务系统的常见选择因为它在容量、性能、容错之间取得了相对平衡。但随着单盘容量越做越大RAID 5重建时间越来越长重建期间如果再坏一块盘整个阵列的数据就没救了。现在超过8TB的大容量盘组RAID 5风险已经明显偏高。2.4 RAID 6为大数据和重建风险准备的冗余RAID 6可以理解为“双校验”的RAID 5。它在所有盘上分布两份不同的校验信息允许同时坏两块盘而数据不丢。最少需要4块盘可用容量是N减2。代价是写惩罚比RAID 5更严重。一次随机写需要读取旧数据块加两份旧校验块再写入新数据块加两份新校验块相当于6次物理IO随机写性能比RAID 5还要低一截。所以RAID 6适合的是对写性能要求不极端、但数据重要性和硬盘容量都比较高的场景比如大容量备份服务器、归档存储、视频监控存储池。用RAID 6还是RAID 10是很多运维纠结的经典问题。简单说追求IO性能和快速重建选RAID 10追求可用容量和双盘容错选RAID 6。4块盘以内别考虑RAID 6可用容量少一半不说重建性能也不划算8块大容量盘以上RAID 6的双盘冗余带来的安全感远比那点容量值钱。2.5 RAID 10先镜像后条带数据库场景的“老黄牛”RAID 10是把RAID 1和RAID 0结合先两两镜像再在镜像组之间做条带。最少4块盘可用容量是总容量的一半。它既拥有镜像的容错和快速恢复能力又拥有条带化的并发读写性能。具体来说4块盘组的RAID 10会被分成两个镜像组数据先写入两个镜像组各写一份而两个镜像组之间是并行写入的。这样写性能接近两块盘并行读性能理论上可以接近所有盘并行。容错方面允许每个镜像组里坏一块盘但不能同组两块盘同时挂。RAID 10还有一个常被忽略的优势重建速度快。一块盘坏了只需要把幸存盘的数据复制到新盘不需要像RAID 5/6那样重新计算校验重建时间短得多这段时间内再次发生故障的概率也就低得多。这就是为什么核心数据库、虚拟化平台、交易系统这类高IO又高可靠性的业务老运维几乎无脑选RAID 10。顺带辟一个谣不要用RAID 01。RAID 01是先做条带再做镜像表面上看和RAID 10一样的容量、一样的性能但容错逻辑完全不同。RAID 10坏一块盘只影响一个镜像组RAID 01坏一块盘则可能让整个条带组的镜像失效容错能力大打折扣。生产环境看到01直接绕开。2.6 一张表看懂五个级别的区别级别最少盘数可用容量容错能力读性能写性能典型场景RAID 02N0块盘极高极高缓存、临时文件、游戏盘RAID 12N/2允许1块盘损坏较高与单盘相当系统盘、日志盘RAID 53N-1允许1块盘损坏较高受写惩罚拖累文件服务器、中小业务RAID 64N-2允许2块盘损坏较高写惩罚更重备份、归档、大容量存储RAID 104N/2每组镜像允许1块损坏高高数据库、虚拟化、核心业务表格里N代表所有成员的物理容量之和单位一致时可直接套用。RAID 10虽然容量只有一半但所有核心数据库场景都在为这一半容量“买单”背后买的其实是它极短的重建窗口和出色的随机写能力这笔账大多数时候是算得过来的。3. 选型判断——不是越贵越好是越合适越好3.1 按硬盘数量对号入座2块盘要么RAID 0要么RAID 1。要安全就RAID 1要空间和速度就RAID 0没有中间选项。3块盘RAID 5是最常见的选择空间利用率高容错一块盘。4块盘这是最纠结的配置。文件存储对性能要求不高就选RAID 5数据库或核心业务建议直接RAID 10。容量和性能的取舍在这里体现得最清楚。6块及以上的大容量盘数据重要就RAID 6或RAID 10。如果硬盘单块容量已经超过8TB强烈不建议RAID 5。另外强烈建议给RAID阵列配置一块热备盘Hot Spare。热备盘平时不参与读写一旦阵列中有盘故障控制器会自动把它顶上并启动重建不需要人工半夜爬起来换盘。代价只是多占用一个盘位但对业务连续性的提升是肉眼可见的。3.2 按业务类型选型的具体建议系统盘两块小容量SSD组RAID 1稳定且重建速度快。别为了性能上用SSD组RAID 0装系统一旦系统盘挂了整个业务直接瘫痪省那一点空间毫无意义。应用和数据盘文件服务器/共享存储RAID 5或RAID 6。文件访问多为顺序读写RAID 5的写惩罚影响不大。如果数据量大、盘多、允许坏两块盘RAID 6更稳。数据库/虚拟化RAID 10。随机IO密集场景RAID 5/6的写惩罚是硬伤RAID 10的随机写性能几乎接近单盘组合的极限。视频监控/备份存储RAID 5或RAID 6。这类场景写多读少对绝对写性能不敏感但对容量利用率要求高RAID 6更好一些。3.3 几个常被问的取舍问题RAID 5到底还能不能用能用但要控制容量和盘数。4块6TB以下的企业盘做RAID 5日常文件存储没问题。用16TB硬盘做RAID 5重建窗口可能长达两三天这段时间整个阵列都要全速运转再坏一块盘的概率会明显上升风险不可控。RAID 6比RAID 10安全吗严格说RAID 6允许任意两块盘同时损坏RAID 10只允许每对镜像组里坏一块。但RAID 10重建快风险窗口短。在实际故障高发的场景里重建速度对数据的保护效果往往比“允许坏两块盘”的理论冗余更重要。所以面对这个问题我一般回答数据量不大、性能敏感选RAID 10盘多且容量优先选RAID 6。要不要加全局热备加。无论哪种级别热备盘都是性价比最高的保险。有一点要注意热备盘容量要不小于阵列中最大硬盘的容量否则无法顶替。4. 实操怎么知道服务器当前是什么RAID4.1 Linux下几行命令查清楚先看是不是软RAIDcat /proc/mdstat如果输出里出现md0、md127之类的设备并且有active raid字样说明系统用了Linux md软RAID。这个文件如果提示“No such file or directory”或者里面没有任何md设备不代表没有RAID——硬件RAID卡阵列在操作系统层面是看到一块虚拟盘的需要继续往下查。再看物理盘和RAID控制器lsscsi lsblk lspci | grep -i raidlsscsi的输出如果显示的是ATA设备而不是盘的真实型号比如显示ATA而不是ST4000NM000A通常说明硬盘挂在RAID卡后面。lspci则能直接看到RAID控制器的厂商和型号比如LSI / Broadcom / Adaptec / Intel等。如果装了管理工具可以直接查阵列详细状态。LSI/博通系列是目前服务器市场占有率最高的RAID芯片新工具是storcli命令格式如下storcli /c0 show all # 查看控制器信息 storcli /c0 /eall /sall show # 查看物理硬盘状态 storcli /c0 /vall show # 查看虚拟盘和RAID级别如果是老系统可能还在用megaclimegacli -LDInfo -LAll -aALL # 查看虚拟盘信息 megacli -AdpAllInfo -aALL # 查看控制器所有信息这两个工具默认不装网上有大量离线包可用下载后解压直接执行即可。storcli输出里会在“RAID Level”一行显示VD当前的RAID级别这是最权威的判断依据。4.2 Windows下怎么看Windows自带的功能不需要装额外工具。先在“运行”里输入diskmgmt.msc打开磁盘管理看卷的类型——如果显示“镜像”、“带区”之类的字样说明用了Windows的动态磁盘软RAID。硬件RAID在磁盘管理里通常只显示一块大容量的逻辑盘看不到物理盘个数。这时候推荐用厂商的管理工具比如LSI/Broadcom的MegaRAID Storage ManagerMSM或Broadcom Storage ManagerHPE的Smart Storage AdministratorSSADell的OpenManage Server AdministratorOMSA也可以用PowerShell查存储池类的软RAID信息Get-VirtualDisk Get-PhysicalDisk这两个命令主要针对Windows存储空间Storage Spaces和Storage Pool配合Windows Server使用较多。想看物理硬盘细节可以用wmicwmic diskdrive get model,size,status如果系统里只列出一块物理盘但物理机器上明明插了四块硬盘基本可以确定做了硬件RAID合并。4.3 怎么确认RAID卡型号和固件版本Linux下面用lspci查到的只是大致的控制器品牌精确型号和固件版本最好用管理工具看storcli/megacli的控制器信息输出里就有型号、固件版本、序列号。Windows下打开MegaRAID Storage Manager左侧树形菜单里能找到控制器型号常规信息都在这里。知道RAID卡型号非常重要。装系统找不到硬盘、RAID管理工具连不上、升级固件这些场景全部要先确认型号和当前固件版本。很多服务器OEM的RAID卡虽然芯片是LSI的但固件是品牌定制的直接刷公版固件有变砖风险必须用服务器厂商提供的固件包。5. 实操进入RAID配置界面含主流服务器型号5.1 通用思路开机自检提示是关键进入RAID配置界面不算复杂难的是记不住按键。市面上的RAID卡和服务器品牌五花八门但入口其实高度统一绝大多数是在开机自检时按快捷键CtrlRLSI/Broadcom MegaRAID常见入口也用于Dell PERC和部分浪潮、华为、曙光机器CtrlHLSI WebBIOS图形配置界面入口很多OEM服务器默认走这个CtrlCAdaptec RAID卡的经典入口CtrlA部分HP老款Smart Array / Compaq RAID卡入口F2Dell服务器进System Setup后在Device Settings里配置PERC RAID更重要的是开机画面里都会有一行英文提示比如“Press CtrlH for WebBIOS”或者“Press CtrlR to run Configuration Utility”这个提示通常只显示几秒钟手慢了就得重启机器再来一遍。如果用的是远程管理卡比如iBMC、iDRAC、iLO建议直接打开虚拟控制台后重启服务器这样在本地电脑屏幕上就能看到完整的自检画面按下快捷键的时机也更好控制。5.2 常见品牌服务器的RAID入口中兴R5300G3这台机器常见的RAID卡方案以LSI芯片为主。开机自检时留意屏幕如果出现LSI MegaRAID提示按CtrlR或CtrlH都能进。它支持通过iBMC远程管理也可以登录iBMC的Web界面后打开远程控制台在重启过程中进入配置界面。如果没看到快捷键提示先确认是不是当前RAID卡的Option ROM没有在BIOS里开启。华为H22H华为服务器大量采用自家的SR系列RAID卡比如SR130、SR320BC等底层芯片同样是LSI方案。开机时一般会出现“Press CtrlC for LSI Logic Configuration Utility”或“Press CtrlH”的提示根据具体配置而定。UEFI模式下还可以开机按Del或F2进入BIOS Setup在Advanced或Device Manager菜单里找到RAID卡配置入口。SR320BC这类板载控制器在系统里装不上盘时记得先去官网找对应版本的驱动。浪潮NF5468M6浪潮机型的RAID卡一般是LSI/Broadcom的9460-8i、9560-8i等开机按CtrlH进WebBIOS是最常见的入口。UEFI启动模式下也可以在启动设备菜单里看到RAID卡的Option ROM入口。这台机器是GPU服务器配置RAID时要注意和BIOS启动模式匹配别搞出Legacy和UEFI混合的不兼容问题。曙光系列曙光服务器的RAID卡大多也是LSI方案开机提示按CtrlH或CtrlR。部分主板默认关闭了Option ROM这时候在BIOS里把“Storage OpROM”或“RAID Option ROM”开启重启后才会出现配置入口。曙光提供了RAID卡配置手册实际碰到问题按型号去官网下载对应用户手册更靠谱。总体来说主流服务器品牌绕来绕去都离不开LSI/博通方案学会CtrlR/CtrlH这两招够应付绝大多数机器。5.3 新建RAID的标准流程以LSI WebBIOS为例以最常用的LSI WebBIOS为例新建一个RAID 10的完整流程大概是这样开机按CtrlH进入WebBIOS等控制器扫描完成后点Start。点击左侧Configuration Wizard进入配置向导。选择New Configuration注意这个选项会把现有配置清掉如果机器里有数据务必先确认备份。在Select Configuration Mode里选Manual进入手动配置模式。左侧列出所有物理硬盘先选第一组的两块盘点Add to Array再在Span里创建第一个阵列重复操作创建第二个阵列这样RAID 10就有两个Span。选中阵列后在Span Definition区域把它们加入同一个Span组。点Next进入虚拟盘配置选择RAID级别为RAID 10。设置条带大小Strip Size。数据库小IO随机读写推荐64KB大文件视频类推荐256KB。实在拿不准默认的256KB大多能用。设置策略。Read Policy选Read Ahead适合顺序读Write Policy有电池或电容保护时选Write Back否则选Write Through。Cache Policy一般选Direct。点Create创建虚拟盘然后进行初始化Initialize。初始化期间也可以先让阵列处于后台初始化状态但建议等初始化完成再装系统。回到主界面给阵列设置热备盘。点右侧的物理盘选择Make Global HS把某块盘设为全局热备。不同厂商的WebBIOS界面略有差异但步骤基本一致。关键提醒New Configuration会清除原有配置如果是在带数据的旧机器上操作建议用Add Configuration而不是New Configuration。5.4 配置前的安全注意事项配置RAID是破坏性操作。这一步必须反复强调新建阵列的过程会清空所有成员盘上的数据即使你只是在菜单里点了几下还没保存也可能已经把配置写进了RAID卡。操作前必须确认以下事项机器里没有未备份的数据或者数据已经备份到独立介质上并验证可恢复。硬盘拆下来接到另一台机器也不会解决问题RAID配置信息存在RAID卡里把盘插到别的机器上通常无法直接读取。如果有重要数据需要保留请找专业的恢复服务不要自己反复尝试配置向导。做任何配置更改前先通过管理界面查看当前阵列状态记录原始配置。6. 常见问题与排查实录6.1 RAID降级了怎么办RAID降级意味着阵列里有成员盘出现故障或离线控制器自动转入冗余模式数据还在但已经失去了容错能力此时任何一块盘再坏都会导致数据丢失。第一步查看是哪块盘出问题。storcli或WebBIOS的物理盘列表里故障盘会显示Failed、Unconfigured Bad或Offline状态。第二步确认故障原因硬盘本身坏道、电源供电不稳、背板接口松动、SAS线缆松动都可能让盘掉线。第三步更换新盘。直接拔出故障盘换上一块容量和接口一致的新盘控制器检测到后会提示自动重建也可以在管理界面手动启动Rebuild。这里有个实操心得换了新盘之后别急着马上去看重建进度重建过程需要较长时间期间系统IO会有一定压力。最需要注意的是如果换盘后系统反复出现“掉盘-重连”的现象大概率不是盘的问题而是背板、线缆或电源问题要优先排查硬件链路。6.2 “Communication between the IBMC and RAID controller card failed”如何处理这个报错在华为服务器上比较常见。它的意思是带外管理系统iBMC无法正常和RAID控制器通信远程管理界面可能看不到RAID卡的健康信息。常见原因和应对步骤RAID卡固件和iBMC版本不匹配分别升级到华为官网对应的配套版本升级完成后重启服务器。RAID卡未安装到位或管理信号线松动关机断电重新插拔RAID卡检查卡和主板之间的连接。RAID控制器异常导致通信中断查看管理界面日志确认有没有更底层的传感器告警。复位iBMC在维修窗口内用命令复位iBMC或直接在管理界面执行重启管理模块操作。这个报错很多时候不直接影响数据面业务但会让带外管理失效导致故障发现不及时所以不要因为业务还在跑就拖着不处理。6.3 装系统找不到硬盘十有八九是RAID驱动新服务器装操作系统时找不到任何硬盘是特别常见的开场白。大多数情况下不是硬盘坏了而是安装介质里没有RAID卡驱动系统不认识这张虚拟盘。解决方法分三步。第一步在RAID配置界面确认虚拟盘已经创建并处于正常状态这一步能排除配置问题。第二步去服务器或RAID卡厂商官网下载对应操作系统版本的驱动通常是ISO或压缩包解压后拷到U盘。第三步在安装选择磁盘的界面点“加载驱动/浏览”指定U盘里的驱动目录。华为SR320BC这类板载RAID控制器漏驱动的情况尤其多。很多人在官网找驱动时眼花缭乱我的建议是先记下RAID卡型号和操作系统版本再按这两个条件去过滤驱动包不要随便下载一个“通用驱动”就装——装不上是小事装错导致系统蓝屏就麻烦了。6.4 RAID卡电池/电容失效导致性能暴跌如果你发现数据库写入性能突然断崖式下降而阵列状态又是正常的先去看RAID控制器里的BBU/电容状态。RAID卡的Write Back模式依赖电池或超级电容保护缓存数据一旦BBU失效控制器会自动切换到Write Through模式等于每次写操作都要直接落盘性能自然会暴跌。处理办法查看管理工具中的BBU状态确认是Failed还是Degraded。多数RAID卡的BBU或CacheVault模块支持在线更换部分需要停机更换建议在维护窗口操作。如果暂时无法更换业务又对写入性能极度敏感可以尝试强制开启Write Back但前提是服务器有可靠的UPS供电且你清楚断电会导致缓存数据丢失的风险。6.5 问题排查速查表现象大概率原因处理建议RAID状态Degraded成员盘故障/离线确认故障盘更换新盘并重建系统找不到硬盘RAID卡驱动未加载下载对应驱动安装时手动加载写入性能暴跌BBU/电容失效Write Back被关检查BBU状态更换电池模块iBMC无法读取RAID卡信息固件不匹配/管理链路异常升级固件重新插拔RAID卡重建卡住不动坏道严重/热备盘容量不足检查源盘健康度和热备盘容量开机无RAID卡提示Option ROM被禁用/卡未识别BIOS里开启OpROM检查硬件安装换盘后反复掉盘背板/线缆/电源问题优先排查链路不要盲目换盘有一次凌晨帮客户处理一个“重建两天还卡在30%”的RAID 5阵列查到最后发现是热备盘容量小了0.5GB控制器无法完整顶替。从那以后我形成个习惯任何服务器采购和扩容热备盘都会留出余量最少比阵列里最大硬盘大一个档位。还有个小技巧新盘替换故障盘时尽量选固件版本和原盘一致的型号。混用不同固件版本的重建成功率会低一些尤其是企业级SAS盘。这个细节很多文档里不会写但实测中真的会影响重建稳定性。写到这儿顺带分享一个习惯我会给每台生产服务器写一张小卡片记录RAID级别、硬盘型号、热备盘状态和RAID卡固件版本贴在机柜里。故障时随手一翻省去很多现场排查的时间。RAID选型这件事没有永远的正确答案只有根据数据重要性、性能需求和预算做出来的最优解。至少在我这儿数据库永远RAID 10系统盘永远RAID 1备份和大容量存储再考虑RAID 6这个组合帮我避开了大多数半夜叫醒服务。