• 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)
  • 相关阅读:
    python中向函数传递列表
    python中函数与while循环结合
    python中使用函数和不使用函数程序的比较
    python中函数返回字典
    python中传递任意数量的实参 (收集参数)
    python中给函数添加返回字典中的可选键值对
    python中禁止函数修改列表
    python中结合使用位置实参和任意数量实参(收集参数)
    SAP所有用户出口列表(4.6C)(续)
    常见的abap面试题目,请大家对照学习
  • 原文地址:https://www.cnblogs.com/51runsky/p/8346bcc5fd1f48b503ad2c4dd1fc5a5c.html
Copyright © 2020-2023  润新知