软件RAID(基于mdadm
)
软件RAID通过Linux内核的md
(Multiple Devices)驱动实现,常用工具为mdadm
。
检查RAID状态
cat /proc/mdstat
输出示例:
Personalities : [raid1]
md0 : active raid1 sdb1[1] sda1[0]
1047552 blocks super 1.2 [2/2] [UU]
- 关键信息:
md0
:RAID设备名raid1
:RAID级别sda1[0]
、sdb1[1]
:成员磁盘及序号[UU]
:所有磁盘状态正常(_
表示故障)
使用mdadm
查看详情
sudo mdadm --detail /dev/md0
输出包括:
- RAID级别、容量、状态
- 成员磁盘列表(正常/故障)
- 创建时间、更新时间
- 事件计数(用于故障诊断)
扫描所有软件RAID
sudo mdadm --examine --scan
硬件RAID(通过RAID卡)
需使用厂商专用工具,常见工具如下:
MegaRAID(LSI/Broadcom/Avago)
-
安装工具:
# Debian/Ubuntu sudo apt-get install megacli # RHEL/CentOS sudo yum install MegaCLI
-
查看RAID信息:
sudo megacli -LDInfo -Lall -aAll # 逻辑磁盘信息 sudo megacli -PDList -aAll # 物理磁盘状态 sudo megacli -AdpAllInfo -aAll # 适配器(RAID卡)信息
HP Smart Array
-
安装工具:
# Debian/Ubuntu sudo apt-get install hpacucli # RHEL/CentOS sudo yum install hpacucli
-
查看RAID信息:
sudo hpacucli ctrl all show config
Dell PERC
- 安装工具:
# RHEL/CentOS sudo yum install perccli
- 查看RAID信息:
sudo perccli /c0 show # /c0表示第一个控制器
通用诊断命令
检查磁盘信息
lsblk # 查看磁盘拓扑关系 sudo fdisk -l # 列出所有磁盘及分区 sudo smartctl -a /dev/sda # 检查磁盘健康状态(需安装smartmontools)
内核日志
dmesg | grep -i raid # 筛选内核日志中的RAID事件
查看RAID卡信息
lspci | grep -i raid # 确认RAID卡型号
常见问题排查
-
磁盘故障:
/proc/mdstat
中显示_
(如[U_]
)- 使用
mdadm --detail /dev/md0
查看具体故障盘。
-
RAID卡未识别:
- 检查
lspci
输出,确认驱动是否加载(lsmod | grep raid_class
)。
- 检查
-
性能问题:
- 监控
/proc/mdstat
的同步进度(resync/recovery)。
- 监控
场景 | 推荐命令 |
---|---|
软件RAID状态 | cat /proc/mdstat + mdadm --detail |
MegaRAID卡 | megacli -LDInfo -Lall -aAll |
HP RAID卡 | hpacucli ctrl all show config |
磁盘健康检查 | smartctl -a /dev/sdX |
重要提示:
- 操作硬件RAID前,备份数据并确认厂商兼容性。
- 软件RAID重建需确保备用磁盘容量匹配。
- 定期检查
/proc/mdstat
和SMART日志预防故障。
引用说明:
本文方法基于Linux内核文档(man md
)、mdadm
手册页(man mdadm
)及厂商工具官方指南(如Broadcom《MegaCLI User Guide》),命令行示例在CentOS 7/8及Ubuntu 20.04 LTS验证通过。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8126.html