MegaCli64 命令详解
MegaCli64
是用于管理和监控基于 LSI/Avago/Broadcom MegaRAID 控制器的 RAID 阵列的命令行工具。可以使用它来查看硬 RAID 的健康状态和是否正在进行重建(rebuild)。
1. 查看 RAID 阵列的状态
要检查 RAID 阵列的整体健康状态,可以运行以下命令:
MegaCli64 -LDInfo -Lall -aALL
-LDInfo
:获取逻辑磁盘(RAID 阵列)的信息。-Lall
:查看所有逻辑磁盘。-aALL
:适用于所有适配器。
你可以从输出中查看每个 RAID 阵列的状态,通常会显示:
State: Optimal
:表示阵列状态正常。State: Degraded
:表示阵列出现故障,可能有磁盘损坏。State: Rebuild
:表示 RAID 正在重建。
2. 查看是否有磁盘正在重建
如果有重建过程正在进行,可以使用以下命令来查看重建状态:
MegaCli64 -PDRbld -ShowProg -PhysDrv [E:S] -aALL
-PDRbld -ShowProg
:显示物理磁盘的重建进度。[E:S]
:表示设备的物理磁盘编号,E
是Enclosure
,S
是Slot
,可通过其他命令获取到设备的Enclosure:Slot
信息(例如Enclosure Device ID
和Slot Number
)。-aALL
:适用于所有适配器。
3. 列出所有物理磁盘信息
可以通过以下命令查看 RAID 阵列中的所有物理磁盘信息:
MegaCli64 -PDList -aALL
或者直接过滤state
sudo MegaCli64 -PDList -aALL| grep state
或者下面这个
sudo MegaCli64 -AdpAllInfo -aALL| grep Disks
- 该命令会列出所有物理磁盘的详细信息,包括状态、槽位、型号等。
- 从输出中你可以看到类似的字段,如:
Firmware state
,显示磁盘状态:Online
: 磁盘正常。Rebuild
: 磁盘正在重建。Unconfigured(Bad)
: 磁盘故障。Unconfigured(Good)
: 磁盘未被配置为 RAID 成员,但处于正常状态。
4. 查看重建进度
要查看当前重建进度,可以使用以下命令:
MegaCli64 -LDRecon ShowProg L0 -aALL
L0
:表示第一个逻辑盘,可以根据你的 RAID 阵列调整逻辑盘编号。- 输出中会显示重建进度的百分比。
5. 查看物理磁盘状态(包括是否离线或处于重建状态)
sudo MegaCli64 -AdpAllInfo -aALL
或者
sudo MegaCli64 -AdpAllInfo -aALL| grep Disks
Disks : 33
Critical Disks : 1
Failed Disks : 1
- Disks: 33 块磁盘
- Critical Disks: 1 块处于临界状态的磁盘
- Failed Disks: 1 块已经失效的磁盘
这表明你的 RAID 阵列中有两块磁盘出现了问题:
-
Critical Disk: 这一块磁盘还没有完全失效,但可能已经出现了错误或其他问题,随时可能会彻底故障。你需要尽快更换这块磁盘,防止阵列进一步恶化。
-
Failed Disk: 这一块磁盘已经失效,不能再使用。你需要将其替换为一块新的磁盘,并进行数据重建。
重要提醒:如果这是一个 RAID 6 阵列,那么它允许最多两块磁盘失效而不丢失数据。但如果不及时处理,阵列可能会失去冗余保护,增加数据丢失的风险。
建议的操作步骤:
- 尽快更换失效磁盘(Failed Disk),确保 RAID 阵列恢复到正常状态。
- 更换处于临界状态的磁盘(Critical Disk),防止它进一步恶化为失效状态。
- 监控重建进程:当更换磁盘后,RAID 阵列应该会自动启动重建过程,确保数据的一致性和完整性。
6. 查看是否有热背盘
MegaCli64 -PDGetMissing -aALL
总结
- 健康状态:使用
MegaCli64 -LDInfo -Lall -aALL
查看 RAID 阵列的健康状态。 - 重建状态:使用
MegaCli64 -LDRecon ShowProg L0 -aALL
查看重建进度,或MegaCli64 -PDRbld -ShowProg -PhysDrv [E:S] -aALL
查看物理磁盘的重建状态。 - 磁盘状态:使用
MegaCli64 -PDList -aALL
列出所有物理磁盘的详细信息,包括是否在线和重建状态。
这些命令可以帮助你监控硬 RAID 的状态,并在出现问题时快速响应。