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 ":
"; 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	",$1,$2)} ; 
16         {if ( $1 ~ /^Media Error/ ) printf("%s:%5s	",$1,$2)}; 
17         {if ( $1 ~ /^Other Error Count/) printf("%s:%5s	",$1,$2)};
18         {if ( $1 ~ /^Predictive/) printf("%s:%5s	",$1,$2)}; 
19         {if ( $1 ~ /^Firmware state/) printf("%s:%5s
",$1,$2)}'
20   echo -e "
"
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("	EnID:%s",$4)}; 
28         {if($0 ~ /^Slot/) printf("  %s",$0)}; 
29         {if($0 ~ /^Inquiry Data/) printf("  %s
",$0)};END{print "========================================"}'
30 fi
使用案例:
 
 1 [root@master1 ~]# 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 [root@h011152 ~]# 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 [root@test1 ~]# 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)
原文地址:https://www.cnblogs.com/51runsky/p/8346bcc5fd1f48b503ad2c4dd1fc5a5c.html