需要做这么一个事情:每5分钟检测一次Raid和disk状态,把结果写入到指定的文件中去。

首先,要去找管理软件。不同的服务器生产不同的Raid卡控制器会有不同的管理软件

IBM机器的情况

本次使用的是IBM机器LSI的Raid卡,可以使用MegaRAID Storage Manager Application for Linux 的图形化界面来管理,但它没办法实现要求。有一个叫做MegaCli的命令行软件可以进行无人管理。

需要安装这个软件并写一个脚本提取有效的信息写入到指定的文件中。

软件可以到IBM的网站上下载(https://www-933.ibm.com/support/fixcentral/),在这个网页中可以根据机器类型、OS类型等来选择合适的软件,对运维来说是个很有用的网站。

1、如果你不知道使用的Raid卡是什么型号的,可以先确认:

# dmesg | grep -i raid                                                                                                
scsi0 : LSI SAS based MegaRAID driver
  Vendor: IBM       Model: ServeRAID-MR10k   Rev: 1.12
62 [RAIDarray.mpp]Device 0x2f187800 is not an array
62 [RAIDarray.mpp]Device 0x2f187800 is not an array
md: Autodetecting RAID arrays.

一般在第一行就可以看出是什么型号和厂商的内容。确认好型号信息之后在去选择下载合适的管理软件。

2、下载好了之后,直接安装就可以了,当然安装之前可以测试一下:

#unzip ibm_utl_sraidmr_megacli-8.04.10_linux_32-64.zip

# rpm -ivh --test Lib_Utils-1.00-09.noarch.rpm MegaCli-8.04.10-1.noarch.rpm

# rpm -ivh Lib_Utils-1.00-09.noarch.rpm MegaCli-8.04.10-1.noarch.rpm

安装成功之后,先测试是否能够查看到Raid信息

# /opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL                //如果是32为系统,则变为:# /opt/MegaRAID/MegaCli/MegaCli -PDList -aALL

有结果出来则可以拿到信息。

3、下面开始写脚本,内容大致如下:

#vi /root/disk_check_shell.sh

-------------------start-----------------------

#!/bin/bash
#check raid disk status.

suffix=$(date +"%Y-%m-%d %H:%M:%S")

#logical status
/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -aALL|grep 'Adapter'|tr '\n' ' '|sed 's/^/'"$suffix"' /g' >> /var/log/disk_check.txt
/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -LALL -aALL|grep 'State'|sed 's/[ ][ ]*/ /g' >> /var/log/disk_check.txt

#physical status
physicaldisknum=`/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL|grep -c 'Slot Number'`
#echo $physicaldisknum
let "a=$physicaldisknum -1"

for i in $(seq 0 $a):
do
#echo $i
s="Slot Number: "$i
#echo $s

/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL|grep "$s"|tr '\n' ' '|sed 's/^/'"$suffix"' /g' >> /var/log/disk_check.txt
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL|grep -A 20 "$s"|grep 'Firmware state' >>  /var/log/disk_check.txt

done

-------------------finish---------------------

我只需要逻辑盘信息和物理盘信息即可。关于该软件还有许多其他的用法,可以在百度中搜索到。

以上脚本的结果大概显示如下

#chmod 755 /root/disk_check_shell.sh

#/root/disk_check_shell.sh

---------start------------

2013-11-18 15:35:01 Adapter 0 -- Virtual Drive Information: State : Optimal
2013-11-18 15:35:01 Slot Number: 0 Firmware state: Online, Spun Up
2013-11-18 15:35:01 Slot Number: 1 Firmware state: Online, Spun Up

---------finish----------

4、需要把脚本放到crontab中,每5分钟执行一次

#crontab -e

*/5 * * * * /root/disk_check_shell.sh > /dev/null 2>&1

保存退出,这样就实现了前面的要求了。

5、最后还需要做一个事情,就是logrotate,否则/var/log/disk_check.txt将会变得很大很大,还可能会造成其他一些问题。

这里的策略就跟syslog设置一样(在syslog策略中添加/var/log/disk_check.txt即可),当然也可以配置独立的策略。

#vi /etc/logrotate.d/syslog

----------------start-----------------

/var/log/messages /var/log/disk_check.txt {
   。。。。。。。。。。。。。。。。。。。
}

----------------finish----------------

然后重启syslog服务即可。

#service syslog restart

这样,前面的要求就实现了。打开/var/log/disk_check.txt,应该可以看到每5分钟都有一个结果出来。

IBM机器AdaptecRaid卡

如果是Adaptec的话,则使用的是arcconf来进行配置

这个软件也是可以在官网上下载的(http://www.adaptec.com/en-us/downloads/)

# dmesg | grep -i raid
Adaptec aacraid driver 1.1-5[2453]
scsi0 : ServeRAID
md: Autodetecting RAID arrays.

安装软件

#rpm -ivh --test asm_linux_x64_v6_40_18530.rpm

#rpm -ivh asm_linux_x64_v6_40_18530.rpm

写脚本,脚本的内容大致如下

------------start--------------------

#!/bin/bash
#check raid disk status.
suffix=$(date +"%Y-%m-%d %H:%M:%S")

/usr/StorMan/arcconf GETCONFIG 1 AD|grep 'Controller Status'|sed 's/[ ][ ]*/ /g'|sed 's/^/'"$suffix"'/g' >> /var/log/disk_check.txt
/usr/StorMan/arcconf GETCONFIG 1 LD|grep 'Status of logical device'|sed 's/[ ][ ]*/ /g'|sed 's/^/'"$suffix"'/g' >> /var/log/disk_check.txt
/usr/StorMan/arcconf GETCONFIG 1 PD|grep -B 2 'State'|tr '\n' ','|sed 's/[ ][ ]*/ /g'|sed 's/$/\n/g'|sed 's/--,/\n/g'|sed 's/^/'"$suffix"'/g' >> /var/log/disk_check.txt
/usr/StorMan/arcconf GETCONFIG 1 PD|grep -B 1 'Device is an Enclosure'|tr '\n' ','|sed 's/[ ][ ]*/ /g'|sed 's/^/'"$suffix"'/g' >> /var/log/disk_check.txt
/usr/StorMan/arcconf GETCONFIG 1 PD|grep -A 1 'Status of Enclosure'|tr '\n' ','|sed 's/[ ][ ]*/ /g'|sed 's/$/\n/g' >> /var/log/disk_check.txt

------------finish------------------

脚本执行结果如下

---------------start---------------

2013-11-18 17:10:01 Controller Status : Optimal
2013-11-18 17:10:01 Status of logical device : Optimal
2013-11-18 17:10:01 Device #0, Device is a Hard drive, State : Online,
2013-11-18 17:10:01 Device #1, Device is a Hard drive, State : Online,
2013-11-18 17:10:01 Device #2, Device is an Enclosure services device, Status of Enclosure services device, Temperature : Normal,

--------------finish---------------

其他的设定和前面一样。

HP机器的情况

如果是HP的机器,则使用的是hpacucli。

这个软件可以在HP的支持网站上下载(http://www8.hp.com/cn/zh/support.html)

同样也是下载之后安装

#rpm -qa | grep hpacucli //确认原来没有安装过hpacucli

#rpm -ivh --test /media/hpacucli-9.40-12.0.x86_64.rpm

#rpm -ivh /media/hpacucli-9.40-12.0.x86_64.rpm

写脚本,脚本的内容大致如下

------------start--------------------

#!/bin/bash
#check raid disk status.
suffix=$(date +"%Y-%m-%d %H:%M:%S")
/usr/sbin/hpacucli ctrl all show status|sed 's/[ ][ ]*/ /g'|sed /^$/d|sed 's/^/'"$suffix"'/g' >> /var/log/disk_check.txt
/usr/sbin/hpacucli ctrl slot=0 logicaldrive all show|grep 'logicaldrive'|sed 's/[ ][ ]*/ /g'|sed 's/^/'"$suffix"'/g' >> /var/log/disk_check.txt
/usr/sbin/hpacucli ctrl slot=0 physicaldrive all show|grep 'physicaldrive'|sed 's/[ ][ ]*/ /g'|sed 's/^/'"$suffix"'/g' >> /var/log/disk_check.txt

------------finish------------------

脚本执行结果如下

---------------start---------------

2013-11-18 17:00:01Smart Array P410i in Slot 0 (Embedded)
2013-11-18 17:00:01 Controller Status: OK
2013-11-18 17:00:01 Cache Status: OK
2013-11-18 17:00:01 Battery/Capacitor Status: OK
2013-11-18 17:00:01 logicaldrive 1 (136.7 GB, RAID 1, OK)
2013-11-18 17:00:01 physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 146 GB, OK)
2013-11-18 17:00:01 physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 146 GB, OK)

--------------finish---------------

其他的设定和前面一样。

Redhat5_Raid信息监控与查询_IBM(MegaCli)+HP(hpacucli)+Adaptec(arcconf)相关推荐

  1. 【Android 逆向】Android 逆向方法 ( 静态逆向解析 | 函数调用分析 | 动态运行跟踪 | 运行日志分析 | 文件格式解析 | 敏感信息分析 | 网络信息监控 | 环境伪装模拟 )

    文章目录 一.Android 逆向方法 1.静态逆向解析 2.函数调用分析 3.动态运行跟踪 4.运行日志分析 5.文件格式解析 6.敏感信息分析 7.网络信息监控 8.软件动态调试 9.环境伪装模拟 ...

  2. Query-digest-UI监控慢查询,以及此工具的改进版

    本文主要描述基于pt-query-digest工具对慢查询日志进行监控的工具Query-digest-UI.(安装.使用.介绍以及benren提供的改进版.) 本文中描述的内容与其他网站上对Query ...

  3. 联合国隐私监督机构:大规模信息监控并非行之有效

    北京时间3月11日消息,据IT科技新闻网站ZDNet报道,CIA监控事件爆发之际,联合国隐私监督机构发表的一份报告称,大规模信息监控对保护国家安全并非行之有效. 在本周发表的一份报告中,联合国首位隐私 ...

  4. 学生信息系统求助_一个学生信息录入和查询的系统

    我们asp.net 作业大神帮帮忙. 一个学生信息录入和查询的系统.主要分成以下几个页面.我在描述的时候,请大家对照课本找到相关章节并做上记号,方便后面的制作. 首先需要大家制作一个数据库.这个数据库 ...

  5. 【clickhouse】clickhouse 利用Grafana与系统表监控ClickHouse查询

    文章目录 1.概述 1.概述 转载:利用Grafana与系统表监控ClickHouse查询 收藏从未停止,写在这里以防万一

  6. 如何使用百数扫码实现高效信息录入与查询

    随着移动互联网的发展,扫码功能已经遍布我们日常生活的每一个角落,我们习惯用扫码支付.扫码读取信息.扫码登记等等.在更为广泛的行业领域,扫码功能的辅助能够帮助工作流程更便捷,实现更高效的数字化办公. 百 ...

  7. mysql分页查询出租房屋信息_分页查询信息(使用jdbc连接mysql数据库实现分页查询任务)...

    分页查询信息 使用jdbc连接mysql数据库实现分页查询任务 通过mysql数据库提供的分页机制,实现商品信息的分页查询功能,将查询到的信息显示到jsp页面上. 本项目时一个简单的运用eclipse ...

  8. nodejs京东接口分析系列-实现京东自动化功能 之 商品信息监控

    本章节无需实现登陆功能,接口是可以直接get请求调用的 这里随便打开一个京东商品 https://item.jd.com/100009820314.html 随便看一下请求信息,就能发现很多接口能直接 ...

  9. 上学易 APP - 小学信息平台,学区查询,幼升小,小学,学区,学校基础信息平台

    第二款上线的App,陆续开发了二年时间... 主要功能是小学地图,学校信息及学区查询,大家多多支持! AppStore搜索"学区"即可下载 以下是AppStore的简介 ----- ...

最新文章

  1. 扩增子分析QIIME. 3以管理员安装QIIME1.9.1至Ubuntu16.04
  2. 机器学习之无监督学习——聚类
  3. java 单一职责原则_设计模式之单一职责原则
  4. 转载并学习实现三重DES加密解密代码(一)
  5. mysql 排名_学会在MySQL中实现Rank高级排名函数,所有取前几名问题全部解决.
  6. HBase基本概念与基本使用
  7. VS2008(C#)子页嵌套母版页的控件访问方法(二)
  8. 深入分析Android (build/core/*.mk脚本)
  9. Linux下安装nodejs
  10. 【BZOJ3379】[Usaco2004 Open]Turning in Homework 交作业 DP
  11. axure rp8学习回忆
  12. 锐起无盘服务器客户机不同步,使用批处理判断锐起无盘客户机是否为超级用户状态...
  13. 防止多次快速点击打开多个activity的问题
  14. 卷毛机器人抢大龙_LOL:机器人史诗级加强,如果他还没退役,SKT都不敢放机器人...
  15. Leetcode刷题之二叉搜索树、平衡二叉搜索树3
  16. Android系统打不开,安卓手机打不开pdf文件怎么解决?
  17. 由浅入深讲二叉树4种遍历算法的由来
  18. U8采购入库单API接口示例(参照采购到货)
  19. 十七 SQL ALTER 与 AUTO INCREMENT
  20. 在codesys中通过EtherCAT总线驱动IO模块

热门文章

  1. 去图书管的时候应该怎么选书
  2. Angular--使用Angular get 请求数据
  3. 相约北京冬奥,智慧场馆守护“冰雪奇缘”
  4. systemverilog define用法
  5. CloudSim仿真流程
  6. 香格里拉集团发布“香格里拉酒店与度假酒店”标识焕新
  7. vue 字母或数字不会自动换行
  8. opencv显示图片和保存图片
  9. JZOJ 4637 大鱼海棠
  10. 教你如何处理逆光压光技巧 完美人像实拍攻略详情介绍