本文包含如下内容

一、Dell服务器 RAID卡介绍

二、阵列卡的Stripe size介绍

三、megacli介绍、安装、使用、crontab监控脚本

四、查看SAS 6/iR卡的信息

五、DELL服务器的各种RAID卡的详细参数


一、Dell服务器 RAID卡介绍

以下在系统下使用相关命令得到的数据,dell支持的各种RAID卡的详细参数参见本文第五部分。

1、内部RAID控制器

使用megacli命令查看得到的RAID卡数据:

SAS 6/iR :只支持2块硬盘做 raid0,或者raid1,或者不做阵列卡  (Dell硬件聊天室获得)

PERC 6/i Integrated

Memory Size: 256MB

RAID Level Supported: RAID0, RAID1, RAID5, RAID6, RAID10, RAID50, RAID60, PRL 11, PRL 11 with spanning, SRL 3 supported

Supported Drives: SAS, SATA

Min Stripe Size: 8 KB

Max Stripe Size: 1.0 MB

接口速度Link Speed: 3.0Gb/s

PERC H700 Integrated

Memory Size: 512MB

RAID Level Supported: RAID0, RAID1, RAID5, RAID6, RAID10, RAID50, RAID60, PRL 11, PRL 11 with spanning

Supported Drives: SAS, SATA

Min Stripe Size: 8 KB

Max Stripe Size: 1.0 MB

接口速度Link Speed: 6.0Gb/s

官方资料:

PERC H200(6 Gb/秒)

PERC H700(6Gb /秒),配备512 MB非易失性高速缓存

PERC H700(6 Gb/秒),配备512 MB电池后备高速缓存;512 MB、1 G非易失性电池后备高速缓存

PERC 6/i,配备256 MB电池后备高速缓存

2、外部RAID控制器

官方资料:

PERC H800(6Gb/秒),配备512 MB非易失性高速缓存

PERC H800(6Gb/秒),配备512 MB电池后备高速缓存;512 MB、1 G非易失性电池后备高速缓存

PERC 6/E,配备256 MB或512 MB电池后备高速缓存

二、阵列卡的Stripe size介绍

Stripe size 默认64KB。

1、Stripe size百科介绍

在每个磁盘上连续写入数据的总量,也称作“条带深度”。你可以指定每个逻辑驱动器的条带容量从2KB,4KB,8KB一直到128KB。为了获得更高的性能,要选择条带的容量等于或小于操作系统的簇的大小。大容量的条带会产生更高的读取性能,尤其在读取连续数据的时候。而读取随机数据的时候,最好设定条带的容量小一点。如果指定128KB的条带将需要8MB内存。

不同Stripe size的选择直接影响性能,如IOPS和吞吐量。

Stripe size值小,通过多块磁盘响应多个I/O请求,可以增加I/O访问速率(IOPS)

Stripe size值大,通过多块磁盘响应一个I/O请求,可以增加数据传输速率(Mbps)

我们知道顺序和随机对于带宽和iops的需求成反比,即顺序的读写比较消耗带宽,随机的读写比较消耗iops;

2、Stripe size一般设置

通常,小Stripe size适用于数据库,一般Stripe size适用于文件服务器,大Stripe size适用于多煤体应用。实际应用stripe size大小应在效率测试后具体设置。

数据库一般4-16KB

web服务器默认即可,16-64KB

流媒体等大文件建议128KB以上

三、megacli介绍、安装、使用、crontab监控脚本

查看RAID信息的工具有mpt-status、megarc、dell OpenManage。经测试只有megacli可以实现目标,dell OpenManage由于较大90M左右没有安装。

megacli工具非常强大,不仅能查看RAID卡信息,而且还能设置RAID卡,但是不支持SAS 6/iR的RAID卡,不推荐采用megacli在线设置RAID卡,本文也仅用于监控挂接在RAID上的硬盘状态。

1、查看raid卡的型号:

root@3:~# lspci |grep RAID  H700

02:00.0 RAID bus controller: LSI Logic / Symbios Logic Device 0079 (rev 04)

root@3:~# lspci  |grep RAID  PERC 6/i

03:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 1078 (rev 04)

root@k:~# lspci|grep SAS     SAS 6/iR

03:00.0 SCSI storage controller: LSI Logic / Symbios Logic SAS1068E PCI-Express Fusion-MPT SAS (rev 08)

2、安装megacli

root@3:~# more /etc/apt/sources.list

增加如下源:

##add monitor dell perc 6/i raidcontroller's source

deb http://hwraid.le-vert.net/debian lenny main

root@3:~# apt-get update

root@3:~# apt-get install megacli

3、使用megacli查看RAID卡信息

术语:BBU 电池备份单元(Battery Backup Unit)

常用查看命令:

megacli -LDInfo -Lall -aALL   查raid级别

megacli -AdpAllInfo -aALL     查raid卡信息

megacli -PDList -aALL         查看硬盘信息

megacli -AdpBbuCmd -aAll      查看电池信息

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

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相关信息

4、使用crontab定时监控硬盘状态的小脚本

该脚本实现在监控到硬盘故障时发出报警邮件,并关联到手机短信,以便通知运维人员及时处理。

root@3:~# more /backup/autobackup/autoshell/check_raid_disk_health

#!/bin/sh

log_dir=/backup/autobackup/logsum/

log_name=_raid_disk_monitor

logtime=$(date +%Y%m%d --date='1 days ago')

fix=.log

host=_`hostname`

STATUS=0

echo  "Checking RAID status on $host" >$log_dir$logtime$log_name$host$fix

RAID_Contrller=`megacli -AdpAllInfo -aALL |grep "Product Name" | cut -d: -f2`

echo "Controller : $RAID_Contrller" >>$log_dir$logtime$log_name$host$fix

Online_disk_num=`megacli  -PDList -aALL | grep Online | wc -l`

echo "Totall number of Physical disks online : $Online_disk_num" >>$log_dir$logtime$log_name$host$fix

Degrade_disk=`megacli -AdpAllInfo -a0 |grep "Degrade"`

echo $Degrade_disk >>$log_dir$logtime$log_name$host$fix

Degrade_disk_num=`echo $Degrade_disk |cut -d" " -f3`

Failed_disk=`megacli -AdpAllInfo -a0 |grep "Failed Disks"`

echo $Failed_disk >>$log_dir$logtime$log_name$host$fix

Failed_disk_num=`echo $Failed_disk |cut -d" " -f4`

##将raid_disk_monitor.log scp到mail上

scp -P120 $log_dir$logtime$log_name$host$fix lai@60.*.*.*:/data/autobackup/logsum

ssh -p120 lai@60.1.1.1  "cat /data/autobackup/logsum//$(date +%Y%m%d --date='1 days ago')_raid*| mail -s "`echo "

/$(date +%Y'年'%m'月'%d'日' --date='1 days ago')ERROR:tv233_RAID卡硬盘报警"|iconv -f utf-8 -t gbk`" postmaster@126.co

m,1860531****@wo.com.cn  -- -f www@xp.com"

[ "$Degrade_disk_num" -ne 0 ] && STATUS=1

[ "$Failed_disk_num" -ne 0 ] && STATUS=1

exit $STATUS

四、查看SAS 6/iR卡的信息

因为megacli不支持SAS 6/iR卡,使用一款叫做lsiutil的绿色免安装工具来查看SAS 6/iR卡的信息。

1、下载lsiutil

官网下载地址ftp://ftp.lsil.com/HostAdapterDrivers/linux/lsiutil/lsiutil.tar.gz

2、解压运行lsiutil

直接解压,运行目录里面的lsiutil 即可.

[root@k]# tar -zxvf lsiutil.tar.gz

[root@k]# cd lsiutil

[root@k]# ./lsiutil  【交互式运行】

LSI Logic MPT Configuration Utility, Version 1.56, March 19, 2008

1 MPT Port found

    Port Name         Chip Vendor/Type/Rev    MPT Rev  Firmware Rev  IOC

1.  /proc/mpt/ioc0    LSI Logic SAS1068E B3     105      00192f00     0

Select a device:  [1-1 or 0 to quit] 1

1.  Identify firmware, BIOS, and/or FCode

2.  Download firmware (update the FLASH)

4.  Download/erase BIOS and/or FCode (update the FLASH)

8.  Scan for devices

10.  Change IOC settings (interrupt coalescing)

13.  Change SAS IO Unit settings

16.  Display attached devices

20.  Diagnostics

21.  RAID actions

22.  Reset bus

23.  Reset target

42.  Display operating system names for devices

45.  Concatenate SAS firmware and NVDATA files

60.  Show non-default settings

61.  Restore default settings

69.  Show board manufacturing information

97.  Reset SAS link, HARD RESET

98.  Reset SAS link

99.  Reset port

e   Enable expert mode in menus

p   Enable paged mode

w   Enable logging

Main menu, select an option:  [1-99 or e/p/w or 0 to quit] 69 --- 查看Raid 卡的信息板子名称【SAS6IR】

Seg/Bus/Dev/Fun    Board Name       Board Assembly   Board Tracer

0   2   0   0     SAS6IR

Main menu, select an option:  [1-99 or e/p/w or 0 to quit] 8 ---扫描硬盘设备并打印设备状态

SAS1068E's links are 3.0 G, 3.0 G, down, down, off, off, off, off

B___T___L  Type       Vendor   Product          Rev      SASAddress     PhyNum

0   0   0  Disk       Dell     VIRTUAL DISK     1028

0   8   0  EnclServ   DP       BACKPLANE        1.07  5942b0b02dcf1a00     8

Hidden RAID Devices:

B___T    Device       Vendor   Product          Rev      SASAddress     PhyNum

0   1  PhysDisk 0     SEAGATE  ST3600057SS      ES62  5000c50023c4b95d     1

0   9  PhysDisk 1     SEAGATE  ST3600057SS      ES62  5000c50023c4bd95     0

【查看Raid 状态】: 进入21 选项:

Main menu, select an option:  [1-99 or e/p/w or 0 to quit] 21

1.  Show volumes

2.  Show physical disks

3.  Get volume state

4.  Wait for volume resync to complete

23.  Replace physical disk

26.  Disable drive firmware update mode

27.  Enable drive firmware update mode

30.  Create volume

31.  Delete volume

32.  Change volume settings

33.  Change volume name

50.  Create hot spare

99.  Reset port

e   Enable expert mode in menus

p   Enable paged mode

w   Enable logging

RAID actions menu, select an option:  [1-99 or e/p/w or 0 to quit] 2 ---查看设备在线状态

1 volume is active, 2 physical disks are active

PhysDisk 0 is Bus 0 Target 1

 PhysDisk State:  online

 PhysDisk Size 572325 MB, Inquiry Data:  SEAGATE  ST3600057SS      ES62