使用shell批量监控磁盘坏块(一)

硬件的监控其实还是蛮重要的,这个部分在嘉年华中也着重强调过,不过做起来确实还是有一些难度,我们也尝试了一些方法,最终准备两条腿走路,一边使用中控的方式来统一监控管理,同事考虑把硬件监控揉入zabbix的监控体系之中。今天来说使用统一监控的方式。
在强调硬件监控的重要性时,最好的说明方式就是用数据说话。
下面的是我在Oracle嘉年华分享中提到的一个部分,对于监控硬件监控还是很容易忽略的一个环节,但是又是最无奈的一个环节。
在各类故障之中,硬件故障占用了绝大部分的故障比例。当然这个数字也有一些针对性,不具有普遍性。不过总体来看硬件故障中的主板故障等等都是重中之中。

那么这些故障的影响情况怎么样呢,我们再来看看一个图形,下面说明的是累计几年的故障影响时长。
硬件故障的影响时长几乎就是满配了,一台服务器故障影响时长1分钟,那么几千台服务器几年下来就是几千分钟,这个数字是这么解读的。

好了,强调了硬件故障,这些监控也要开始做了。对我们来说一个比较直接而且相对来说容易实现的方式就是硬盘的监控了,其中的磁盘坏块就是一个典型例子了。
硬件坏块的监控做好了,其它的监控其实也就是触类旁通,缝缝补补即可。
总体的思路如下:
是通过一台中控机器来访问所有的服务器,然后发送响应的命令,然后在各个服务器本地执行,回调返回到中控机器。所有每台服务器都要统一部署一个类似客户端的软件,目前我先采用MegaCli来统一部署。

那么监控的实现方式方式和实现细节呢,我们来用下面的图形来说明这个流程。

首先在中控的机器中采用远程调用的方式来调用各个服务器端的megacli,得到坏块的情况
然后大批量的服务器就会生成一个报告来,得到了报告就可以做进一步的改进,把它格式化一番,我们可以通过邮件的方式来显示html的表格效果。
短信中可以得到一个概要的信息,可以直接统计出一个概要的坏块数作为参考,如果坏块数小于10个,暂时可以不需要进一步处理。
上面的也是一个实现思路,目前框架已经完成,html邮件已经实现,后面给大家共享一个第三方脚本,可以做美化的效果。

时间: 2024-08-02 15:54:45

使用shell批量监控磁盘坏块(一)的相关文章

使用shell批量监控磁盘坏块(二)

之前分享了第一篇 使用shell批量监控磁盘坏块(一),今天来简单说说这个需求的实现内容 . 首先主要思路是通过中控的机器来发送监控的细节,然后返回结果. 首先就是我们需要有一个服务器列表,里面会有这些需要的元数据信息. 比如列表如下: 192.127.133.13   某某服务中心主库           jeanron   Primary Linux   Oracle  N    xxx 192.127.133.12   某某服务备库           jeanron  Standby L

Linux/Unix shell 脚本监控磁盘可用空间

    Linux下监控磁盘的空闲空间的shell脚本,对于系统管理员或DBA来说,必不可少.下面是给出的一个监控磁盘空间空间shell脚本的样本,供大家参考.   1.监控磁盘的空闲空间shell脚本 robin@SZDB:~/dba_scripts/custom/bin> more ck_fs_space.sh #!/bin/bash # -----------------------------------------------------------------------------

SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)

原文:SQL Server自动化运维系列--监控磁盘剩余空间及SQL Server错误日志(Power Shell) 需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测.作为一个高效的DBA不可能每天都要上生产机上查看磁盘剩余或者直到磁盘无剩余空间报错后才采取扩容措施. 当然,作为微软的服务器有着自己的监控软件:SCCM(System Center

使用 DBMS_REPAIR 修复坏块

       对于Oracle数据块物理损坏的情形,在我们有备份的情况下可以直接使用备份来恢复.对于通过备份恢复,Oracel为我们提供了很多种方式,冷备,基于用户管理方式,RMAN方式等等.对于这几种方式我们需要实现基于数据库以及文件级别的恢复.RMAN同时也提供了基于块介质方式的恢复.也就是说我们根本不需要还原数据文件,而是直接从备份文件基于块来提取以实现联机恢复.可参考基于RMAN实现坏块介质恢复(blockrecover) .这是比较理想的情形.如果没有任何备份怎么办?我们可以使用Ora

Oracle坏块问题处理 Oracle坏块修复 Oracle坏块怎么办

Oracle数据库出现坏块现象是指:在Oracle数据库的一个或多个数据块(一个数据块的容量在创建数据库时由db_block_size参数指定,缺省为8K)内出现内容混乱的现象.由于正常的数据块都有固定的合法内容格式,坏块的出现,导致数据库进程无法正常解析数据块的内容,进而使数据库进程报错乃至挂起,并级联导致整个数据库实例出现异常. 一.坏块分类 物理坏块:也可以称为介质坏块,指的是块格式本身是坏的,块内的数据没有任何意义. 逻辑坏块:指的是块内的数据在逻辑是存在问题.比如说索引块的索引值没有按

如何在Linux上检测硬盘上的坏道和坏块

让我们从坏道和坏块的定义开始说起,它们是一块磁盘或闪存上不再能够被读写的部分,一般是由于磁盘表面特定的物理损坏或闪存晶体管失效导致的. 随着坏道的继续积累,它们会对你的磁盘或闪存容量产生令人不快或破坏性的影响,甚至可能会导致硬件失效. 同时还需要注意的是坏块的存在警示你应该开始考虑买块新磁盘了,或者简单地将坏块标记为不可用. 因此,在这篇文章中,我们通过几个必要的步骤,使用特定的磁盘扫描工具让你能够判断 Linux 磁盘或闪存是否存在坏道. 以下就是步骤: 在 Linux 上使用坏块工具检查坏道

基于RMAN实现坏块介质恢复(blockrecover)

      对于物理损坏的数据块,我们可以通过RMAN块介质恢复(BLOCK MEDIA RECOVERY)功能来完成受损块的恢复,而不需要恢复整个数据库或所有文件来修复这些少量受损的数据块.恢复整个数据库或数据文件那不是大炮用来打蚊子,有点不值得!但前提条件是你得有一个可用的RMAN备份存在,因此,无论何时备份就是一切.本文演示了产生坏块即使用RMAN实现坏块恢复的全过程.   1.创建演示环境 SQL> select * from v$version where rownum<2; BAN

在 Linux 上检测硬盘上的坏道和坏块

让我们从坏道和坏块的定义开始说起,它们是一块磁盘或闪存上不再能够被读写的部分,一般是由于磁盘表面特定的物理损坏或闪存晶体管失效导致的. 随着坏道的继续积累,它们会对你的磁盘或闪存容量产生令人不快或破坏性的影响,甚至可能会导致硬件失效. 同时还需要注意的是坏块的存在警示你应该开始考虑买块新磁盘了,或者简单地将坏块标记为不可用. 因此,在这篇文章中,我们通过几个必要的步骤,使用特定的磁盘扫描工具让你能够判断 Linux 磁盘或闪存是否存在坏道. 以下就是步骤: 在 Linux 上使用坏块工具检查坏道

用ORACLE8i修复数据库坏块的三种方法

oracle|数据|数据库 在进行SUN CLUSTER双机切换.意外断电或其它情况下,有时会发生共享盘MOUNT不上的情况,需要使用FSCK对共享盘进行修复.修复完成后,在数据库启动过程中,却又出现"数据块损坏,无法启动数据库"的现象,此时,可以根据不同的数据块损坏类型,检测并修复错误.在此介绍三种使用Oracle8i修复损坏数据块的方法. 一.数据块损坏,错误代码为ORA-01578 ORA-1115 I/O ERROR READING BLOCK 通常后跟ORA-737X错误与操