一、MegaCLI
这是一个 LSI 的第三方工具,需要单独安装到 Linux 上。
平时在服务器里,以免数据丢失而选择将使用磁盘阵列(RAID),投入了阵列卡系统后,阵列化了的磁盘在操作系统中是看不到对应的磁盘信息的。因为所有物理磁盘通过阵列卡阵列化后,会从逻辑磁盘组成虚拟磁盘,平时用操作系统 fdisk 等指令识别出硬盘地址、长度、类型等信息,都是阵列卡提供的虚拟磁盘的信息。
为了能在操作系统中方便的查看硬盘的状态、信息(例如序列号),一般服务器的 BIOS 会提供 RAID 阵列 Web 操作界面,但这需要重启机器进入,这在 7/24 工作状态中的服务器是不能随便就重启的,这时候就需要一种能在操作系统中查看到每块硬盘状态、信息的方法。
因此,MegaCLI 就是提供这种方便一种关于 CLI 的第三方工具。
记录一个快速下载通道:https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/8-07-14_MegaCLI.zip
1、解压、安装
CentOS
1 2 3 |
unzip 8-07-14_MegaCLI.zip cd Linux sudo rpm -ivh MegaCli-8.07.14-1.noarch.rpm # 安装命令 |
很明显,解压后这是一个 rpm 文件,RedHat 相关衍生系统用 RPM,而 Debian 相关衍生系统用 DEB,所以在 CentOS 上安装没有任何问题,但官网上没有 DEB 安装包,而要在 Ubuntu 系统上安装就需要用 Alien 软件先吧 RPM 安装包转换成 DEB 安装包。
该软件会自动安装到 /opt 目录下,由于并没有自动的建立软链接到 /usr/bin ,所以不能直接使用 MegaCLI 命令,这个时候可以选择不加软链接以免影响到 /usr/bin 的正常,直接到 /opt 相应的目录下,直接执行;也可以建立一个软链接到 /usr/bin 目录下,让全局使用:
1 2 3 4 |
sudo ln -s /opt/MegaRAID/MegaCli/MegaCli64 /usr/bin/ # 或者不创建连接直接使用 cd /opt/MegaRAID/MegaCli sudo ./MegaCli64 |
Ubuntu
要是我的机器系统是 Ubuntu 系统怎么办呢?这时候就需要第三方软件的方法,这里记录利用 rpm2cpio 来安装 MegaCLI 方法
1 2 3 4 5 6 7 8 |
sudo apt-get -y install rpm2cpio libsysfs2 libsysfs-dev unzip 8-07-14_MegaCLI.zip cd Linux sudo rpm2cpio MegaCli-8.07.14-1.noarch.rpm | cpio -idmv # 安装命令 sudo ln -s ./opt/MegaRAID/MegaCli/MegaCli64 /usr/bin/ # 或者不创建连接直接使用,路径要注意,这里使用rpm2cpio会直接安装到当前目录下 cd ./opt/MegaRAID/MegaCli sudo ./MegaCli64 |
2、使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
MegaCli64 -LDInfo -Lall -aALL //【查raid级别】 MegaCli64 -AdpAllInfo -aALL //【查raid卡信息】 MegaCli64 -PDList -aALL //【查看硬盘信息】 MegaCli64 -AdpBbuCmd -aAll //【查看电池信息】 MegaCli64 -FwTermLog -Dsply -aALL //【查看raid卡日志】 MegaCli64 -adpCount //【显示适配器个数】 MegaCli64 -AdpGetTime –aALL //【显示适配器时间】 MegaCli64 -AdpAllInfo -aAll //【显示所有适配器信息】 MegaCli64 -LDInfo -LALL -aAll //【显示所有逻辑磁盘组信息】 MegaCli64 -PDList -aAll //【显示所有的物理信息】 MegaCli64 -AdpBbuCmd -GetBbuStatus -aALL |grep ‘Charger Status’ //【查看充电状态】 MegaCli64 -AdpBbuCmd -GetBbuStatus -aALL //【显示BBU状态信息】 MegaCli64 -AdpBbuCmd -GetBbuCapacityInfo -aALL //【显示BBU容量信息】 MegaCli64 -AdpBbuCmd -GetBbuDesignInfo -aALL //【显示BBU设计参数】 MegaCli64 -AdpBbuCmd -GetBbuProperties -aALL //【显示当前BBU属性】 MegaCli64 -cfgdsply -aALL //【显示Raid卡型号,Raid设置,Disk相关信息】 MegaCli64 -cfgdsply -aALL | grep 'Inquiry Data' //【显示所有物理磁盘的序列号信息】 ============================================================== MegaCli64 -PDlist -aALL -Nolog |grep -Ei “(enclosure|slot)” //【查硬盘所在盘柜号和位置号】 MegaCli64 -cfgdsply -aALL|grep -A8 “Virtual Drive” //【卷组状态信息】 MegaCli64 -PDlist -aALL|grep -i ‘Firmware state’ //【物理盘状态】 MegaCli64 -pdrbld -showprog -physdrv\[20:6\] -aALL //【重建大约所需时间】 MegaCli64 -pdrbld -progdsply -physdrv\[20:6\] -aALL //【重建进度】 |