检测raid类型和磁盘坏道脚本

#!/bin/sh
#脚本功能:
#安装工具MegaCli64
#Host Information:主机名和ip地址
#Raid  Information:raid信息和充电状态
#WARNING  Information:MediaErrcount检测坏块和哪块盘
#Disk  Information:磁盘信息
#上传MegaCli压缩包到opt目录下
Megdir=/opt/MegaRAID/MegaCli/
cd /opt
if [ ! -d $Megdir ];thenunzip MegaCLI.zip cd 8.07.10_MegaCLI_Linux/Linux\ MegaCLI\ 8.07.10/rpm -ivh MegaCli-8.07.10-1.noarch.rpmcp /opt/MegaRAID/MegaCli/MegaCli* /usr/local/sbincp /opt/MegaRAID/MegaCli/MegaCli* /usr/sbinecho "MegaCLI install sucess"
elseecho "MegaCLI already install"Hostname=`/bin/hostname`Hostip=`ifconfig | grep broadcast | awk "NR==1" | awk -F" " '{print $2}'`Battery=`MegaCli64 -AdpBbuCmd -GetBbuStatus -aALL|grep  "Charger Status"|awk -F: '{print $1"    :"$2}'`raid=`MegaCli64 -cfgdsply -aALL|grep "RAID Level"|tail -1|awk -F: '{print $1"        :"$2}'`Disknum=`MegaCli64 -cfgdsply -aALL|grep  -c  "Non Coerced Size"`Onlinedisk=`MegaCli64 -cfgdsply -aALL | grep "Online" | wc -l | sed 's/       //'`Faileddisk=`MegaCli64 -AdpAllInfo -aALL | grep "Failed Disks"|awk -F' ' '{print $4}'`echo ""echo "####################### Host Information #########################"echo "HostName          : $Hostname"echo "HostIp            : $Hostip"echo ""#raid信息echo "####################### Raid  Information ########################"case "$raid"in"RAID Level                  : Primary-1, Secondary-0, RAID Level Qualifier-0") echo "Raid Level        :Raid 1";;"RAID Level                  : Primary-0, Secondary-0, RAID Level Qualifier-0") echo "Raid Level        :Raid 0";;"RAID Level                  : Primary-5, Secondary-0, RAID Level Qualifier-3") echo "Raid Level        :Raid 5";;"RAID Level                  : Primary-1, Secondary-3, RAID Level Qualifier-0") echo "Raid Level        :Raid 10";;esac#充电状态if [ -z "$Battery" ];thenecho "Battery           :Null"elseecho "$Battery"fiecho ""echo "####################### WARNING  Information ########################"#预警的盘以及位置CriticalDisk=`/usr/sbin/MegaCli64 -AdpAllInfo -aALL | grep "Critical Disks" | awk '{print $4}'`if [ $CriticalDisk -eq 0 ];thenecho "Critical Disks is:0"elseCriDisk=`/usr/sbin/MegaCli64 -AdpAllInfo -aALL| grep -E 'Predictive|Slot' | awk '{if(NR%3){printf$0":"}else{print $0}}'|awk -F':' '{if($4!=0){print $2+1}}'`echo "WARNING Critical Disks In:$CriticalDisk"echo "Sector In:$CriDisk"fi#MediaErrcount检测坏块和哪块盘MediaErrcount=`/usr/sbin/MegaCli64 -pdlist -aALL | grep -E "Media Error" |awk -F’:’ -v errcount=0 '{errcount+=$2}END{print errcount}'`OtherErrcount=`/usr/sbin/MegaCli64 -pdlist -aALL | grep -E "Other Error" |awk -F’:’ -v errcount=0 '{errcount+=$2}END{print errcount}'`#坏盘的位置if [[ $MediaErrcount==0||$OtherErrcount==0 ]];thenmDoD=`/usr/sbin/MegaCli64 -pdlist -aALL |grep -E "Media Error|Other Error|Slot" | awk '{if(NR%3){printf$0":"}else{print $0}}' | awk -F':' '{if($4!=0||$6!=0){print $2+1}}'`echo -e "Bad Block In:
$mDoD"echo -e "CRITICAL:$MediaErrcount"elseecho "mediaerr:0 and othererr:0"fiecho ""echo "####################### Disk  Information ########################"echo "Total  Disk Number:$Disknum"echo "Online Disk Number:$Onlinedisk"echo "Failed Disk Number:$Faileddisk"echo ""
fi

检测raid类型和磁盘坏道脚本

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/252878.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单论述市场营销管理的基本过程

http://www.chinadmd.com/file/uvc3uaosocwevsetrzpaereo_1.html

Javascript-Switch

JavaScript Switch 语句 请使用 switch 语句来选择要执行的多个代码块之一。 语法 switch(n) { case 1:执行代码块 1break; case 2:执行代码块 2break; default:n 与 case 1 和 case 2 不同时执行的代码 }工作原理:首先设置表达式 n(通常是一个变量&…

《SpringBoot揭秘 快速构建微服务体系》读后感(三)

SpringApplication:SpringBoot程序启动的一站式解决方案 深入探索SpringApplication执行流程 因为书上的版本是1.2的,比较老,这里参考http://blog.csdn.net/zxzzxzzxz123/article/details/69941910 public ConfigurableApplicationContext ru…

装饰器函数

1.装饰器 ​ 装饰器:在不改变原函数的调用方式和函数,额外的增加功能 简单装饰器def timer(func):def inner():print(time.time())func() # 原来的函数return inner ​ timer # func1 timer(func1) def func1():print(func1) 函数带返回值def timer…

6G SDI/12G SDI 基带信号无压缩传输方案介绍

认知数字像素分辨率: 首先从分辨率(数字像素)角度来讲,从标清时代走到高清,从720x576到现在的1920x1080,宽高比从4:3到16:9,这个是我们比较熟悉的,4K实际上是建立在高清基础之上的,我们称之为“…

4月18日

u盘丢了,毁灭性的灾难 希望明天可以找到它,不然万字的策划案就要重写 这是一个灾难 转载于:https://www.cnblogs.com/dandansang/p/6731174.html

玩转SSH端口转发

ssh端口转发(tunnel) 我们在实施项目部署时经常会遇到一种问题,那就是当我们给一些安全系数高的客户部署服务时,大多都不会给我们提供公网访问的权限,但是很多时候为了方便又会允许服务器直接访问公网,遇到这种情况大多有两种办法…

12.4日团队工作总结

今天团队的主要任务是注重于画图工具的设计,这就意味着我们首要的任务是将画图工具设置出来并可以完整运行,接下来才能顾及之前的改图软件,但今天在设计的过程中,遇到了两者无法无缝结合的问题,目前还没解决。 转载于:…

WIFI DFS测试介绍

http://www.eefocus.com/summer12200/blog/09-02/166038_b9094.html 1. 概述: 目前在802.11系列标准中,涉及物理层的有4个标准:802.11、802.11b、802.11a、802.11g。根据不同的物理层标准,无线局域网设备通常被归为不同的类别,如…

git 远程仓库版本的回退以及git reset 几种常用方式记录

由于 github push 了两个比较潦草的commit, 自己很不满意,又不想重新开vpn进行上传,所以找了一下相关的教程。 最后研究了一下,原理为先在本地还原到你想要的commit,然后强制push 到远程仓库,强制将远程仓库还原到你想要的commit.…

【PHP】详解 $_SERVER 函数中QUERY_STRING和REQUEST_URI、SCRIPT_NAME、PHP_SELF区别

实例:1、http://localhost/index.php/Home/Home/index.html $_SERVER[QUERY_STRING] ""; $_SERVER[REQUEST_URI] "/index.php/Home/H1/index.html";$_SERVER[SCRIPT_NAME] "/index.php";$_SERVER[PHP_SELF] "/index.php/H…

微软发布Azure Cosmos DB产品以及新的物联网解决方案

微软于当地时间2018年12月4日召开了一年一度的以云计算和数据为中心的开发者大会,在会上微软正式发布Azure机器学习服务(Azure Machine Learning service),这是一个云平台,允许开发人员构建、训练和部署AI模型,并对Azure认知服务(…

安装Windows10,Ubuntu双系统14.04LTS记录

两种方式都可以制作https://jingyan.baidu.com/article/19192ad85aa445e53e5707c2.htmlhttps://www.cnblogs.com/arcsinw/p/5303615.html

物理层、数据链路层网络设备工作原理

物理层网络设备有中继器、集线器。 中继器的功能是将接收到的信号进行再放大然后传输出去,作用是将扩展网络设备信号传输的物理范围,缺点是扩大数据信号的同时也扩大的噪声,不能够进行广播隔离,网络利用率很低,现在基本…

java中重载和重写的区别

1:重载是指一个类中定义多个方法名相同但参数列表不同的方法,在编译时根据方法参数的个数和类型来决定绑定哪个方法; 重写是指在子类中定义和父类方法签名完全一样的方法,在程序运行时根据对象的类型不同而调用不同的方法。(注意不…

大华Global Shutter CMOS摄像机剖析

http://www.itavcn.com/news/201709/20170912/63257.shtml

最短路径——Dijkstra算法以及二叉堆优化(含证明)

一般最短路径算法习惯性的分为两种:单源最短路径算法和全顶点之间最短路径。前者是计算出从一个点出发,到达所有其余可到达顶点的距离。后者是计算出图中所有点之间的路径距离。 单源最短路径 Dijkstra算法 思维 本质上是贪心的思想,声明一个…

linux shmget shmctl

shmgetint shmget(key_t key, size_t size, int flag);key: 标识符的规则size:共享存储段的字节数flag:读写的权限返回值:成功返回共享存储的id,失败返回-1key_t key----------------------------------------------- key标识共享内存的键值: 0/IPC_P…

java控制台输入输出总结

一、控制台输入: 1.最常用:Scanner public static void main(String[] args) { System.out.println("请输入数据:"); Scanner scan new Scanner(System.in); String read scan.nextLine(); System.out.println("输入的数据为:"…

伯克利开源工具库RLib现已支持大规模多智能体强化学习

AI前线导读:近日,UC伯克利的研究团队RISELab在其Github的项目Ray Rlib 0.6.0中添加了面向多智能体强化学习(multi-agent Reinforcement Learning)的支持。本文由团队成员Eric Liang首发于RISELab团队主页,AI前线翻译整…