本文包含如下内容
二、阵列卡的Stripe size介绍
三、megacli介绍、安装、使用、crontab监控脚本
四、查看SAS 6/iR卡的信息
一、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、安装megacliroot@3:~# more /etc/apt/sources.list
增加如下源:
##add monitor dell perc 6/i raidcontroller's source
deb 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
Warning, page length in reply does not match page length in buffer
(9 vs. 15)
PhysDisk 1 is Bus 0 Target 9
PhysDisk State: online
PhysDisk Size 572325 MB, Inquiry Data: SEAGATE ST3600057SS ES62
Warning, page length in reply does not match page length in buffer
(9 vs. 15)
注意,因为我的两块硬盘做得是Raid 0 ,如果你的磁盘做得是Raid 1 可以通过 【4. Wait for volume resync to complete】两块硬盘的同步
状态
RAID actions menu, select an option: [1-99 or e/p/w or 0 to quit] 4 ---我的是Raid 0
Volume 0 State: optimal, enabled
以下几个菜单可以在线创建阵列!
30. Create volume
31. Delete volume
32. Change volume settings
33. Change volume name
50. Create hot spare
#注意以上所有的退出使用阿拉数字零