MegaCli 是管理 LSI(现为 Broadcom)MegaRAID 系列硬件 RAID 控制器的强大命令行工具,适合在缺乏图形界面的环境中进行精细的存储配置和监控。

下面为您梳理其下载安装、核心用法和典型应用场景。

🔧 工具概览与获取安装

MegaCli 是 Broadcom 提供的用于管理基于 MegaRAID 控制器的硬件 RAID 的命令行工具 。它支持在 Windows、Linux 及 VMware ESXi 等多种操作系统上运行,允许您通过命令行直接配置、监控和管理 RAID 卡及其下的物理磁盘、虚拟磁盘(RAID 阵列)等 。

  • 下载地址:工具可从 Broadcom(博通)官方网站 下载。您可以通过访问 Broadcom 支持网站,搜索 "MegaCLI" 来找到对应的最新版本下载页面 。一个常见的版本是 8-07-14_MegaCLI.zip
  • 安装示例(以 CentOS 系统为例)
    1. 使用 rpm -ivh MegaCli-8.07.14-1.noarch.rpm 命令安装下载的 RPM 包 。
    2. 安装后,主程序通常位于 /opt/MegaRAID/MegaCli/ 目录下,可执行文件可能是 MegaCliMegaCli64
    3. 为了方便使用,建议创建软链接到系统命令路径,例如:ln -s /opt/MegaRAID/MegaCli/MegaCli64 /usr/bin/megacli
    4. 对于 Ubuntu 等 Debian 系系统,可能需要先使用 alien 工具将 rpm 包转换为 deb 包后再安装 。
    5. 如果执行命令时报告缺少 libncurses.so.5 等库文件,需要安装相应的依赖库,例如 ncurses-compat-libs(CentOS)或 libncursesw5(Ubuntu)。

📚 核心命令与使用方法

使用 MegaCli 前,通常需要确认操作的适配器(RAID 卡)编号,默认为 -a0(适配器0)。使用 -aALL 可操作所有适配器。

下表汇总了最常用的一些操作命令:

操作类别 命令示例 功能说明
信息查看 megacli -AdpAllInfo -aALL 查看 RAID 卡适配器的详细信息 。
megacli -PDList -aALL 列出所有物理磁盘的详细信息 。
megacli -LDInfo -Lall -aALL 查看所有虚拟磁盘(RAID 阵列)的信息 。
RAID配置 megacli -CfgLdAdd -r1 [32:6,32:7] -a0 使用指定槽位的磁盘创建 RAID 1 。
megacli -CfgLdDel -L1 -a0 删除编号为 1 的虚拟磁盘 。
磁盘管理 megacli -PDHSP -Set -PhysDrv [32:7] -a0 将指定磁盘设置为全局热备盘 。
megacli -PDOffline -PhysDrv [32:7] -a0 将指定物理磁盘设置为离线状态 。
megacli -PDOnline -PhysDrv [32:7] -a0 将指定物理磁盘设置为在线状态 。
状态监控 megacli -AdpBbuCmd -aAll 查看 RAID 卡电池(BBU)信息 。
megacli -PDRbld -ShowProg -PhysDrv [32:7] -a0 查看物理磁盘重建进度 。

💡 典型应用场景举例

  1. 创建新的 RAID 1 阵列
    假设希望用机箱(Enclosure)ID 为 32、槽位(Slot)为 6 和 7 的两块新硬盘创建一个 RAID 1(镜像)阵列 。

    • 步骤一:使用 megacli -PDList -aALL 确认这两块磁盘的 Firmware stateUnconfigured(good)(未配置良好)。
    • 步骤二:执行命令 megacli -CfgLdAdd -r1 [32:6,32:7] -a0 创建阵列 。
    • 步骤三:创建成功后,无需重启服务器 。执行 echo "- - -" > /sys/class/scsi_host/hostX/scan 命令触发系统重新扫描 SCSI 总线(X 为具体的主机编号),之后使用 lsblk 命令即可看到新出现的磁盘设备(如 /dev/sdb),之后便可对其进行分区、格式化等操作 。
  2. 快速定位并更换故障硬盘
    当 RAID 阵列出现磁盘故障,状态变为 Degraded(降级)时,需要快速找到坏盘并更换 。

    • 步骤一:使用 megacli -PDList -aALL 查看所有物理盘,重点关注 Media Error Count(介质错误计数)和 Other Error Count(其他错误计数)非零或 Firmware state 显示为 Failed(失败)的磁盘,并记录其 Enclosure Device IDSlot Number
    • 步骤二:更换新硬盘后,系统可能会自动开始重建。若无,可尝试手动触发重建:megacli -PDRbld -Start -PhysDrv [EID:S] -a0(其中 EID 为机箱 ID,S 为槽位号)。使用 megacli -PDRbld -ShowProg -PhysDrv [EID:S] -a0 查看重建进度 。
  3. 处理外来配置(Foreign Configuration)
    当从另一台服务器拆下带有 RAID 信息的硬盘插入本机时,可能会检测到外来配置 。

    • 步骤一:使用 megacli -cfgforeign -scan -a0 扫描是否存在外来配置 。
    • 步骤二:如果确认要清空这些配置以使用磁盘,可执行 megacli -cfgforeign -clear -a0 清除外来配置 。此操作会破坏原磁盘上的数据,请谨慎确认。

⚠️ 重要注意事项

  • 操作风险:创建或删除 RAID、设置热备盘等操作会破坏数据。在执行前务必反复确认操作的磁盘和 RAID 卷是否正确 。
  • 兼容性:MegaCli 主要适用于 LSI/Broadcom 的 MegaRAID 系列控制器。在使用前,可通过 lspci | grep -i megadmesg | grep -i raid 等命令确认服务器是否使用此类 RAID 卡 。
  • 状态解读:密切关注物理磁盘的 Media Error CountOther Error Count,非零值可能预示磁盘潜在问题 。虚拟磁盘的 StateOptimal 表示最优,Degraded 表示降级(有磁盘故障)。
posted on 2025-10-17 14:01  LeeHang  阅读(8)  评论(0)    收藏  举报