MegaCli这个命令可以用来监控raid状态、磁盘状况等,最近上了一批ubuntu系统跑openstack,问题是MegaCli在官网上只有rpm格式的包,没有deb的包,但是还是有办法解决的,rpm包也是可以在debian&&ubuntu上安装的。
可以到下列连接下载最新的zip文件包:
http://www.lsi.com/Search/Pages/results.aspx?k=MegaCLI&r=productfacet%3D%22AQxNZWdhUkFJRCBTQVMMcHJvZHVjdGZhY2V0AQJeIgIiJA%3D%3D%22%20os%3D%22AQVMaW51eAJvcwEBXgEk%22
我下载的是8.00.48_Linux_MegaCLI.zip
预先安装需要的其他包:
复制代码代码如下:
apt-get -y install rpm2cpio libsysfs2 libsysfs-dev unzip
安装完成后执行如下命令:
复制代码代码如下:
cd /lib/x86_64-linux-gnu/
ln -s libsysfs.so.2.0.1 libsysfs.so.2.0.2
进入 8.00.48_Linux_MegaCLI.zip包所在的目录,执行如下命令:
复制代码代码如下:
unzip 8.00.48_Linux_MegaCLI.zip
unzip MegaCliLin.zip
rpm2cpio Lib_Utils-1.00-09.noarch.rpm | cpio -idmv
rpm2cpio MegaCli-8.00.48-1.i386.rpm | cpio -idmv
cp opt/MegaRAID/MegaCli/MegaCli64 /sbin/
cp opt/MegaRAID/MegaCli/MegaCli /sbin/
MegaCli不但能查询raid的状态,还能设置raid的状态,所以还是由管理员掌握比较好,这样就安装完毕了。
下面来列举几个常用的用法:
1.查看所有物理磁盘信息
复制代码代码如下:
MegaCli -PDList -aALL
Adapter #0
Enclosure Number: 1
Slot Number: 5
Device Id: 5
Sequence Number: 2
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
Raw Size: 140014MB [0x11177328 Sectors]
Non Coerced Size: 139502MB [0x11077328 Sectors]
Coerced Size: 139392MB [0x11040000 Sectors]
Firmware state: Hotspare
SAS Address(0): 0x5000c50008e5cca9
SAS Address(1): 0x0
Inquiry Data: SEAGATE ST3146855SS S5273LN4Y1X0
.....
2、查看磁盘缓存策略
复制代码代码如下:
MegaCli -LDGetProp -Cache -L0 -a0
Adapter 0-VD 0: Cache Policy:WriteBack, ReadAheadNone, Direct
or
复制代码代码如下:
MegaCli -LDGetProp -Cache -L1 -a0
Adapter 0-VD 1: Cache Policy:WriteBack, ReadAheadNone, Direct
or
复制代码代码如下:
MegaCli -LDGetProp -Cache -LALL -a0
Adapter 0-VD 0: Cache Policy:WriteBack, ReadAheadNone, Direct
Adapter 0-VD 1: Cache Policy:WriteBack, ReadAheadNone, Direct
or
复制代码代码如下:
MegaCli -LDGetProp -Cache -LALL -aALL
Adapter 0-VD 0: Cache Policy:WriteBack, ReadAheadNone, Direct
Adapter 0-VD 1: Cache Policy:WriteBack, ReadAheadNone, Direct
or
复制代码代码如下:
MegaCli -LDGetProp -DskCache -LALL -aALL
Adapter 0-VD 0: Disk Write Cache : Disk's Default
Adapter 0-VD 1: Disk Write Cache : Disk's Default
3、设置磁盘缓存策略
缓存策略解释:
WT (Write through
WB (Write back)
NORA (No read ahead)
RA (Read ahead)
ADRA (Adaptive read ahead)
Cached
Direct
例子:
复制代码代码如下:
MegaCli -LDSetProp WT|WB|NORA|RA|ADRA -L0 -a0
or
复制代码代码如下:
MegaCli -LDSetProp -Cached|-Direct -L0 -a0
or
复制代码代码如下:
enable / disable disk cache
MegaCli -LDSetProp -EnDskCache|-DisDskCache -L0 -a0
4、创建/删除 阵列
4.1 创建一个 raid5 阵列,由物理盘 2,3,4 构成,该阵列的热备盘是物理盘 5
复制代码代码如下:
MegaCli -CfgLdAdd -r5 [1:2,1:3,1:4] WB Direct -Hsp[1:5] -a0
4.2 创建阵列,不指定热备
复制代码代码如下:
MegaCli -CfgLdAdd -r5 [1:2,1:3,1:4] WB Direct -a0
4.3 删除阵列
复制代码代码如下:
MegaCli -CfgLdDel -L1 -a0
4.4 在线添加磁盘
MegaCli -LDRecon -Start -r5 -Add -PhysDrv[1:4] -L1 -a0
意思是,重建逻辑磁盘组1,raid级别是5,添加物理磁盘号:1:4。重建完后,新添加的物理磁盘会自动处于重建(同步)状态,这个时候 fdisk -l是看不到阵列的空间变大的,只有在系统重启后才能看见。如果该阵列下只有一个分区的话,那么该分区也直接增大,如果有多个分区,不知道该怎么分配新增空间了?有空试试看,呵呵
5、查看阵列初始化信息
5.1 阵列创建完后,会有一个初始化同步块的过程,可以看看其进度。
复制代码代码如下:
MegaCli -LDInit -ShowProg -LALL -aALL
或者以动态可视化文字界面显示
复制代码代码如下:
MegaCli -LDInit -ProgDsply -LALL -aALL
5.2 查看阵列后台初始化进度
复制代码代码如下:
MegaCli -LDBI -ShowProg -LALL -aALL
或者以动态可视化文字界面显示
复制代码代码如下:
MegaCli -LDBI -ProgDsply -LALL -aALL
6、创建全局热备
指定第 5 块盘作为全局热备
复制代码代码如下:
MegaCli -PDHSP -Set [-EnclAffinity] [-nonRevertible] -PhysDrv[1:5] -a0
也可以指定为某个阵列的专用热备
复制代码代码如下:
MegaCli -PDHSP -Set [-Dedicated [-Array1]] [-EnclAffinity] [-nonRevertible] -PhysDrv[1:5] -a0
7、删除全局热备
复制代码代码如下:
MegaCli -PDHSP -Rmv -PhysDrv[1:5] -a0
8、将某块物理盘下线/上线
复制代码代码如下:
MegaCli -PDOffline -PhysDrv [1:4] -a0
MegaCli -PDOnline -PhysDrv [1:4] -a0
9、查看物理磁盘重建进度
复制代码代码如下:
MegaCli -PDRbld -ShowProg -PhysDrv [1:5] -a0
或者以动态可视化文字界面显示
复制代码代码如下:
MegaCli -PDRbld -ProgDsply -PhysDrv [1:5] -a0