关注

DELL EMC Unity 存储的基本故障排查方法

越来越多的DELL EMC的Unity存储系统进入第三方的维保,但是由于Unity复杂的体系架构,工程师们缺少最基本的故障排查技能,同时,DELL公司又TMD的限制了底层root权限的使用,使得unity存储故障的排查非常困难。已经遇到很多case,都是小问题,经过二把刀们的处理,最后变成了大问题,甚至最后导致数据彻底丢失。

本文的目的就是给工程师们一个最基本的故障排查方法,主要是使用CLI命令。很明显,从图形界面基本上看不到什么有价值的信息,对于一个控制器,只要这个控制器中的任何部件物理失效,软件服务有问题,控制器很多时候都会进入service mode,图形界面看到的就是major issue,critical,但具体是什么导致的问题,从图形界面几乎看不到任何有价值的信息。

这里主要介绍最基本也是最重要的故障排查命令 svc_diag,这个命令其实很强大,他可以输出很多root权限下才可以看到的信息,正确使用这个命令,可以初步完成对存储的故障排查,得到一些有价值的信息。

当然,如果问题复杂,最有效的办法还是先收集日志,然后发日志给我们,有专业团队和您一起排查问题,效率会高很多,也不会有错误的action plan到机器。

工具概述

svc_diag 是一个用于收集系统信息以便诊断和分类问题的unity内置工具,使用service权限就可以使用。它可以获取系统不同“状态”(states)的信息,默认运行 basic 状态,也可以根据用户指定的选项运行特定的状态或执行其他功能(如service tree)。

主要功能包括:

  1. 收集系统状态信息。
  2. 支持多种选项,如列出有效状态、运行服务树、显示boot block原因(这个是虚拟化的unity,不是物理的unity,中国国内应该用的很少)等。
  3. 处理单控(Single SP)和双控(Dual SP)环境的差异。

用法

基本用法:

svc_diag [options]

如果不提供任何选项,默认执行 --state basic,即运行基本状态。这个是我们很多工程师知道的内容


选项说明

以下是脚本支持的所有选项及其功能:

1. -s | --state [ all | st0 | "st0,...stN" ]
  • 功能:指定要执行的一个或多个系统状态。
  • 参数
    • all:运行所有有效状态(不能与其他参数组合使用)。
    • st0:单个状态名称。
    • "st0,...stN":逗号分隔的状态列表,需用引号括起来,无空格。
  • 行为
    • 如果指定了无效状态,脚本会跳过该状态,打印警告并继续处理其他状态。
    • 默认状态是 basic。
  • 示例
    • 运行所有状态:svc_diag --state all   如果你不清楚,就用这个all,输出很多内容,然后把内容发给我们来分析,加vx: StorageExpert
    • 运行特定状态:svc_diag --state "basic,extended,cru"   这是一个例子,你也可以从双引号里面放其他东西,具体的state可以用下面的--list来查询到
2. -l | --list
  • 功能:列出所有有效的状态。
  • 输出:从 /EMC/Platform/bin/states 目录中获取状态列表,排除 mfg、mfg_diskless 和 systemcheck 等状态。
  • 示例

    svc_diag --list 输出:Valid states are: basic,extended,cru,...

3. -t | --service-tree
  • 功能:运行服务树命令(sm_service_tree.x)。
  • 用途:用于显示系统服务的层次结构或状态。
  • 示例

    svc_diag --service-tree   这个感觉用处不大

4. -b | --boot-blocking   //这个可以忽略,物理的unity上没有这个参数
  • 功能:显示启动阻塞(boot blocking)的详细信息。
  • 限制
    • 在虚拟平台(C4_RUN_FAMILY == VIRTUAL)上支持。
    • 在非虚拟平台上会提示“命令不支持”。
  • 示例

    svc_diag --boot-blocking

5. -u | --update-sp-state  //这个有时候图形界面显示不正常的时候,更新下会正常起来
  • 功能:更新存储处理器(Storage Processor, SP)的状态。
  • 限制:不能在服务模式(Service Mode)下运行。
  • 行为:通过 REST API 调用 syncWithBackend 更新服务信息。
  • 示例

    svc_diag --update-sp-state

6. -m | --monitor-peer(仅限双 SP 系统)  这个很有用的功能,可以监控对端的启动状态,如果您不懂IPMITOOl,可以用这个命令来看到对端控制器的启动情况
  • 功能:监控对等存储处理器的状态。老的版本上没有这个功能
  • 限制:仅在双 SP 系统上可用,在单 SP 或虚拟平台上会提示“命令不支持”。
  • 示例

    svc_diag --monitor-peer

7. -g | --get-misc-status  //对于两个两个控制器的状态非常有用
  • 功能:运行 speclcli.exe -getMiscStatus 获取杂项状态信息。
  • 示例

    svc_diag --get-misc-status

其实,--state可以显示出非常多的内容,包括我们最喜欢看的那个物理部件出问题了。

转载自CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/m0_72255440/article/details/146117108

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--