MegaCLI Raid管理工具
整理在CentOS 7.9和Ubuntu 24.04上,MegaCLI 工具的安装与常用命令。
整理在CentOS 7.9和Ubuntu 24.04上,MegaCLI 工具的安装与常用命令。
1. 参考
ubuntu24.04 No such file libncursesw.so.5
dell服务器硬盘的状态变成外来(foreign)命令行修复
2. 下载
-
下载页:
8-07-14_MegaCLI的下载链接: https://docs.broadcom.com/docs/12351587
https://www.broadcom.com/site-search?q=MegaCLI -
下载链接:
https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/8-07-14_MegaCLI.zip

3. 安装
3.1 Centos系统
下载工具
登录BROADCOM网站上MegaCli工具的下载页面。
下载最新版本的MegaCLI工具。
解压后得到适用于不同操作系统的工具包。
安装工具
不同操作系统下,MegaCLI工具的安装方法不同,此处仅以Windows、Linux、VMware为例进行说明。
LSI SoftRAID适配的MegaCLI工具为“MegaCLI64”。
Windows系统下安装MegaCLI工具。
将适用Windows的工具包上传到服务器操作系统。
打开命令行工具。
使用命令行工具进入MegaCLI工具包所在目录。
Windows下的MegaCLI工具不需安装,此时可执行RAID卡命令。
Linux系统下安装MegaCLI工具。
使用文件传输工具(例如Putty)将适用Linux的工具包上传到服务器操作系统。
执行rpm -ivh MegaCli -xxx.rpm命令安装MegaCLI工具。
安装完毕后,即可执行RAID卡命令。
VMware系统下安装MegaCLI工具。
使用文件传输工具(例如Putty)将适用VMware的工具包上传到服务器操作系统。
执行esxcli software vib install -v=vmware-xxx-MegaCli.vib命令安装MegaCLI工具。
安装完毕后,即可执行RAID卡命令。
3.2 Ubuntu系统
3.2.1 Ubuntu安装说明
https://www.broadcom.com/support/knowledgebase/1211161500661/installing-megacli-in-debian-or-ubuntu
ID: 1211161500661
Question
Installing MegaCLI in Debian or Ubuntu.
Answer
Debian and Ubuntu do not support rpm packages, which is how LSI distributes MegaCLI. The MegaCLI rpm package can be converted for use with Debian and Ubuntu by following these steps:
apt-get install alien
# Convert to .deb
alien -k --scripts filename.rpm
# Install .deb
dpkg -i filename.deb
# run it
cd /opt/megaraid
3.2.2 Ubuntu安装步骤
- 转换
apt-get install alien
alien -k --scripts MegaCli-8.07.14-1.noarch.rpm
root@test:/home/software/MegaCLI/8-07-14_MegaCLI/Linux# ll
total 2640
drwxr-xr-x 2 root root 4096 May 9 14:46 ./
drwxr-xr-x 7 root root 4096 May 9 14:41 ../
-rw-r--r-- 1 root root 1549650 Dec 16 2013 MegaCli-8.07.14-1.noarch.rpm
-rw-r--r-- 1 root root 1141908 May 9 14:46 megacli_8.07.14-1_all.deb
- 安装
dpkg -i megacli_8.07.14-1_all.deb
cd /opt/MegaRAID/MegaCli/ && ll
root@test:/home/software/MegaCLI/8-07-14_MegaCLI/Linux# cd /opt/MegaRAID/MegaCli/ && ll
total 3196
drwxr-xr-x 2 root root 4096 May 9 14:47 ./
drwxr-xr-x 3 root root 4096 May 9 14:47 ../
-rwxr-xr-x 1 root root 2720320 Dec 16 2013 MegaCli64*
-rw-r--r-- 1 root root 0 May 9 14:47 install.log
lrwxrwxrwx 1 root root 48 May 9 14:47 libstorelibir-2.so -> /opt/MegaRAID/MegaCli/libstorelibir-2.so.14.07-0*
-rwx------ 1 root root 540512 Dec 16 2013 libstorelibir-2.so.14.07-0*
- Ubuntu 24.04缺少libncurses.so.5解决方法
# 执行命令会报找不到 libncurses.so.5文件
/opt/MegaRAID/MegaCli/MegaCli64 -h
# 编辑源文件
cd /etc/apt/sources.list.d/ && cp ubuntu.sources ubuntu.sources.bak
vim ubuntu.sources
# 增加官方源 http://archive.ubuntu.com/ubuntu/
Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: trusty
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Types: deb
URIs: http://mirrors.aliyun.com/ubuntu/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
apt-get update
# 安装旧版兼容库
apt-get install libncursesw5 libncurses5
root@test:/etc/apt/sources.list.d# find / -name libncurses.so.5
/usr/lib/x86_64-linux-gnu/libncurses.so.5
root@test:/etc/apt/sources.list.d# ldconfig -p | grep libncurses
libncursesw.so.6 (libc6,x86-64) => /lib/x86_64-linux-gnu/libncursesw.so.6
libncursesw.so.5 (libc6,x86-64) => /lib/x86_64-linux-gnu/libncursesw.so.5
libncurses.so.5 (libc6,x86-64) => /lib/x86_64-linux-gnu/libncurses.so.5
root@test:/etc/apt/sources.list.d# ln -s /lib/x86_64-linux-gnu/libncurses.so.5.9 /usr/lib/libncurses.so.5
root@test:/etc/apt/sources.list.d# ll /usr/lib/libncurses.so.5
lrwxrwxrwx 1 root root 39 May 9 16:38 /usr/lib/libncurses.so.5 -> /lib/x86_64-linux-gnu/libncurses.so.5.9
# 测试命令执行正常
root@test:/opt/MegaRAID/MegaCli# /opt/MegaRAID/MegaCli/MegaCli64 -h
MegaCLI SAS RAID Management Tool Ver 8.07.14 Dec 16, 2013
(c)Copyright 2013, LSI Corporation, All Rights Reserved.
......
4. 使用

[root@localhost Linux]# ln -s /opt/MegaRAID/MegaCli/MegaCli64 /bin/
[root@localhost Linux]# ln -s /opt/MegaRAID/MegaCli/MegaCli /bin/
- 查看硬盘是否在线
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL |grep "Firmware state"

- 查看硬盘错误信息
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL |grep -i error

/opt/MegaRAID/MegaCli/MegaCli64 -fwtermlog -dsply -aALL | grep -E "error|Error|ERROR|fail|Fail|FAIL"

5. 处理
5.1 处理硬盘状态为Unconfigured(good)
-
DELL IDRAC看到有一块硬盘显示为“外来”

-
查询硬盘状态
root@test:/opt/MegaRAID/MegaCli# /opt/MegaRAID/MegaCli/MegaCli64 -pdlist -aall |grep 'Firmware state'
Firmware state: Online, Spun Up
Firmware state: Online, Spun Up
Firmware state: Online, Spun Up
Firmware state: Online, Spun Up
Firmware state: Online, Spun Up
Firmware state: Online, Spun Up
Firmware state: Online, Spun Up
Firmware state: Online, Spun Up
Firmware state: Unconfigured(good), Spun Up
Firmware state: Online, Spun Up
Firmware state: Online, Spun Up
Firmware state: Hotspare, Spun Up
# 显示没有diskgroup,并且 Firmware state: Unconfigured(good), Spun Up
root@test:/opt/MegaRAID/MegaCli# /opt/MegaRAID/MegaCli/MegaCli64 -pdlist -aall |more
Enclosure Device ID: 32
Slot Number: 8
Enclosure position: 1
Device Id: 8
WWN: 5000C50025EDAF6C
Sequence Number: 1
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
PD Type: SAS
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Non Coerced Size: 1.818 TB [0xe8d088b0 Sectors]
Coerced Size: 1.818 TB [0xe8d00000 Sectors]
Sector Size: 0
Firmware state: Unconfigured(good), Spun Up
Device Firmware Level: KS68
Shield Counter: 0
Successful diagnostics completion on : N/A
SAS Address(0): 0x5000c50025edaf6d
SAS Address(1): 0x0
Connected Port Number: 0(path0)
Inquiry Data: SEAGATE ST32000444SS KS689WM38SN9
FDE Capable: Not Capable
FDE Enable: Disable
Secured: Unsecured
Locked: Unlocked
Needs EKM Attention: No
Foreign State: None
Device Speed: 6.0Gb/s
Link Speed: 6.0Gb/s
Media Type: Hard Disk Device
Drive Temperature :35C (95.00 F)
PI Eligibility: No
Drive is formatted for PI information: No
PI: No PI
- 查看当前Missing的磁盘
MegaCli64 -PDGetMissing -a0
- 标记磁盘离线(以下为示例,需要修改对应参数)
# Enclosure Device ID 为252
# Slot Number: 为 0
MegaCli64 -PDOffline -PhysDrv [252:0] -a0
- 清除foreign配置
# 扫描外来配置的个数:
/opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -scan -a0
There is 1 foreign configuration on controller 0.
#清除外来配置:
/opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -clear -a0
#再次扫描外来配置的个数:
/opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -scan -a0
There is no foreign configuration on controller 0.
-
手动设置为全局热备盘,下次启动时生效

-
MegaCli64 添加热备盘
# 增加一块盘为热备盘。下例中 Enclosure Device ID是252,盘的Slot Number是7
MegaCli64 -PdHsp -Set -PhysDrv [252:0] -a0
# 命令执行结果
Adapter: 0: Set Physical Drive at EnclId-252 SlotId-0 as Hot Spare Success.
Exit Code: 0x00
# 查看添加结果
MegaCli64 -PDList -aAll | grep -E "Slot Number|Firmware state"
# slot Number: 0 已经是Hotspare
Slot Number: 0
Firmware state: Hotspare, Spun Up
Slot Number: 1
Firmware state: Online, Spun Up
Slot Number: 2
Firmware state: Online, Spun Up
Slot Number: 3
Firmware state: Online, Spun Up
Slot Number: 4
Firmware state: Online, Spun Up
Slot Number: 5
Firmware state: Online, Spun Up
Slot Number: 6
Firmware state: Online, Spun Up
Slot Number: 7
Firmware state: Online, Spun Up
- 查看硬盘重建进程
# 下例中 Enclosure Device ID是252,盘的Slot Number是7
MegaCli64 -PDRbld -ShowProg -PhysDrv [252:7] -aALL
6 常用命令
6.1 硬盘重建命令
| 操作目的 | 命令示例 | 说明 |
|---|---|---|
| 开始重建 | MegaCli64 -PDRbld -Start -PhysDrv [EnclosureID:SlotID] -a0 | 在指定的物理磁盘上开始重建过程。 |
| 查看重建进度 | MegaCli64 -PDRbld -ShowProg -PhysDrv [EnclosureID:SlotID] -a0 | 显示指定物理磁盘的重建进度。 |
| 查看所有逻辑磁盘信息 | MegaCli64 -LDInfo -Lall -aALL | 查看所有逻辑磁盘(RAID阵列)的信息,包括状态(如Optimal, Degraded)。 |
| 查看所有物理磁盘信息 | MegaCli64 -PDList -aALL | 列出所有物理磁盘的详细信息,包括状态(如Online, Failed, Unconfigured)。 |
| 检查缺失的磁盘 | MegaCli64 -PDGetMissing -a0 | 查看阵列中哪些硬盘被标记为缺失或掉线。 |
| 将磁盘状态从Bad改为Good | MegaCli64 -PDMakeGood -PhysDrv [EnclosureID:SlotID] -a0 | 将处于“Unconfigured(bad)”状态的磁盘标记为“Unconfigured(good)”。 |
| 清除外部配置 | MegaCli64 -CfgForeign -Clear -a0 | 清除控制器上的外部配置信息,常用于更换硬盘或控制器后。 |
| 导入外部配置 | MegaCli64 -CfgForeign -Import -a0 | 导入检测到的外部配置。 |
6.2 查看信息命令
-
查看所有逻辑磁盘(RAID阵列)信息:MegaCli64 -LDInfo -Lall -aALL
-
查看所有物理磁盘信息:MegaCli64 -PDList -aALL
-
查看物理磁盘错误信息:MegaCli64 -PDList -aALL |grep -iE “error|fail|Failure”
-
查看适配器(RAID卡)信息:MegaCli64 -AdpAllInfo -aALL
更多推荐



所有评论(0)