在CentOS系统中,监控和管理RAID(独立磁盘冗余阵列)是确保数据安全和系统稳定性的关键任务,无论是使用软件RAID还是硬件RAID,了解如何检查其状态、配置和健康状况都是系统管理员的必备技能,本文将详细介绍在CentOS中查看不同类型RAID信息的多种方法,帮助您全面掌握磁盘阵列的运行状况。

识别RAID类型
在开始检查之前,首先需要确定系统使用的是软件RAID还是硬件RAID,因为它们的检查方法截然不同。
- 软件RAID:通常通过Linux内核的
md(multiple devices)驱动程序实现,最常用的管理工具是mdadm。 - 硬件RAID:通过专用的RAID控制器卡实现,磁盘的管理和冗余计算由卡上的处理器独立完成,操作系统看到的是一个或多个由控制器虚拟出来的逻辑驱动器。
您可以使用lspci命令来查看是否存在硬件RAID控制器,如果输出中包含类似“RAID bus controller”、“SAS3008”、“MegaRAID”或“Smart Array”等字样,则表明系统使用了硬件RAID。
lspci | grep -i raid
如果该命令没有返回任何结果,那么系统很可能使用的是软件RAID。
检查软件RAID (mdadm)
对于使用mdadm创建的软件RAID,查看其状态非常直接。
使用 /proc/mdstat
这是最快速、最常用的方法。/proc/mdstat是一个虚拟文件,实时显示了内核中所有md设备的状态。
cat /proc/mdstat
输出示例如下:
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sdb1[0] sdc1[1]
2095104 blocks super 1.2 [2/2] [UU]
[=>...................] resync = 5.0% (104704/2095104) finish=0.1min speed=104704K/sec
md1 : active raid5 sdd1[0] sde1[1] sdf1[2]
312576000 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
bitmap: 0/1 pages [0KB], 65536KB chunk
unused devices: <none>
输出解读:
Personalities: 当前内核支持的RAID级别。md0: RAID设备的名称。active raid1: 表示md0是一个活动状态的RAID 1阵列。sdb1[0] sdc1[1]: 构成该阵列的物理分区及其在阵列中的编号。[2/2] [UU]: 这是关键信息。[2/2]表示阵列中有2个磁盘,2个在线。[UU]中的每个U代表一个状态为“良好”的磁盘,如果某个磁盘损坏,U会变成_,例如[U_]。resync = 5.0%: 表示阵列正在同步或重建,并显示了进度。
使用 mdadm --detail
要获取更详细的信息,可以使用mdadm的--detail或-D参数。
sudo mdadm --detail /dev/md0
该命令会提供一个详细的报告,包括RAID版本、创建时间、阵列大小、RAID级别、设备状态、更新时间等,下表列出了关键输出字段的含义:
| 字段 | 含义 |
|---|---|
Raid Level |
RAID级别,如raid1, raid5 |
Array Size |
阵列总容量 |
Used Dev Size |
每个成员设备的使用容量 |
Raid Devices |
阵列中应有的设备数量 |
Total Devices |
当前连接到阵列的设备总数 |
State |
阵列的当前状态,如clean, degraded, resyncing |
Active Devices |
当前处于活动状态的设备数量 |
Working Devices |
当前正常工作的设备数量 |
Failed Devices |
当前已损坏的设备数量 |
Spare Devices |
当前热备盘的数量 |
Update Time |
阵列状态最后更新时间 |
检查硬件RAID
硬件RAID的检查依赖于制造商提供的专用管理工具,以下介绍几种主流RAID控制器的查看方法。

LSI/Avago/Broadcom MegaRAID
这是市场上最常见的RAID卡之一,其管理工具为MegaCli(较旧)或StorCLI(推荐,较新)。
使用 StorCLI:StorCLI的命令格式更直观,查看控制器概览:
sudo /opt/MegaRAID/storcli/storcli64 /c0 show
/c0指代第一个控制器。
输出中的VD(Virtual Drive)部分显示了逻辑驱动器的信息,包括RAID级别、状态、大小等。PD(Physical Drive)部分则列出了所有物理磁盘的详细信息,包括其State(如UGood, UBad, Onln)。
查看特定VD详情:
sudo /opt/MegaRAID/storcli/storcli64 /c0/vall show
查看所有PD状态:
sudo /opt/MegaRAID/storcli/storcli64 /c0/eall/sall show
HP Smart Array
对于惠普(HP)的服务器,通常使用hpssacli(HP Smart Storage Administrator CLI)工具。
查看控制器状态:
sudo hpssacli ctrl all show status
查看逻辑驱动器状态:
sudo hpssacli ctrl slot=0 logicaldrive all show status
查看物理驱动器状态:
sudo hpssacli ctrl slot=0 physicaldrive all show status
slot=0需要根据您的实际控制器插槽号进行修改,输出会明确指出每个驱动器的状态,如OK, Failed, Rebuilding。

Dell PERC (PowerEdge RAID Controller)
Dell服务器的PERC卡通常基于LSI芯片,可以使用Dell OpenManage套件中的omreport命令。
查看物理磁盘状态:
sudo omreport storage pdisk controller=0
查看虚拟磁盘状态:
sudo omreport storage vdisk controller=0
这些命令会生成格式化的报告,清晰地展示每个组件的健康状况。
相关问答FAQs
问题1:我在/proc/mdstat中看到状态是[U_],这表示什么?我该如何处理?
解答:[U_]表示您的软件RAID 1阵列处于降级状态,这意味着阵列中的一个磁盘已经离线或损坏。U代表正常的磁盘,_代表缺失或故障的磁盘,处理步骤如下:
- 识别故障磁盘:使用
mdadm --detail /dev/md0命令查看详细信息,找到被标记为faulty或removed的设备。 - 物理更换:如果确认是硬件故障,请关闭服务器,更换一块新的、容量不小于故障盘的硬盘。
- 添加新磁盘到阵列:新硬盘安装后,如果分区与旧盘不同,需要先进行分区,使用
mdadm --add /dev/md0 /dev/sdx1(将/dev/sdx1替换为新磁盘的分区)命令将新磁盘添加为热备盘。 - 等待重建:
mdadm会自动开始数据重建过程,您可以再次通过cat /proc/mdstat或watch cat /proc/mdstat来监控重建进度,重建完成后,阵列状态将恢复为[UU]。
问题2:我没有安装硬件RAID的管理工具(如storcli或hpssacli),应该如何安装?
解答:这些工具通常不包含在CentOS的默认软件仓库中,您需要从硬件制造商的官方网站下载。
- 访问官网:前往Broadcom(针对LSI/Avago)、HPE(针对HP)或Dell的支持网站。
- 搜索工具:在支持或下载页面,搜索您的RAID控制器型号,然后查找对应的管理工具包,搜索“MegaRAID StorCLI download”或“HPE Smart Storage Administrator download”。
- 选择版本:根据您的CentOS版本(如7或8)和系统架构(通常是x86_64)下载正确的RPM包。
- 安装:下载完成后,使用
yum localinstall或rpm -ivh命令进行安装。sudo yum localinstall storcli-*.rpm。 - 配置路径:安装后,工具通常位于
/opt目录下,您可能需要将可执行文件路径(如/opt/MegaRAID/storcli/)添加到系统的PATH环境变量中,或者每次使用时输入完整路径,某些厂商(如Dell)可能提供自己的软件仓库,配置后可以直接通过yum安装。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!