在Linux系统中查看RAID5阵列的状态、配置及磁盘健康情况,是系统管理和故障排查的重要环节,RAID5通过分布式奇偶校验实现数据冗余,至少需要3块磁盘,其中一块容量的磁盘用于存储奇偶校验信息,以下是查看RAID5的详细方法,涵盖软件RAID(基于Linux软件RAID,mdadm)和硬件RAID(基于阵列卡,如LSI、Broadcom等)两种常见场景。
软件RAID5查看方法(mdadm工具)
Linux软件RAID通常通过mdadm
工具管理,需先确保工具已安装(sudo apt install mdadm
或sudo yum install mdadm
)。
初步查看RAID状态(/proc/mdstat)
/proc/mdstat
文件是内核中软件RAID的实时状态文件,适合快速检查RAID是否运行、是否处于同步或重建状态。
cat /proc/mdstat
输出示例:
Personalities : [raid5]
md0 : active raid5 sdb[1] sdc[0] sdd[2]
97676288 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
[>....................] resync = 0.0% (0/97676288) finish=0.0min speed=0K/sec
关键信息解读:
raid5
:RAID级别为5;md0
:RAID设备名;[3/3] [UUU]
:3块磁盘中3块在线(U表示在线,D表示离线);resync
:同步进度,若为0%且无“finish”,表示RAID正常;若进度非0,表示正在重建或同步。
详细查看RAID配置(mdadm –detail)
使用mdadm --detail
(或mdadm -D
)可获取RAID的完整配置,包括设备名、级别、磁盘列表、奇偶校验位置、创建时间等。
sudo mdadm --detail /dev/md0
输出示例:
/dev/md0:
Version : 1.2
Creation Time : Mon Jan 01 12:00:00 2024
Raid Level : raid5
Array Size : 97676288 (93.18 GiB 100.03 GB)
Used Dev Size : 48838144 (46.59 GiB 50.02 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Mon Jan 01 12:05:00 2024
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : localhost:0
UUID : a1b2c3d4:e5f6g7h8:i9j0k1l2:m3n4o5p6
Events : 100
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdc
1 8 33 1 active sync /dev/sdb
2 8 49 2 active sync /dev/sdd
关键信息解读:
State: clean
:RAID状态正常,无数据不一致;Raid Devices: 3
:RAID包含3块磁盘;Active Devices: 3
:3块磁盘均在线;RaidDevice
列:磁盘在RAID中的位置及对应设备文件(如/dev/sdb
)。
查看单个磁盘状态
若怀疑某磁盘故障,可单独查看磁盘在RAID中的状态:
sudo mdadm --detail /dev/md0 | grep "RaidDevice"
若某磁盘状态为faulty
,则表示故障,需替换。
硬件RAID5查看方法(阵列卡工具)
硬件RAID依赖阵列卡(如LSI MegaRAID、Broadcom MegaCLI等),需安装对应厂商的管理工具。
LSI/MegaRAID阵列卡(StorCLI/MegaCLI)
以LSI阵列卡为例,安装storcli
(CentOS/RHEL)或megacli
(Ubuntu/Debian)后,使用以下命令:
-
查看物理磁盘状态:
sudo /opt/MegaRAID/storcli/storcli64 /c0/eall/sall show all
关键输出:
Firmware state: Online
(磁盘正常)、Firmware state: Unconfigured
(未配置)、Firmware state: Rebuilding
(重建中)。 -
查看逻辑磁盘(RAID)状态:
sudo /opt/MegaRAID/storcli/storcli64 /c0/vall show all
关键输出:
State: Optimal
(RAID正常)、State: Degraded
(降级,有磁盘故障)、State: Rebuilding
(重建中)。
其他阵列卡工具
- HP Smart Array:使用
hpacucli
,命令hpacucli ctrl slot=0 logicaldrive all show detail
; - Adaptec RAID:使用
arcconf
,命令sudo arcconf getconfig 1 al
。
常用查看命令总结
以下表格总结了不同场景下的核心命令及用途:
场景 | 工具/命令 | 主要用途 |
---|---|---|
软件RAID实时状态 | cat /proc/mdstat |
快速查看RAID同步、重建状态及磁盘在线情况 |
软件RAID详细配置 | sudo mdadm --detail /dev/mdX |
获取RAID级别、磁盘列表、UUID、创建时间等 |
硬件RAID物理磁盘状态 | storcli64 /c0/eall/sall show all |
查看阵列卡物理磁盘的在线/故障/重建状态 |
硬件RAID逻辑磁盘状态 | storcli64 /c0/vall show all |
查看RAID5的逻辑状态(Optimal/Degraded等) |
相关问答FAQs
Q1:为什么/proc/mdstat
中看不到RAID5信息?
A:可能原因及解决方法:
- RAID未启动:软件RAID需手动启动(
sudo mdadm --assemble /dev/md0 /dev/sdb /dev/sdc /dev/sdd
); - 内核模块未加载:检查
md_mod
模块是否加载(lsmod | grep md_mod
),若无则加载(sudo modprobe md_mod
); - 配置文件缺失:确保
/etc/mdadm/mdadm.conf
中包含RAID配置(sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
)。
Q2:如何判断RAID5是否处于故障状态?
A:通过以下方式综合判断:
- 软件RAID:
mdadm --detail
输出中State
为degraded
(降级,有磁盘离线)、resync
进度长时间卡住,或磁盘状态为faulty
; - 硬件RAID:阵列卡工具(如
storcli
)显示逻辑磁盘State
为Degraded
或Failed
,或物理磁盘Firmware state
为Failed
; - 系统日志:检查
/var/log/syslog
或dmesg
,是否有RAID错误信息(如“I/O error”或“disk failure”),发现故障后需及时更换磁盘并触发重建。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/22340.html