MegaCli 是一款管理维护硬件RAID的软件,它可以查看当前 raid 卡的所有信息,包括 raid卡型号,raid阵列类型,raid 上物理磁盘的状态。通常我们很难确定当前物理硬盘的状态,一般通过机房人员巡检来完成,而MegaCli就可以在软件层面来实现硬盘状态的监控。例如通过 MegaCli 的 "Media Error Count" 和 "Other Error Count"这两个数值来确定阵列中磁盘是否有问题。当Medai Error Count 不等于0时,表示磁盘可能有坏道,数值越大就越危险。Other Error Count 表示磁盘可能存在松动。
rpm -ivh MegaCli-8.07.14-1.noarch.rpm
cd /opt/MegaRAID/MegaCli/
ln -s megacli MegaCli64
软件会被安装在 /opt/MegaRAID/MegaCli 目录,运行命令 /opt/MegaRAID/MegaCli/MegaCli64 。
常用命令
megacli -AdpAllInfo -aALL [查所有适配器信息]
megacli -cfgDsply -aALL [显示Raid卡型号,Raid设置,Disk相关信息]
megacli -LDInfo -Lall -aALL [查raid状态]
megacli -AdpBbuCmd -aAll [查看电池信息]
megacli -FwTermLog -Dsply -aALL [查看raid卡日志]
megacli -EncInfo -aALL [查看服务器硬盘卡槽信息]
megacli -PDList -aALL [查所有物理硬盘信息]
megacli -AdpBbuCmd -aALL [查看电池信息]
Raid 管理
RAID Level对应关系
Raid信息 Raid级别
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0 RAID 1
RAID Level : Primary-0, Secondary-0, RAID Level Qualifier-0 RAID 0
RAID Level : Primary-5, Secondary-0, RAID Level Qualifier-3 RAID 5
RAID Level : Primary-1, Secondary-3, RAID Level Qualifier-0 RAID 10
创建一个 raid5 阵列,由物理盘 2,3,4 构成,该阵列的热备盘是物理盘 5
/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r5 [1:2,1:3,1:4] WB Direct -Hsp[1:5] -a0
创建阵列,不指定热备
/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r5 [1:2,1:3,1:4] WB Direct -a0
查看RAID阵列中掉线的盘
/opt/MegaRAID/MegaCli/MegaCli64 -pdgetmissing -a0
删除阵列
/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdDel -L1 -a0
替换坏掉的模块
/opt/MegaRAID/MegaCli/MegaCli64 -pdreplacemissing -physdrv[12:10] -Array5 -row0 -a0
在线添加磁盘
/opt/MegaRAID/MegaCli/MegaCli64 -LDRecon -Start -r5 -Add -PhysDrv[1:4] -L1 -a0
阵列创建完后,会有一个初始化同步块的过程,可以看看其进度。
/opt/MegaRAID/MegaCli/MegaCli64 -LDInit -ShowProg -LALL -aALL
或者以动态可视化文字界面显示
/opt/MegaRAID/MegaCli/MegaCli64 -LDInit -ProgDsply -LALL -aALL
查看阵列后台初始化进度
/opt/MegaRAID/MegaCli/MegaCli64 -LDBI -ShowProg -LALL -aALL
或者以动态可视化文字界面显示
/opt/MegaRAID/MegaCli/MegaCli64 -LDBI -ProgDsply -LALL -aALL
指定第 5 块盘作为全局热备
/opt/MegaRAID/MegaCli/MegaCli64 -PDHSP -Set [-EnclAffinity] [-nonRevertible] -PhysDrv[1:5] -a0
指定为某个阵列的专用热备
/opt/MegaRAID/MegaCli/MegaCli64 -PDHSP -Set [-Dedicated [-Array1]] [-EnclAffinity] [-nonRevertible] -PhysDrv[1:5] -a0
删除全局热备
/opt/MegaRAID/MegaCli/MegaCli64 -PDHSP -Rmv -PhysDrv[1:5] -a0
将某块物理盘下线/上线
/opt/MegaRAID/MegaCli/MegaCli64 -PDOffline -PhysDrv [1:4] -a0
/opt/MegaRAID/MegaCli/MegaCli64 -PDOnline -PhysDrv [1:4] -a0
手动开启 rebuid
/opt/MegaRAID/MegaCli/MegaCli64 -pdrbld -start -physdrv[12:10] -a0
关闭 rebuild
/opt/MegaRAID/MegaCli/MegaCli64 -AdpAutoRbld -Dsbl -a0
设置rebuild的速率
/opt/MegaRAID/MegaCli/MegaCli64 -AdpSetProp RebuildRate -30 -a0
查看物理磁盘重建进度 Rebuild
/opt/MegaRAID/MegaCli/MegaCli64 -PDRbld -ShowProg -PhysDrv [1:5] -a0
或者以动态可视化文字界面显示
/opt/MegaRAID/MegaCli/MegaCli64 -PDRbld -ProgDsply -PhysDrv [1:5] -a0
查看 ES
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll -NoLog | grep -Ei "(enclosure|slot)"
查看该服务器的硬盘数量及大小
[root@localhost MegaCli]# ./MegaCli64 -PDList -aALL | grep "Non Coerced Size"
Non Coerced Size: 1.818 TB [0xe8d088b0 Sectors]
Non Coerced Size: 1.818 TB [0xe8d088b0 Sectors]
Non Coerced Size: 1.818 TB [0xe8d088b0 Sectors]
Non Coerced Size: 1.818 TB [0xe8d088b0 Sectors]
以上就是megacli的常用命令,实际中可以使用megacli来监控物理硬盘状态。megacli的使用命令有很多,感兴趣的可以详细参考文档。
其他硬件查询命令
#查看物理CPU个数
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
#查看CPU型号
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
dmidecode -s processor-version
查看CPU物理核数
cat /proc/cpuinfo | grep "cores" | uniq
查看CPU逻辑核数
cat /proc/cpuinfo | grep "processor" | wc -l
lshw -C cpu
lshw -C memory
lshw -C disk
smartctl -a /dev/sdb
#查看阵列卡信息
lspci -v | grep -i raid
lshw -C storage -short
#查询设备SN
dmidecode -t system | grep 'Serial Number' | awk -F : '{print$2}'