Megacli格式化脚本

背景:

由于Megacli以及hpacucli工具查看raid、硬盘信息时不方便查看,特编写shell脚本格式处理,方便管理。


showdisk.sh

 1 #!/bin/bash
 2 ## useage: check raid info
 3 ## Check HP or DELL and Other Server
 4
 5 grep -qi ‘=hp‘ /etc/xxxinstall.conf                #内部标记
 6 if (($?==0));then
 7   SLOT=`sudo hpacucli ctrl all show status|grep Slot|awk ‘{print $6}‘`
 8   hpacucli controller slot=$SLOT  show status
 9   echo "HP Raid Level Info:"
10   hpacucli controller slot=$SLOT ld all show | awk ‘{ if ($0 ~ /array/) printf "array "$NF ":"; if($0 ~ /logicaldrive/) print $0}‘
11   echo ‘===================================================‘
12   hpacucli controller slot=$SLOT pd all show | awk ‘{ if ($0 ~ /array/) printf "array "$NF ":\n"; if($0 ~ /physicaldrive/) print $0}‘
13 else
14   Megacli=‘/opt/MegaRAID/MegaCli/MegaCli64‘
15   $Megacli -PDList -aALL -NoLog | awk -F":" ‘{if($1 ~/^Slot/) printf("%s:%2s\t",$1,$2)} ; \
16         {if ( $1 ~ /^Media Error/ ) printf("%s:%5s\t",$1,$2)}; 17         {if ( $1 ~ /^Other Error Count/) printf("%s:%5s\t",$1,$2)};18         {if ( $1 ~ /^Predictive/) printf("%s:%5s\t",$1,$2)}; 19         {if ( $1 ~ /^Firmware state/) printf("%s:%5s\n",$1,$2)}‘
20   echo -e "\n"
21   $Megacli -FwTermLog -Dsply -aALL -NoLog | egrep "CopyBack progress|Rebuild progress" | awk -F"=" ‘{print $NF}‘ | tail -1
22   $Megacli -LdPdInfo -aALL -Nolog |awk ‘BEGIN{print "========================================"}{if($0 ~ /^Virtual Drive:/) print $0};\
23         {if($0 ~ /^RAID Level/) print "   "$1,$2,$3,$4,$5}; 24         {if($0 ~ /^Size/) print "     Size: "$3,$4}; 25         {if($0 ~ /^Parity/) print "     Parity Size: "$4,$5}; 26         {if($0 ~ /^Current Cache/) print "     Policy: "$4}; 27         {if($0 ~ /^Enclosure Device ID/) printf("\tEnID:%s",$4)}; 28         {if($0 ~ /^Slot/) printf("  %s",$0)}; 29         {if($0 ~ /^Inquiry Data/) printf("  %s\n",$0)};END{print "========================================"}‘
30 fi

使用案例:

 1 [[email protected] ~]# curl -s ftp://10.73.11.200/showdisk.sh|bash
 2 Slot Number: 0  Media Error Count:    0 Other Error Count:    0 Predictive Failure Count:    0  Firmware state: Online, Spun Up
 3 Slot Number: 1  Media Error Count:    0 Other Error Count:    0 Predictive Failure Count:    0  Firmware state: Online, Spun Up
 4 Slot Number: 2  Media Error Count:    0 Other Error Count:    0 Predictive Failure Count:    0  Firmware state: Online, Spun Up
 5 Slot Number: 3  Media Error Count:    0 Other Error Count:    0 Predictive Failure Count:    0  Firmware state: Online, Spun Up
 6 ========================================
 7 Virtual Drive: 0 (Target Id: 0)
 8    RAID Level : Primary-5, Secondary-0,                         #raid5
 9      Size: 836.625 GB
10      Parity Size: 278.875 GB
11      Policy: WriteThrough,
12         EnID:32  Slot Number: 0  Inquiry Data: SEAGATE ST9300605SS     CS056XP165XQ
13         EnID:32  Slot Number: 1  Inquiry Data: SEAGATE ST9300605SS     CS056XP16S0A
14         EnID:32  Slot Number: 2  Inquiry Data: SEAGATE ST9300605SS     CS056XP16S4L
15         EnID:32  Slot Number: 3  Inquiry Data: SEAGATE ST9300605SS     CS056XP16VJT
16 ========================================

 1 [[email protected] ~]# curl -s ftp://10.73.11.200/showdisk.sh|bash
 2 Slot Number: 0  Media Error Count:    0 Other Error Count:    0 Predictive Failure Count:    0  Firmware state: Online, Spun Up
 3 Slot Number: 1  Media Error Count:    6 Other Error Count:    0 Predictive Failure Count:    0  Firmware state: Online, Spun Up
 4 Slot Number: 2  Media Error Count:    0 Other Error Count:    0 Predictive Failure Count:    0  Firmware state: Online, Spun Up
 5 Slot Number: 3  Media Error Count:    0 Other Error Count:    0 Predictive Failure Count:    0  Firmware state: Online, Spun Up
 6 Slot Number: 4  Media Error Count:    0 Other Error Count:    0 Predictive Failure Count:    0  Firmware state: Online, Spun Up
 7 Slot Number: 5  Media Error Count:    0 Other Error Count:    0 Predictive Failure Count:    0  Firmware state: Online, Spun Up
 8 Slot Number: 6  Media Error Count:    0 Other Error Count:    0 Predictive Failure Count:    0  Firmware state: Online, Spun Up
 9 Slot Number: 7  Media Error Count:    0 Other Error Count:    0 Predictive Failure Count:    0  Firmware state: Online, Spun Up
10 Slot Number: 8  Media Error Count:    0 Other Error Count:    0 Predictive Failure Count:    0  Firmware state: Online, Spun Up
11 Slot Number: 9  Media Error Count:    0 Other Error Count:    0 Predictive Failure Count:    0  Firmware state: Online, Spun Up
12 Slot Number: 10 Media Error Count:    0 Other Error Count:    0 Predictive Failure Count:    0  Firmware state: Online, Spun Up
13 Slot Number: 11 Media Error Count:    0 Other Error Count:    0 Predictive Failure Count:    0  Firmware state: Online, Spun Up
14 Rebuild progress on PD 02(e0x20/s2) is 99.94%(37400s)
15 ========================================
16 Virtual Drive: 0 (Target Id: 0)
17    RAID Level : Primary-1, Secondary-0,                                           #raid10
18      Size: 1.361 TB
19      Policy: WriteBack,
20         EnID:32  Slot Number: 0  Inquiry Data: SEAGATE ST3300657SS     ES646SJ1L4WD
21         EnID:32  Slot Number: 1  Inquiry Data: SEAGATE ST3300657SS     ES646SJ0R3BP
22         EnID:32  Slot Number: 2  Inquiry Data: SEAGATE ST3300657SS     000B6SJ8JRVM
23         EnID:32  Slot Number: 3  Inquiry Data: SEAGATE ST3300657SS     ES646SJ0RYX4
24         EnID:32  Slot Number: 4  Inquiry Data: SEAGATE ST3300657SS     ES646SJ1L4A9
25         EnID:32  Slot Number: 5  Inquiry Data: SEAGATE ST3300657SS     ES646SJ0TFTT
26         EnID:32  Slot Number: 6  Inquiry Data: SEAGATE ST3300657SS     ES646SJ1L36W
27         EnID:32  Slot Number: 7  Inquiry Data: SEAGATE ST3300657SS     ES646SJ1K3C5
28         EnID:32  Slot Number: 8  Inquiry Data: SEAGATE ST3300657SS     ES646SJ1KFYK
29         EnID:32  Slot Number: 9  Inquiry Data: SEAGATE ST3300657SS     ES646SJ0W431
30 Virtual Drive: 1 (Target Id: 1)
31    RAID Level : Primary-1, Secondary-0,
32      Size: 148.5 GB
33      Policy: WriteBack,
34         EnID:32  Slot Number: 10  Inquiry Data: CVPR114205T3160DGN  INTEL SSDSA2CW160G3                     4PC10302
35         EnID:32  Slot Number: 11  Inquiry Data: CVPO108200B1160AGN  INTEL SSDSA2M160G2GC                    2CV102M3
36 ========================================

 1 [[email protected] ~]# curl -s ftp://10.73.11.200/showdisk.sh|bash                     ##HP server
 2 Smart Array P410i in Slot 0 (Embedded)
 3    Controller Status: OK
 4    Cache Status: OK
 5    Battery/Capacitor Status: OK
 6 HP Raid Level Info:
 7 array A:      logicaldrive 1 (136.7 GB, RAID 1, OK)
 8 ===================================================
 9 array A:
10       physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 146 GB, OK)
11       physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 146 GB, OK)
时间: 2024-09-20 14:28:40

Megacli格式化脚本的相关文章

lustre文件系统部署流程

# 1 准备工作### 1.1 添加以太网址添加以太网地址,使得gio017可以访问到需要安装的节点.修改gio017上的/etc/hosts,将需要批量操作的节点名以如下方式添加.```[gio017:/etc/hosts]......20.0.2.15 gio01520.0.2.16 gio016......```### 1.2 配置c3配置c3使得可以在gio017上进行批量操作.修改gio017上的/etc/c3.conf,将需要批量操作的节点名以如下方式添加.```[gio017:/e

Chrome 开发工具指南

Chrome 开发工具指南 谷歌 Chrome 开发工具,是基于谷歌浏览器内含的一套网页制作和调试工具.开发者工具允许网页开发者深入浏览器和网页应用程序的内部.该工具可以有效地追踪布局问题,设置 JavaScript 断点并可深入理解代码的最优化策略. 适用人群 这篇教程将会带你从头开始使用学习如何利用 Google 提供的组件进行 Chrome 上的相关开发调试工作. 通过本教程,你将学会如何使用这些工具,并且学会如何通过它来分析调试提供的 Demo . 学习前提 在你继续本教程之前,你必须对

IE开发人员工具之实用功能讲解

F12快捷键调出开发人员工具 一.JS的内容格式化 1.内容较乱的js脚本: 2.勾选下面两项即可进行格式化脚本:自动换行与格式化JS 3.调理清楚的脚本 二:清空控制台 1.右键->清空 2.console.clear() 三:用控制台代替alert() 当你需要调试代码中的值却又不想中断代码的执行时,我们可以用: window.console.log("HelloWorld"); 在控制台查看. 四:调试JS时的断点快捷键 F9:添加/移除 断点 F10:逐过程,即跳过该语句

Flex笔记_格式化数据

格式化程序(formatter) 是一类对象,它们可以接收原始数据,并将其转换为可展示的格式. 用法上同验证器在实现机制上比较类似. 应用模式有下列两种: 实时格式化: 脚本式格式化 用法简单,输入原始数据,就会输出结构清晰,容易认读的格式化数据. 内置的格式化程序 Formatter 所有专用格式化程序的父类,可以作为其它格式化程序的模板. format函数:接收一个需要被格式化的对象,返回string类型的结果. error属性 NumberFormatter 用来处理数值表示的细节,如小数

[转载]Tutorial: Todo-List 应用

本文转载自: https://github.com/myzhan/bottle-doc-zh-cn/blob/master/docs/tutorial_app.rst Note 这份教程是 noisefloor 编写的,并在不断完善中. 这份教程简单介绍了Bottle框架,目的是让你看完后能在项目中使用Bottle.它没有涵盖所有东西,但介绍了URL映射,模板,处理GET/POST请求等基础知识. 读懂这份教程,你不需要事先了解WSGI标准,Bottle也一直避免用户直接接触WSGI标准.但你需

Android Studio 环境配置优化

一.插件 .ignore: 版本控制忽略文件高亮和补齐ADB Idea: ctrl + Shift + A 查找中添加常用卸载安装app的一些操作,无需命令行Android ButterKnife Zelezny: butterKnife自动生成注解插件,包括holderAndroid Parcelable code generator: Parcelable 自动生成插件Androd Propery Initializer: findViewById 生成插件Codota: 搜索代码用,楼上有

Linux01-脚本编程之八until循环及脚本完成磁盘分区格式化37

一.脚本编程控制结构 1.顺序 2.选择 if case 3.循环 a)for b)while CONDITION:do statment ... done 进入循环:条件满足 退出循环:条件不满足 c)until 二.until循环 1.格式: until CONDITION; do statement ... done 2.表示: 进入循环:条件不满足 退出循环:条件满足 如:写脚本,每5s检查一次hadoop是否登录系统: #!/bin/bash # who | grep "hadoop&

Shell脚本实现磁盘分区格式化

Shell脚本实现磁盘分区格式化 我们的Shell脚本程序结构分为,顺序结构,选择结构以及循环结构,我们之前已经介绍过选择结构包括if.case语句,循环结构包括for循环.while循环以及until循环,今天我们就来介绍一下until循环,until循环的语法格式如下: until condition;do 循环体 done 由以上可以看出,我们的until循环的语法格式和我们的while循环是一样的,唯一不同的是我们的while循环是在满足condition的情况下进入循环体进行循环,而我

《懒人Shell脚本》之七——格式化处理数据存入数据库实现

0.引言 实际应用开发中遇到:将非格式化的文件数据存储到数据库中.对于传统的格式化的数据:ini/json/xml我们都有现成的类库去实现.而对于如下非格式化的数据呢?以下是我的思考与实现. 数据截取片段如下所示: [[email protected] 2017]# head -n 10 input.txt [url]http://epaper.tianjinwe.com/mrxb/mrxb/2013-02/21/content_7566593.htm 新报讯[记者王晶通讯员赵子强]对31.66