首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[pve]在华为服务器上检测磁盘阵列状态(改)

[pve]在华为服务器上检测磁盘阵列状态(改)

作者头像
用户9314062
发布2022-05-20 14:16:49
发布2022-05-20 14:16:49
2.2K0
举报
文章被收录于专栏:LINUX开源玩家LINUX开源玩家

前几天安装了megaraid-storage-manager_17.05.02-2_all,用以前megacli的命令测试了一下就以为可以了。

今天在在网上搜了下storcli的命令发现不是这么回事,这里有华为官网的:

https://support.huawei.com/enterprise/en/doc/EDOC1000004186/77ee8d37/common-storcli-commands

仔细测试了下,发现这个版本(17.05.02-2)有问题,很多命令没法得到完整的输出。

我的服务器是RH2288 V3

代码语言:javascript
复制
# dmidecode -t 1
# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.

Handle 0x001E, DMI type 1, 27 bytes
System Information
Manufacturer: Huawei
Product Name: RH2288 V3
Version: V100R003
......

应该使用的是另一个版本的storcli:

下载地址:

https://docs.broadcom.com/docs-and-downloads/docs-and-downloads/raid-controllers/raid-controllers-common-files/007.1410.0000.0000_Unified_StorCLI%20-%20PUL.zip

解压后里面有个Ubuntu目录,下面有个storcli_007.1410.0000.0000_all.deb,直接安装就可以了。

代码语言:javascript
复制
dpkg -i storcli_007.1410.0000.0000_all.deb

他的默认安装目录在/opt/MegaRAID/storcli/

测试

代码语言:javascript
复制
# /opt/MegaRAID/storcli/storcli64 -v
      StorCli SAS Customization Utility Ver 007.1410.0000.0000 May 19, 2020

    (c)Copyright 2020, Broadcom Inc. All Rights Reserved.

# /opt/MegaRAID/storcli/storcli64  show
CLI Version = 007.1410.0000.0000 May 19, 2020
Operating system = Linux 4.13.16-1-pve
Status Code = 0
Status = Success
Description = None

Number of Controllers = 1
......

System Overview :
===============
-------------------------------------------------------------------
Ctl Model   Ports PDs DGs DNOpt VDs VNOpt BBU sPR DS EHS ASOs Hlth 
-------------------------------------------------------------------
  0 SAS3108     8   2   1     0   1     0 N/A On  -  Y      3 Opt  
-------------------------------------------------------------------
......

注意上面的Number of Controllers = 1

这表示只有一个阵列控制器,在下面的命令中,这个控制器的编号从0开始,下面的c0表示第一个控制器

代码语言:javascript
复制
# /opt/MegaRAID/storcli/storcli64 /c0 /vall show
CLI Version = 007.1410.0000.0000 May 19, 2020
Operating system = Linux 4.13.16-1-pve
Controller = 0
Status = Success
Description = None

Virtual Drives :
==============

---------------------------------------------------------------
DG/VD TYPE  State Access Consist Cache Cac sCC       Size Name 
---------------------------------------------------------------
0/0   RAID1 Optl  RW     Yes     RWTD  -   ON  278.464 GB      
---------------------------------------------------------------
......

可以看到只创建了一个虚拟磁盘磁盘组(上面的编号0),很就方便提取它的状态:

代码语言:javascript
复制
# /opt/MegaRAID/storcli/storcli64 /c0 /vall show | grep RAID | tr -s ' ' | cut -d ' ' -f-3 | awk '{print $3}'
Optl

最后拼凑一个简单脚本:

代码语言:javascript
复制
#! /bin/bash

STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3

PRESENT=$(/opt/MegaRAID/storcli/storcli64 /c0 /vall show | grep RAID | tr -s ' ' | cut -d ' ' -f-3 | awk '{print $3}')
if [[ ! $PRESENT = "Optl" ]]; then
  echo 'RAID is CRITICAL' && exit $STATE_CRITICAL
else
  echo 'All are OK' && exit $STATE_OK
fi

使用storcli命令也可以新建配置,修改阵列,但是不建议这么做,毕竟没有可视化工具来的方便和安全,容易出错。通常还是用来检测卡和磁盘的硬件状态。

如下面检测磁盘:

代码语言:javascript
复制
# ./storcli64 /c0 /eALL/sALL show all|grep -e '^Drive.*State :' | awk {'print $2'}
 ````
 /c0/e252/s0
 /c0/e252/s1
````

# ./storcli64 /c0/e252/s0 show all
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 LINUX开源玩家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档