CN103970642A - 一种Linux服务器硬盘在线状态的监控方法 - Google Patents
一种Linux服务器硬盘在线状态的监控方法 Download PDFInfo
- Publication number
- CN103970642A CN103970642A CN201410215504.5A CN201410215504A CN103970642A CN 103970642 A CN103970642 A CN 103970642A CN 201410215504 A CN201410215504 A CN 201410215504A CN 103970642 A CN103970642 A CN 103970642A
- Authority
- CN
- China
- Prior art keywords
- disk
- log
- hard disk
- hard
- var
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种Linux服务器硬盘在线状态的监控方法,其主要内容包括:1)对需要进行硬盘状态监控的Linux服务器部署HDmon脚本,复制脚本文件至任意目录;2)赋予HDmon脚本文件可执行权限;3)设置接收警报的邮箱帐号;4)设置后台执行脚本程序;通过定期扫描主板SCSI总线上的块设备,实时更新配置文件,并跟初始状态进行对比,实现对硬盘在线状态的监控;当硬盘故障或者离线时,将会自动触发报警机制并生成错误日志,实现对服务器的硬盘进行实时健康检查、例行维护等目的。
Description
技术领域
本发明涉及硬盘监控技术,具体地说是一种Linux服务器硬盘在线状态的监控方法。
背景技术
随着服务器技术的不断发展,服务器所支持的硬盘数量变得越来越多,在满足服务器日益增长的数据存储空间的同时,也使得我们监控硬盘在线状态的工作变得越来越繁琐。通常情况下,如果服务器配置了阵列卡,出现硬盘离线时可能会有报警声,缺点是只有运维人员进入机房听到报警声之后才知道有硬盘发生了故障,而我们一般都在办公室进行运维监控,因此很难第一时间发现问题。另外,对于互联网大客户,服务器大都配置了SAS卡,而SAS卡本身不具备报警功能。同时互联网客户对磁盘空间的要求较高,大多采用大容量SATA硬盘,而SATA硬盘由于协议上的原因,有时不会触发背板报警灯点亮,这更是增加了发现硬盘掉线故障的难度。
虽然目前也有较多的硬盘在线监控工具,但是大都针对Windows系统,极少的几款针对Linux系统的工具也因为安装麻烦、监控和告警手段单一等缺点而少有人使用。
发明内容
针对现有技术存在的不足之处,本发明提出了一种Linux服务器的硬盘在线状态实时监控方法,以及发生硬盘离线时的报警与分析方法。
本发明所述一种Linux服务器硬盘在线状态的监控方法,解决上述技术问题采用的技术方案如下:该监控方法提出了一个监控程序,通过定期扫描主板SCSI总线上的块设备,及时更新块设备的状态并记录到配置文件中,在程序初次运行时会生成一个初始配置,并将每次扫描的结果跟初始配置进行对比,即可发现硬盘状态差异;当硬盘故障或离线时,程序会通过算法得出故障硬盘的盘符和槽位号,同时会自动触发报警机制并生成故障信息日志文件,通过报警机制快速获取硬盘故障信息,提醒维护人员及时更换硬盘,实现对Linux服务器的硬盘进行实时健康检查、例行维护等目的,保障了业务的稳定性;同时,本发明所述监控方法中,当硬盘正常时,不会生成日志文件,并且当硬盘故障排除后自动删除日志文件;
该Linux服务器硬盘在线状态的监控方法的具体内容包括:1)对需要进行硬盘状态监控的Linux服务器部署HDmon脚本,复制脚本文件至任意目录;2)赋予HDmon脚本文件可执行权限;3)设置接收警报的邮箱帐号;4)设置后台执行脚本程序。
本发明所述Linux服务器硬盘在线状态的监控方法具有的有益效果:
所述Linux服务器硬盘在线状态的监控方法,通过定期扫描主板SCSI总线上的块设备,实时更新配置文件,并跟初始状态进行对比,实现对硬盘在线状态的监控;当硬盘发生故障或者跟背板接触不良,导致系统无法识别该硬盘时,将会自动触发报警机制并生成错误日志,实现对服务器的硬盘进行实时健康检查、例行维护等目的;
相比目前Linux服务器的硬盘在线监控方法具有:
1. 无需安装第三方软件,简单易用;
2. 使用Shell脚本编写,通用性强,可跨平台使用;
3. 支持自定义扫描间隔,适应不同的监控环境;
4. 支持后台监控,无需人为干预;
5. 支持邮件提醒,便于维护人员及时发现并处理等优点。
附图说明
附图1为本发明所述监控方法的流程图。
具体实施方式
参照说明书附图和具体实施例,对本发明的Linux服务器硬盘在线状态的监控方法作以下详细地说明。
本发明所述Linux服务器硬盘在线状态的监控方法,提出了一个监控程序,该监控程序通过定期扫描主板SCSI总线上的块设备,及时更新块设备的状态并记录到配置文件中,在程序初次运行时会生成一个初始配置,并将每次扫描的结果跟初始配置进行对比,即可发现差异;当硬盘故障或离线时,程序会通过算法得出故障硬盘的盘符和槽位号,同时会自动触发报警机制并生成故障信息日志文件,通过报警机制快速获取硬盘故障信息,提醒维护人员及时更换硬盘,实现对Linux服务器的硬盘进行实时健康检查、例行维护等目的,保障了业务的稳定性;同时,本发明所述监控方法中,当硬盘正常时,不会生成日志文件,并且当硬盘故障排除后自动删除日志文件;
该Linux服务器硬盘在线状态的监控方法的具体内容包括:1)对需要进行硬盘状态监控的Linux服务器部署HDmon脚本,复制脚本文件至任意目录;2)赋予HDmon脚本文件可执行权限;3)设置接收警报的邮箱帐号;4)设置后台执行脚本程序。
实施例:
下面通过一个实施例,对本发明所述Linux服务器硬盘在线状态的监控方法的内容进行详细说明。
本实施例中,该Linux服务器硬盘在线状态的监控方法的使用过程包括:
1)对需要进行硬盘状态监控的Linux服务器部署HDmon脚本,复制脚本文件至任意目录,比如/root目录等;
2)赋予HDmon脚本文件可执行权限:#chmod 777 HDmon;
3)设置接收警报的邮箱帐号:#vi HDmon;接收警报的邮箱账号的程序如下:
4)设置后台执行脚本程序:#./HDmon &;后台执行脚本程序如下:
并且,所述HDmon脚本程序内容如下:
#! /bin/bash
ls | grep disk.config > /dev/null
if [ $ -eq 1 ]
then
lsscsi | grep disk | awk '{print $1,$6}' > disk.config
while [ true ];
do
/bin/sleep 3600
lsscsi | grep disk | awk '{print $1,$6}' > disk.now
diff disk.now disk.config > /dev/null
if [ $ -eq 1 ]
then
date >> /var/log/disk_error.log
diff disk.now disk.config | grep dev >> /var/log/disk_error.log
echo -e "disk(s) above missing !\n" >> /var/log/disk_error.log
mail -s "Attention! Hard disk failure of $HOSTNAME" admindomain.com < /var/log/disk_error.log
else
rm -f /var/log/disk_error.log
fi
done
else
while [ true ];
do
/bin/sleep 3600
lsscsi | grep disk | awk '{print $1,$6}' > disk.now
diff disk.now disk.config > /dev/null
if [ $ -eq 1 ]
then
date >> /var/log/disk_error.log
diff disk.now disk.config | grep dev >> /var/log/disk_error.log
echo -e "disk(s) above missing !\n" >> /var/log/disk_error.log
mail -s "Attention! Hard disk failure of $HOSTNAME" admindomain.com < /var/log/disk_error.log
else
rm -f /var/log/disk_error.log
fi
done
fi
使用该Linux服务器硬盘在线状态的监控方法的监控过程与结果分析如下:
(1)程序初次运行,会生成初始配置文件disk.conf,里面包含了服务器初始状态下的硬盘配置,包括盘符、槽位号信息;
(2)预设的扫描时间到来后,程序会自动扫描出服务器当前的硬盘状态,记录到disk.now文件中,并跟初始状态配置文件进行比对;
(3)如果硬盘全部在线,则比对结果为0,程序无任何输出,也无任何日志文件生成;
(4)如果某硬盘发生故障而离线,则在/var/log下面会生成disk_error.log日志文件,里面记录了故障硬盘的盘符和槽位号,以及扫描时刻:
由上图可知,sde硬盘离线出现故障,该硬盘位于slot4槽位;
(5)同时,运维人员的邮箱中也会收到邮件提醒,标题是“Attention!Hard disk failure of XXX”,内容是故障硬盘的盘符和槽位号;
(6)对有问题的硬盘进行维修与更换。
附图1为所述Linux服务器硬盘在线状态的监控方法的流程图,如图1所示, 在Linux服务器上运行HDmon脚本程序,对硬盘状态开始监控,按设定扫描时间自动扫描服务器当前的硬盘状态,并记录到disk.now文件中,跟初始配置文件进行比对(程序初次运行时,会生成初始配置文件);若硬盘全部在线,则无任何日志文件生成,并对硬盘继续监控;若有硬盘离线,则将异常信息写入日志,生成日志文件,并触发邮件告警,提醒维护人员进行故障处理,故障排除后自动删除日志文件,此时故障硬盘恢复正常,程序继续监控全部硬盘;若日志文件没有自动删除还存在,则继续发出邮件告警,提醒维护人员继续进行故障处理。
综上可知,本监控方法通过while循环实时获取总线状态,使用if语句进行判断,将异常信息写入日志并触发邮件告警,故障排除后自动删除日志,从而实现对Linux服务器的硬盘进行实时健康检查、例行维护等目的;
使用该监控方法,可以定期扫描主板的SCSI通道,及时更新块设备的状态并记录到配置文件中,由于程序初次运行时会生成一个初始配置,通过将每次扫描的结果跟初始配置进行比对,即可发现差异;如果有硬盘发生离线,程序会通过算法得出故障硬盘的盘符和槽位号,并将结果记录到/var/log/disk_error.log日志文件中,每次记录都有时间戳,因此也可以推测发生故障的大体时间。另外,程序具有邮件提醒功能,对于不方便查看日志的维修人员,可以通过邮件快速获取硬盘故障信息,及时更换硬盘,保障业务的稳定性。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (5)
1.一种Linux服务器硬盘在线状态的监控方法,其特征在于, 提出了一个监控程序,通过定期扫描主板SCSI总线上的块设备,及时更新块设备的状态并记录到配置文件中,在程序初次运行时会生成一个初始配置,并将每次扫描的结果跟初始配置进行对比,即可发现硬盘状态差异;当硬盘故障或离线时,程序会通过算法得出故障硬盘的盘符和槽位号,同时会自动触发报警机制并生成故障信息日志文件,通过报警机制快速获取硬盘故障信息,提醒维护人员及时更换硬盘,实现对Linux服务器的硬盘进行实时健康检查、例行维护等目的,保障了业务的稳定性;同时,本发明所述监控方法中,当硬盘正常时,不会生成日志文件,并且当硬盘故障排除后自动删除日志文件;
该Linux服务器硬盘在线状态的监控方法的具体内容包括:1)对需要进行硬盘状态监控的Linux服务器部署HDmon脚本,复制脚本文件至任意目录;2)赋予HDmon脚本文件可执行权限;3)设置接收警报的邮箱帐号;4)设置后台执行脚本程序。
2.根据权利要求1所述的Linux服务器硬盘在线状态的监控方法,其特征在于,所述报警机制为邮件告警。
3.根据权利要求1所述的Linux服务器硬盘在线状态的监控方法,其特征在于,当硬盘正常时,没有日志文件产生;当硬盘故障排除后,日志文件自动删除。
4.根据权利要求1所述的Linux服务器硬盘在线状态的监控方法,其特征在于,所述HDmon脚本程序为:
#! /bin/bash
ls | grep disk.config > /dev/null
if [ $ -eq 1 ]
then
lsscsi | grep disk | awk '{print $1,$6}' > disk.config
while [ true ];
do
/bin/sleep 3600
lsscsi | grep disk | awk '{print $1,$6}' > disk.now
diff disk.now disk.config > /dev/null
if [ $ -eq 1 ]
then
date >> /var/log/disk_error.log
diff disk.now disk.config | grep dev >> /var/log/disk_error.log
echo -e "disk(s) above missing !\n" >> /var/log/disk_error.log
mail -s "Attention! Hard disk failure of $HOSTNAME" admindomain.com < /var/log/disk_error.log
else
rm -f /var/log/disk_error.log
fi
done
else
while [ true ];
do
/bin/sleep 3600
lsscsi | grep disk | awk '{print $1,$6}' > disk.now
diff disk.now disk.config > /dev/null
if [ $ -eq 1 ]
then
date >> /var/log/disk_error.log
diff disk.now disk.config | grep dev >> /var/log/disk_error.log
echo -e "disk(s) above missing !\n" >> /var/log/disk_error.log
mail -s "Attention! Hard disk failure of $HOSTNAME" admindomain.com < /var/log/disk_error.log
else
rm -f /var/log/disk_error.log
fi
done
fi。
5.根据权利要求2或3所述的Linux服务器硬盘在线状态的监控方法,其特征在于,该监控方法的具体流程为:在Linux服务器上运行HDmon脚本程序,对硬盘状态开始监控,按设定扫描时间自动扫描服务器当前的硬盘状态,并记录到disk.now文件中,跟初始配置文件进行比对;若硬盘全部在线,则无任何日志文件生成,并对硬盘继续监控;若有硬盘离线,则将异常信息写入日志,生成日志文件,并触发邮件告警,提醒维护人员进行故障处理,故障排除后自动删除日志文件,此时故障硬盘恢复正常,程序继续监控全部硬盘;若日志文件没有自动删除还存在,则继续发出邮件告警,提醒维护人员继续进行故障处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410215504.5A CN103970642A (zh) | 2014-05-21 | 2014-05-21 | 一种Linux服务器硬盘在线状态的监控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410215504.5A CN103970642A (zh) | 2014-05-21 | 2014-05-21 | 一种Linux服务器硬盘在线状态的监控方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103970642A true CN103970642A (zh) | 2014-08-06 |
Family
ID=51240172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410215504.5A Pending CN103970642A (zh) | 2014-05-21 | 2014-05-21 | 一种Linux服务器硬盘在线状态的监控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103970642A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794041A (zh) * | 2015-05-08 | 2015-07-22 | 浪潮电子信息产业股份有限公司 | 一种Linux服务器阵列卡活动状态的监控方法及其装置 |
CN105141478A (zh) * | 2015-09-02 | 2015-12-09 | 浪潮电子信息产业股份有限公司 | 一种linux服务器sas卡硬盘状态的监控方法 |
CN106383774A (zh) * | 2016-09-22 | 2017-02-08 | 郑州云海信息技术有限公司 | 一种存储系统的告警推送方法及装置 |
CN107480022A (zh) * | 2017-08-22 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种Storage RACK系统硬盘自动扫描检测的测试方法 |
CN107766203A (zh) * | 2017-10-10 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种快速定位sds中硬盘故障的方法 |
CN108038031A (zh) * | 2017-12-07 | 2018-05-15 | 郑州云海信息技术有限公司 | 一种实时监控硬盘在线状态的方法及装置 |
CN109324944A (zh) * | 2018-09-06 | 2019-02-12 | 浪潮电子信息产业股份有限公司 | 一种储存器检测报警方法及设备 |
CN109542708A (zh) * | 2018-12-04 | 2019-03-29 | 浪潮电子信息产业股份有限公司 | 一种记录背板物理槽位和系统盘符对应关系的方法 |
CN111258813A (zh) * | 2020-01-13 | 2020-06-09 | 北京点众科技股份有限公司 | 一种报表数据自动恢复的方法和设备 |
CN111625185A (zh) * | 2020-05-07 | 2020-09-04 | 苏州浪潮智能科技有限公司 | 一种磁盘故障监控的方法、系统及相关组件 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6023507A (en) * | 1997-03-17 | 2000-02-08 | Sun Microsystems, Inc. | Automatic remote computer monitoring system |
CN102098179A (zh) * | 2011-02-16 | 2011-06-15 | 浪潮(北京)电子信息产业有限公司 | 一种计算机状态监测告警方法及系统 |
CN102279775A (zh) * | 2011-08-19 | 2011-12-14 | 西安交通大学 | 一种Linux系统下的硬盘故障处理方法 |
CN102508760A (zh) * | 2011-11-17 | 2012-06-20 | 浪潮(北京)电子信息产业有限公司 | 独立磁盘冗余阵列预警方法和系统 |
CN103744764A (zh) * | 2013-12-26 | 2014-04-23 | 浪潮电子信息产业股份有限公司 | 一种基于Crontab的整机内存稳定性的测试方法 |
-
2014
- 2014-05-21 CN CN201410215504.5A patent/CN103970642A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6023507A (en) * | 1997-03-17 | 2000-02-08 | Sun Microsystems, Inc. | Automatic remote computer monitoring system |
CN102098179A (zh) * | 2011-02-16 | 2011-06-15 | 浪潮(北京)电子信息产业有限公司 | 一种计算机状态监测告警方法及系统 |
CN102279775A (zh) * | 2011-08-19 | 2011-12-14 | 西安交通大学 | 一种Linux系统下的硬盘故障处理方法 |
CN102508760A (zh) * | 2011-11-17 | 2012-06-20 | 浪潮(北京)电子信息产业有限公司 | 独立磁盘冗余阵列预警方法和系统 |
CN103744764A (zh) * | 2013-12-26 | 2014-04-23 | 浪潮电子信息产业股份有限公司 | 一种基于Crontab的整机内存稳定性的测试方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794041A (zh) * | 2015-05-08 | 2015-07-22 | 浪潮电子信息产业股份有限公司 | 一种Linux服务器阵列卡活动状态的监控方法及其装置 |
CN105141478A (zh) * | 2015-09-02 | 2015-12-09 | 浪潮电子信息产业股份有限公司 | 一种linux服务器sas卡硬盘状态的监控方法 |
CN106383774A (zh) * | 2016-09-22 | 2017-02-08 | 郑州云海信息技术有限公司 | 一种存储系统的告警推送方法及装置 |
CN107480022A (zh) * | 2017-08-22 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种Storage RACK系统硬盘自动扫描检测的测试方法 |
CN107766203A (zh) * | 2017-10-10 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种快速定位sds中硬盘故障的方法 |
CN108038031A (zh) * | 2017-12-07 | 2018-05-15 | 郑州云海信息技术有限公司 | 一种实时监控硬盘在线状态的方法及装置 |
CN109324944A (zh) * | 2018-09-06 | 2019-02-12 | 浪潮电子信息产业股份有限公司 | 一种储存器检测报警方法及设备 |
CN109542708A (zh) * | 2018-12-04 | 2019-03-29 | 浪潮电子信息产业股份有限公司 | 一种记录背板物理槽位和系统盘符对应关系的方法 |
CN109542708B (zh) * | 2018-12-04 | 2022-08-02 | 浪潮电子信息产业股份有限公司 | 一种记录背板物理槽位和系统盘符对应关系的方法及组件 |
CN111258813A (zh) * | 2020-01-13 | 2020-06-09 | 北京点众科技股份有限公司 | 一种报表数据自动恢复的方法和设备 |
CN111625185A (zh) * | 2020-05-07 | 2020-09-04 | 苏州浪潮智能科技有限公司 | 一种磁盘故障监控的方法、系统及相关组件 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103970642A (zh) | 一种Linux服务器硬盘在线状态的监控方法 | |
US7363365B2 (en) | Autonomous service backup and migration | |
US8423821B1 (en) | Virtual recovery server | |
US9448898B2 (en) | Network traffic routing | |
US20060015764A1 (en) | Transparent service provider | |
US20060015584A1 (en) | Autonomous service appliance | |
US20140068040A1 (en) | System for Enabling Server Maintenance Using Snapshots | |
TW201306632A (zh) | 用於服務之回復服務位置 | |
CN104536855A (zh) | 故障检测方法及装置 | |
CN104268061A (zh) | 一种适用于虚拟机的存储状态监控机制 | |
CN104536860A (zh) | 一种实时监测jbod模式下硬盘排列顺序的方法 | |
US11361086B2 (en) | Reliable datacenter protection at scale | |
US10877855B2 (en) | Techniques for data backup and restoration | |
US20190347185A1 (en) | Systems and methods for implementing an automated parallel deployment solution | |
CN105404581A (zh) | 一种数据库的评测方法和装置 | |
US9002798B1 (en) | Systems and methods for remedying corrupt backup images of host devices | |
CN104794041A (zh) | 一种Linux服务器阵列卡活动状态的监控方法及其装置 | |
CN105843871B (zh) | 分布式应用文件的控制与管理系统 | |
CN111181775B (zh) | 基于自动发现主机资产的一体化运维管理告警方法 | |
CN111522499A (zh) | 运维数据读取装置及其读取方法 | |
TW201335779A (zh) | 檔案同步系統及方法 | |
Verma et al. | SWEEPER: An Efficient Disaster Recovery Point Identification Mechanism. | |
US20230281087A1 (en) | Systems and methods for directory service backup and recovery | |
Cisco | Troubleshooting Cisco UGM | |
EP1774440A2 (en) | Autonomous service backup and migration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140806 |
|
WD01 | Invention patent application deemed withdrawn after publication |