Centos(Linux)操作系统下使用MegaCli等工具查看Raid磁盘阵列状态

admin2012-11-22linux85

<p>

    以下是组建服务器raid时查到的资料,做下笔记,没兴趣的朋友请无视。

Linux下查看软、硬raid信息的方法。

软件raid:只能通过Linux系统本身来查看

cat /proc/mdstat

可以看到raid级别,状态等信息。


硬件raid: 最佳的办法是通过已安装的raid厂商的管理工具来查看,有cmdline,也有图形界面。如Adaptec公司的硬件卡就可以通过下面的命令进行查看:


# /usr/dpt/raidutil -L all


可以看到非常详细的信息。


当然更多情况是没有安装相应的管理工具,只能依靠Linux本身的话一般我知道的是两种方式:


# dmesg |grep -i raid


# cat /proc/scsi/scsi


显示的信息差不多,raid的厂商,型号,级别,但无法查看各块硬盘的信息。


另外经过实际测试,Dell的服务器可以通过命令来显示,而HP、IBM等的服务器通过上面的命令是显示不出的。只能够通过装硬件厂商的管理工具来查看DELL的BMC可以查看


cat /proc/scsi/scsi


可以看到是SCSI上的设备。一般情况可以看到RAID级别。lspci可以看到RAID卡的型号。


==========================================================


rpm -ivh MegaCli-1.01.09-0.i386.rpm


命令使用:

MegaCli -LDInfo -Lall -aALL 查raid级别

MegaCli -AdpAllInfo -aALL 查raid卡信息

MegaCli -PDList -aALL 查看硬盘信息

MegaCli -AdpBbuCmd -aAll 查看电池信息

MegaCli -FwTermLog -Dsply -aALL 查看raid卡日志


MegaCli常用参数介绍

MegaCli -adpCount 【显示适配器个数】

MegaCli -AdpGetTime –aALL 【显示适配器时间】

MegaCli -AdpAllInfo -aAll 【显示所有适配器信息】

MegaCli -LDInfo -LALL -aAll 【显示所有逻辑磁盘组信息】

MegaCli -PDList -aAll 【显示所有的物理信息】

MegaCli -AdpBbuCmd -GetBbuStatus -aALL |grep ‘Charger Status’ 【查看充电状态】

MegaCli -AdpBbuCmd -GetBbuStatus -aALL【显示BBU状态信息】

MegaCli -AdpBbuCmd -GetBbuCapacityInfo -aALL【显示BBU容量信息】

MegaCli -AdpBbuCmd -GetBbuDesignInfo -aALL 【显示BBU设计参数】

MegaCli -AdpBbuCmd -GetBbuProperties -aALL 【显示当前BBU属性】

MegaCli -cfgdsply -aALL 【显示Raid卡型号,Raid设置,Disk相关信息】


磁带状态的变化,从拔盘,到插盘的过程中。

Device |Normal|Damage|Rebuild|Normal

Virtual Drive |Optimal|Degraded|Degraded|Optimal

Physical Drive |Online|Failed –&gt; Unconfigured|Rebuild|Online


============================================


MegaCli 常见用法

2008-10-24 09:32

1、准备


新版本的 MegaCli-1.01.24-0.i386.rpm 会把程序安装在/opt下,可以自定义安装目录,例如:


rpm –relocate /opt/=/usr/sbin/ -i MegaCli-1.01.24-0.i386.rpm


即把安装目录 /opt 替换成 /usr/sbin。

查看所有物理磁盘信息


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): 0×0

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


下载地址: <a href="http://gcolpart.evolix.net/debian/misc/dell/MegaCli-1.01.24-0.i386.rpm" target="_blank">http://gcolpart.evolix.net/debian/misc/dell/MegaCli-1.01.24-0.i386.rpm</a>=============================================


Dell 各系列的机器,只要是 PERC 的RAID控制器,都可以用 MegaRC 这个命令行工具来检测


MegaRC for Windows<a href="http://www.lsi.com/files/support/rsa/utilities/megaconf/ut_win_megarc_1.10.zip" target="_blank">http://www.lsi.com/files/support/rsa/utilities/megaconf/ut_win_megarc_1.10.zip</a>解压缩后,就是 megarc.exe


MegaRC for Linux<a href="http://www.lsi.com/files/support/rsa/utilities/megaconf/ut_linux_megarc_1.11.zip" target="_blank">http://www.lsi.com/files/support/rsa/utilities/megaconf/ut_linux_megarc_1.11.zip</a>用 unzip 解压缩出来后,再 chmod 700 megarc*


Windows 和 Linux 下的参数都一样:


megarc -dispcfg -a0

./megarc -dispcfg -a0


输出结果如下:


Logical Drive : 0( Adapter: 0 ): Status: OPTIMAL

—————————————————

SpanDepth :01 RaidLevel: 5 RdAhead : Adaptive Cache

StripSz :064KB Stripes : 4 WrPolicy: WriteBack


Logical Drive 0 : SpanLevel_0 Disks

Chnl Target StartBlock Blocks Physical Target St

—- —— ———- —— ——————

0 00 0×00000000 0x0887c000 ONLINE

0 01 0×00000000 0x0887c000 ONLINE

0 02 0×00000000 0x0887c000 ONLINE

0 03 0×00000000 0x0887c000 ONLINE


如果想要通过图形界面来查看,必须装那个大家伙了: Dell OpenManage Server Administrator

Linux下有90多M,Win下的有100多M。


Dell 在 Linux 下还有一个更好的工具:raidmon (for win 的目前还没发现)


目前支持 IDE / EIDE, SCSI RAID: LSI Logic CERC ATA 100, PERC 4/DC, PERC 4/Di, PERC 4/SC, LSI Logic (formerly AMI) PERC3/DC, PERC3/DCL, PERC3/QC, PERC3/SC


perc-cerc-apps-6.03-A06.tar.gz<a href="http://support.dell.com/support/downloads/download.aspx?c=us&l=en&s=gen&releaseid=R71524&formatcnt=2&fileid=92846" target="_blank">http://support.dell.com/support/downloads/download.aspx?c=us&amp;l=en&amp;s=gen&amp;releaseid=R71524&amp;formatcnt=2&amp;fileid=92846</a>解包下来后,有个 Megamon-4.0-0a.i386.rpm


安装结束后 /etc/init.d/raidmon start


# tail -f /var/log/megaserv.log 就可以看到检测报告。有问题的时候,此log中会有体现。


还可以编辑 /etc/megamon.conf ,将管理员的信箱加在文件末尾,这样检测到错误的时候,会自动发送邮件。

(mail.35.cn 好象当成垃圾邮件过滤掉了)


因此建议 megarc(手工) 配合 raidmon(自动) 是个比较好的解决方案。


Dell 1950 的 PERC 5/i SAS RAID 控制器用这个命令行工具:


MegaCLI for Linux<a href="http://www.lsi.com/support/downloads/megaraid/miscellaneous/Linux_MegaCLI_1.01.24.zip" target="_blank">http://www.lsi.com/support/downloads/megaraid/miscellaneous/Linux_MegaCLI_1.01.24.zip</a>MegaCLI for Windows<a href="http://www.lsi.com/support/downloads/megaraid/miscellaneous/Windows_MegaCLI_1.01.25.zip" target="_blank">http://www.lsi.com/support/downloads/megaraid/miscellaneous/Windows_MegaCLI_1.01.25.zip</a># unzip Linux_MegaCLI_1.01.24.zip

# unzip MegaCliLin.zip

# rpm -ivh MegaCli-1.01.24-0.i386.rpm


# /opt/MegaCli -CfgDsply -aALL


输出如下:


=======================================================

Adapter: 0

Product Name: PERC 5/i Integrated

Memory: 256MB

BBU: Present

Serial No: 12345

=======================================================

RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0

Size:285568MB

State: Optimal


Physical Disk: 0

Media Error Count: 0

Other Error Count: 0

Firmware state: Online


Physical Disk: 1

Media Error Count: 0

Other Error Count: 0

Firmware state: Online

</p>