使用MegaCLI管理PC服务器本地磁盘阵列

写这篇文章的原因是在部署Oracle Exadata x4-2的过程中有部分和MegaCli64命令相关的内容,之后在安装部署IBM X3850 X5的时候,发现它和Exadata中SUN服务器使用的是相同的阵列卡,HP,DELL的PC服务器等大都也使用LSI的阵列卡,该类型的阵列卡通过MegaCli工具可以在操作系统层面对磁盘阵列进行非常方便的管理。

从IBM X3850 X5来说,当RAID磁盘组中的某个磁盘的磁盘被替换掉,通常需要重启服务器进入WEBBIOS才能够看到新磁盘Rebuild的进度,有了MegaCli工具能够在不停止业务的情况下,在线的观察新磁盘是否Rebuild完成;通过MegaCli还可以检查RAID组的状态,检查磁盘的状态,给RAID组增加、删除磁盘等等,这篇文章非常肤浅的介绍了MegaCli工具,网上有非常详尽的介绍可以深入研究。

1.环境介绍。

[root@hisdb02 MegaCli]# dmidecode -s system-product-name
System x3850 X5 -[71437Y5]-

服务器是IBM x3850 X5。

[root@hisdb02 MegaCli]# lspci | grep RAID
09:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 2208 [Thunderbolt] (rev 03)

[root@hisdb02 MegaCli]# dmesg | grep "RAID"
scsi0 : LSI SAS based MegaRAID driver
scsi 0:0:0:0: Direct-Access    IBM      ServeRAID M5016  3.27 PQ: 0 ANSI: 5
scsi 0:2:0:0: Direct-Access    IBM      ServeRAID M5016  3.27 PQ: 0 ANSI: 5
md: Autodetecting RAID arrays.

2.安装MegaCli工具。

    MegaCli工具在系统光盘中没有自带,可以从服务器厂家的网站上下载,也可以直接到LSI的网站上下载最新的MegaCli工具。下面是LSI网站下载MegaCli工具的地址:http://www.lsi.com/support/pages/download-results.aspx?keyword=MegaCli,当前最新版本是:8.07.14。

执行下面的步骤安装MegaCli工具:

[root@hisdb02 Server]# cd /opt
[root@hisdb02 opt]# ls
8.07.14_MegaCLI.zip
[root@hisdb02 opt]# unzip 8.07.14_MegaCLI.zip
Archive:  8.07.14_MegaCLI.zip
  inflating: 8.07.14_MegaCLI.txt   
  inflating: DOS/MegaCLI.exe       
 extracting: FreeBSD/MegaCLI.zip   
 extracting: FreeBSD/MegaCli64.zip 
  inflating: Linux/MegaCli-8.07.14-1.noarch.rpm 
  inflating: Solaris/MegaCli.pkg   
  inflating: Windows/MegaCli.exe   
  inflating: Windows/MegaCli64.exe 
[root@hisdb02 opt]# ls
8.07.14_MegaCLI.txt  8.07.14_MegaCLI.zip  DOS  FreeBSD  Linux  Solaris  Windows
[root@hisdb02 opt]# cd Linux/
[root@hisdb02 Linux]# ls
MegaCli-8.07.14-1.noarch.rpm
[root@hisdb02 Linux]# rpm -ivh MegaCli-8.07.14-1.noarch.rpm
Preparing...                ########################################### [100%]
  1:MegaCli                ########################################### [100%]
[root@hisdb02 opt]# ls
8.07.14_MegaCLI.txt  8.07.14_MegaCLI.zip  DOS  FreeBSD  Linux  MegaRAID  Solaris  Windows
[root@hisdb02 opt]# cd MegaRAID/MegaCli
[root@hisdb02 MegaCli]# ls
install.log  libstorelibir-2.so  libstorelibir-2.so.14.07-0  MegaCli64

MegaCli64就是我们要用到的MegaCli命令,64表示是64位的工具。

3.常用命令。

1).查看RAID级别:
[root@hisdb02 MegaCli]# ./MegaCli64 -LdInfo -lAll -a0
                                   
Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name                :
RAID Level          : Primary-1, Secondary-0, RAID Level Qualifier-0    <<<< RAID级别是RAID10。
Size                : 557.861 GB
Sector Size        : 512
Is VD emulated      : No
Mirror Data        : 557.861 GB
State              : Optimal    <<<< 这是正常的状态。
Strip Size          : 128 KB
Number Of Drives    : 2    <<<< RAID组包含2块磁盘。
Span Depth          : 1    <<<< 深度是1,说明实际只是RAID 1。
Default Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy  : Disabled
Encryption Type    : None
PI type: No PI

Is VD Cached: No

这条命令查看的也是逻辑(虚拟)磁盘的状态,执行./MegaCli64 -LDInfo -LAll -aAll命令可以查看所有适配器的虚拟磁盘信息。

2).查看RAID控制器个数:
[root@hisdb02 MegaCli]#  ./MegaCli64 -adpCount
                                   
Controller Count: 1.

只有1个控制器。执行./MegaCli64 -AdpAllInfo -aAll命令可以查看所有适配器的详细信息。