常用PC服务器LSI阵列卡配置

通常,我们使用的DELL/HP/IBM三家的机架式PC级服务器阵列卡是从LSI的卡OEM出来的,DELL和IBM两家的阵列卡原生程度较高,没有做太多封装,可以用原厂提供的阵列卡管理工具进行监控;而HP的阵列卡一般都做过封装了,因此需要使用自身特有的管理工具来监控。

本文以几种常用的阵列卡为例,展示其阵列卡及硬盘监控的方法。
DELL SAS 6/iR卡,全称LSI Logic SAS1068E,只支持RAID 0, RAID 1, RAID 1+0, 不支持RAID 5等高级RAID特性,不支持阵列卡电池。
DELL PERC PERC H700卡,全称LSI Logic MegaRAID SAS 2108,支持各种RAID级别及高级特性,可选配阵列卡电池。
DELL PERC H310 Mini卡 ,全称LSI Logic / Symbios Logic MegaRAID SAS 2008,支持常见RAID级别,不支持高级RAID特性,不支持阵列卡电池。
IBM ServeRAID M5014 SAS/SATA Controller卡,全称LSI Logic / Symbios Logic MegaRAID SAS 2108,支持各种RAID级别及高级特性,可选配阵列卡电池。
IBM ServeRAID-MR10i SAS/SATA Controller卡,全称LSI Logic / Symbios Logic MegaRAID SAS 1078,支持常见RAID级别,不支持高级RAID特性,可选配阵列卡电池,这个卡其实和DELL的PERC 6/i卡是一样的,都是基于LSI MegaRAID SAS 1078基础上OEM出来的。

上面是几种常见的阵列卡型号,更多的可以自行查看官方的技术手册。

一般地,支持RAID 5的卡,我们称其为阵列卡,都可以使用LSI官方提供的MegaCli工具来管理,而不支持RAID 5的卡,我们称其为SAS卡,使用lsiutil工具来管理。HP的服务器使用其特有的hpacucli工具来管理。

1、MegaCli工具
a) MegaCli -adpallinfo -aall — 查看阵列卡信息
-a 参数指定阵列卡的编号,一般服务器上只会配一个阵列卡,因此我们通常指定为 -a0(阵列卡适配器编号,从0开始) 即可,主要关注下面几个信息:

状态值对应含义
Product Name : PERC H710 Mini 阵列卡名称
FW Package Build: 21.2.0-0007 阵列卡firmware版本号,版本如果太低,建议升级以提高稳定性及性能
BBU : Present 是否有配BBU电池

b) MegaCli -cfgdsply -aall — 查看阵列配置

状态值对应含义
Memory: 512MB 阵列卡cache大小,2的N次方,如果不是,说明阵列卡有异常
Number of dedicated Hotspares: 0 阵列是否有专用/独享热备盘(如果有多个逻辑磁盘组/disk group,则可以指定一个硬盘用于全局热备,那么该disk group上的专用热备盘数量为0也不用担心),除了RAID 1/RAID 1+0一般不指定热备盘以外,其他几个阵列级别建议都要指定热备盘
State : Optimal 阵列状态,如果不是 Optimal 就要关注了
Current Cache Policy: WriteBack, ReadAheadNone, Direct, Write Cache OK if Bad BBU 阵列读写cache策略,建议写策略设置为FORCE WB,最起码是WB,预读策略可以关掉,意义不大,几乎没影响
Disk Cache Policy : Disabled 硬盘cache策略,建议关闭,防止意外时数据丢失
Current Power Savings Policy: None 节电策略,建议关闭
Media Error Count: 0 三个错误计数器,任何一个值大于100就要立刻引起关注,尤其要关注起增长速度。1T以上SATA盘,计数值不够精确,可能所有盘上该值都会大于0,一般重启就会重新清0,如果重启后还是大于0的话,赶紧报修吧。SAS盘的计数值则比较准确。
Other Error Count: 0
Predictive Failure Count: 0
Firmware state: Online, Spun Up 查看硬盘状态,如果是unconfigured表示该硬盘未分配加入到阵列中;如果是 unconfigured(bad)表示该盘不但是未分配,而且还坏了,正是“出师未捷身先死”;如果是failed,表示该盘故障无法识别;如果是rebuilding,表示该盘正在重建数据

c) MegaCli -adpbbucmd -aall — 查看阵列卡电池信息

状态值对应含义
Temperature: 39 C 查看电池温度,如果相比上一次查看高出不少,就需要关注了,或者可以根据经验设置一个基线值
Battery State: Optimal 电池状态,如果不是为Optimal,就需要关注了
Charger Status: Complete 电池充放电状态
isSOHGood: Yes 电池状态,如果不是为Yes,需要关注
Relative State of Charge: 93 % 当前电量,当电量低于15%,或者电池坏掉时,默认都会将写策略从WB改成WT,除非设定为FORCE WB策略
Max Error = 0 % 电池是否有错误信息
Next Learn time: Tue Oct 14 22:06:50 2014 电池充放电时间,注意这是美国时间。另外,新的阵列卡电池很多改成电容式的了,也就不需要重复充放电了

d) MegaCli -fwtermlog -dsply -aALL 查看阵列卡日志,关注里面的error/fail/warn等多个关键字

2、lsiutil工具
lsiutil有交互和非交互两种方式,作为监控,我们肯定选择非交互模式。想要使用交互模式的,可以根据非交互模式自行练习。
a) lsiutil -p 1 -a 20,12,0,0 — 查看硬盘计数器
Invalid DWord Count 2,563 — 任何一个值大于0,都需要引起关注
Running Disparity Error Count 2,366
Loss of DWord Synch Count 0
Phy Reset Problem Count 0

b) lsiutil -p 1 -a 21,1,0,0,0 — 查看逻辑卷状态

状态值对应含义
Volume State: optimal, enabled 逻辑卷健康状况
Volume draws from Hot Spare Pools: 0 是否有热备
Volume Size 139392 MB, 2 Members 由几块硬盘组成
Primary is PhysDisk 1 (Bus 0 Target 9) 物理硬盘1
Secondary is PhysDisk 0 (Bus 0 Target 3) 物理硬盘0

c) lsiutil -p 1 -a 21,2,0,0,0 — 查看物理硬盘状态

状态值对应含义
PhysDisk 0 is Bus 0 Target 3 编号
PhysDisk State: online 状态
Error Count 13, Last Error: Command = 28h, Key = 3, ASC/ASCQ = 11h/00h 错误计数器,大于0的话,就需要引起关注

3、hpacucli工具
hpacucli工具查看阵列、硬盘、电池信息,其实就只要一条指令:
hpacucli ctrl all show config detail — 查看阵列详细信息、配置


状态值对应含义
Controller Status: OK阵列卡状态
Firmware Version: 1.18firmware版本,太低了建议升级,以提高稳定性及性能
Cache Board Present: True是否配备了cache模块
Cache Status: OKcache模块状态
Cache Ratio: 100% Read / 0% Writecache策略,此处只有读cache,不用于写cache,因为没有bbu电池,见下方结果
Drive Write Cache: Disabled关闭磁盘cache
Total Cache Size: 256 MBcache大小
Total Cache Memory Available: 208 MB实际可用cache大小,和理论cache大小不一样,说明cache模块可能有问题
No-Battery Write Cache: Disabled关闭FORCEWB策略
Battery/Capacitor Count: 0阵列卡BBU电池数量为0,也就是没有BBU模块
Battery/Capacitor Status: Failed (Replace Batteries)阵列卡BBU电池状态,这里显示是错误状态,需要及时更换
Array: A第一个乌列阵列,编号从A开始,依次是A、B、C
Status: OK物理阵列状态


Logical Drive: 1第一个逻辑卷,编号从1开始
Fault Tolerance: RAID 5第一个逻辑卷的阵列级别
Status: OK第一个逻辑卷状态
Caching: Enabled第一个逻辑卷是否启用了cache策略


physicaldrive 1I:1:1第一块物理硬盘,编号从1开始
Status: OK第一块物理硬盘状态
Firmware Revision: HPDA第一块物理硬盘firmware,如果太低,也需要及时升级,HP的硬盘每个批次都有不同的firmware

下面我们就dell服务器实际操作为例

执行
#/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuStatus -aALL
 
返回类似
Adapter 0: Get BBU Status Failed.
Exit Code: 0x01
那raid卡的BBU电池模块就有问题,或者就没电池。
返回类似
BBU status for Adapter: 0
BatteryType: BBU
Voltage: 3919 mV
Current: 0 mA
Temperature: 47 C
Battery State     : Operational
BBU Firmware Status:
  Charging Status             : None
  Voltage                               : OK
  Temperature                           : OK
  Learn Cycle Requested                  : No
  Learn Cycle Active                     : No
  Learn Cycle Status                     : OK
  Learn Cycle Timeout                    : No
  I2c Errors Detected                    : No
  Battery Pack Missing                   : No
  Battery Replacement required           : No
  Remaining Capacity Low                 : No
  Periodic Learn Required                : No
  Transparent Learn                      : No
  No space to cache offload              : No
  Pack is about to fail &should be replaced : No
  Cache Offload premium featurerequired  : No
  Module microcode updaterequired        : No
 
 
GasGuageStatus:
  Fully Discharged       : Yes
  Fully Charged          : Yes
  Discharging            : No
  Initialized            : No
  Remaining Time Alarm   : No
  Remaining Capacity Alarm: Yes
  Discharge Terminated   : No
  Over Temperature       : No
  Charging Terminated    : No
  Over Charged           : No
Relative State of Charge: 100 %
Charger Status: Complete
Remaining Capacity: 555 mAh
Full Charge Capacity: 555 mAh
isSOHGood: Yes
Exit Code: 0x00

相关命令及其解析: 

查看机器型号    # dmidecode | grep"Product" 
查看厂商    # dmidecode| grep "Manufacturer" 
查看序列号    # dmidecode | grep "Serial Number" 
查看CPU信息    # dmidecode | grep "CPU" 
查看CPU个数    # dmidecode | grep "Socket Designation: CPU" |wc –l 
查看出厂日期    # dmidecode | grep"Date" 
查看充电状态    # MegaCli -AdpBbuCmd-GetBbuStatus -aALL |grep "Charger Status" 
显示BBU状态信息    # MegaCli -AdpBbuCmd-GetBbuStatus –aALL 
显示BBU容量信息    # MegaCli -AdpBbuCmd-GetBbuCapacityInfo –aALL 
显示BBU设计参数    # MegaCli -AdpBbuCmd-GetBbuDesignInfo –aALL 
显示当前BBU属性    # MegaCli -AdpBbuCmd-GetBbuProperties –aALL 
查看充电进度百分比    # MegaCli -AdpBbuCmd-GetBbuStatus -aALL |grep "Relative State of Charge" 
查询Raid阵列数    # MegaCli -cfgdsply -aALL|grep "Number of DISK GROUPS:" 
显示Raid卡型号,Raid设置,Disk相关信息     
 # MegaCli-cfgdsply –aALL 
显示所有物理信息    # MegaCli -PDList-aALL 
显示所有逻辑磁盘组信息    # MegaCli -LDInfo -LALL–aAll 
查看物理磁盘重建进度(重要)    # MegaCli -PDRbld-ShowProg -PhysDrv [1:5] -a0 
查看适配器个数    #MegaCli –adpCount 
查看适配器时间    #MegaCli -AdpGetTime–aALL 
显示所有适配器信息    #MegaCli -AdpAllInfo–aAll 
查看Cache策略设置    # MegaCli -cfgdsply -aALL|grep Polic

硬盘方面:

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 FailureCount: 0 
Last PredictiveFailure 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: DiskWrite Cache : Disk's Default 
Adapter 0-VD 1: DiskWrite Cache : Disk's Default

3、设置磁盘缓存策略 

缓存策略解释: 

WT   (Write through 
WB   (Write back) 
NORA  (No readahead) 
RA   (Read ahead) 
ADRA  (Adaptiveread ahead) 
Cached 
Direct

例子: 

MegaCli -LDSetPropWT|WB|NORA|RA|ADRA -L0 -a0 
or 
MegaCli -LDSetProp-Cached|-Direct -L0 -a0 
or 
enable / disabledisk 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


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/764.html