PowerFlex:GET_INFO — 支持捆绑包收集实用程序

Summary: get_info.sh — 从 PowerFlex 主机收集诊断信息并将其打包到支持包中。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

get_info.sh [选项]


描述

get_info.sh 是一个诊断实用程序,从 PowerFlex(以前称为 ScaleIO)主机收集调试信息并将其归档到压缩包中,以供支持人员进行分析。

该实用程序从多个来源收集数据,包括:

  • PowerFlex 组件日志、配置和跟踪文件
  • MDM/SCLI 查询输出和内部调试转储
  • PowerFlex 组件内部诊断
  • 操作系统配置、日志和运行时状态
  • 硬件资源清册(存储控制器、网络设备、NVMe、NVDIMM 等。)
  • 核心转储(现有,可根据需要生成)
  • 诊断数据收集器 (diag_coll) 统计信息

生成的捆绑包是单个压缩归档(默认为 tar/gz),可传输到 PowerFlex 支持以进行进一步分析。

只有一个实例 get_info.sh 可以在给定时间在主机上运行。如果没有足够的可用空间用于其输出,则拒绝运行(除非显式跳过空间检查)。

选项

一般选项

  • -a--all

    收集所有数据。这相当于指定 --mdm-repository、 --collect-cores、 --max-cores=2、 --valgrind-cores以及 --analyse-diag-coll.

  • -A--analyse-diag-coll

    分析诊断数据收集器 (diag coll) 数据

  • -b[COMPONENTS], --collect-cores[=COMPONENTS]

    收集用户 land 的空格分隔列表的现有核心转储 COMPONENTS。默认值(当 COMPONENTS 省略):所有用户本地组件
     

提醒:此项之间不得有空格 -b 和组件。对于长格式,使用 =

 

示例

-b'mdm sds'
--collect-cores='mdm sds'
  • -d OUT_DIR--output-dir=OUT_DIR

    将生成的捆绑包存储在目录下 OUT_DIR. Default: <WORK_DIR>/scaleio-getinfo (请参见 --work-dir).

  • -f--skip-mdm-login

    跳过对 PowerFlex MDM 登录凭据的查询。当用户已手动登录时,此选项很有用。

  • -h--help

    显示帮助消息并退出。当与 --tech,还会显示技术人员选项。

  • -J--xz

    使用 tar/xz 已收集的捆绑包的格式,而不是默认格式 tar/gz. 如果系统的 tar(1) 不支持 --use-compress-program 或 xz(1) 未找到。

  • -k NUM--max-cores=NUM

    收集多达 NUM 核心文件。Default: 所有核心文件,意味着 --collect-cores

  • -l--light

    生成轻型捆绑包。收集核心时,仅收集最新一代编号的日志文件,并且不包括组件可执行文件或库。使用此选项会降低可支持性,不建议使用此选项。

  • -m NUM--max-traces=NUM

    收集多达 NUM 来自每个组件的 PowerFlex 跟踪文件。Default: 所有文件

  • -N--skip-space-check

    在数据收集之前跳过可用磁盘空间验证。

  • -P PATH--collect-path=PATH

    收集其他路径 PATH. 仅接受绝对路径。接受通配符;应使用通配符进行引号。可以多次指定此选项以收集多个路径。

  • -q--quiet--silent

    禁止在标准输出上显示消息。

  • -r--mdm-repository

    收集 MDM 存储库文件。

  • -s--skip-sdbg

    跳过 SDBG(诊断调试器)输出的收集。

  • -S--pause-core-generation

    在数据收集期间暂停 PowerFlex 组件的核心生成。收集完成后,将还原原始配置。

  • -w WORK_DIR--work-dir=WORK_DIR

    使用目录 WORK_DIR 用于临时文件。Default: /tmp

  • -x FILE--output-file=FILE

    将收集的捆绑包存储为名为 FILE。相应的文件名后缀 (.tgz、 .zip等)会自动添加。如果 FILE 是 (短划线),将捆绑包写入标准输出(意味着 --quiet)。将捆绑包写入标准输出时,磁盘上不会创建捆绑包文件。Default: getInfoDump

  • -z--zip

    使用 zip 已收集的捆绑包的格式,而不是默认格式 tar/gz。在以下情况下被忽略 zip(1) 在系统上找不到。

  • --mdm-port=PORT

    使用端口连接到 MDM PORT 用于 SCLI 命令。Default: scli default behavior

  • --overwrite-output-file

    覆盖输出文件(如果已存在)。显式指定输出文件或目录时(使用 -x 或 -d),默认行为是拒绝覆盖;此选项将覆盖该值。

  • --tech

    在帮助消息输出中包括技术人员选项。

MDM 登录选项

以下选项将传递给 SCLI --login 命令验证每个 SP 是处于正常模式还是修复模式。其行为和默认值由 SCLI 管理。

  • -n--use-nonsecure-communication

    以非安全模式连接到 MDM。

  • -p PASSWORD--password=PASSWORD

    使用 PASSWORD 用于 PowerFlex MDM 登录。Default: SCLI 默认行为

  • -u USERNAME--username=USERNAME

    使用 USERNAME 用于 PowerFlex MDM 登录。Default: SCLI 默认行为

  • --ldap-authentication

    使用基于 LDAP 的身份验证登录到 PowerFlexMDM。

  • --management-system-ip=ADDRESS

    连接到 SSO/M&O 网址为: ADDRESS 用于 PowerFlex 登录。Default: SCLI 默认行为

  • --p12-password=PASSWORD

    加密 PowerFlex 登录 PKCS#12 文件使用 PASSWORD。Default: SCLI 默认行为

  • --p12-path=FILE

    存储 PowerFlex 登录信息 PKCS#12 文件为 FILE。Default: SCLI 默认行为

技术人员选项

以下选项旨在供支持技术人员使用,并且仅在以下情况下在帮助消息中显示: --tech 指定。

  • -c[COMPONENTS], --generate-cores[=COMPONENTS]

生成核心文件(使用 gcore(1)) 用于 user-land 的空格分隔列表的正在运行的进程 COMPONENTS。默认值:all user-land components,意味着 --collect-executables,并且需要 gdb 和 gcore

 
提醒:此项之间不得有空格 -c 和 COMPONENTS。对于长格式,使用 =。 
 

示例:

-c'mdm sds'
--generate-cores='mdm sds'
  • -C CORE_FILE--reference-core-file=CORE_FILE

    收集与上次修改时间相关的产品日志和核心 (mtime) 的 CORE_FILE,而不是执行开始时间。意味 着 --collect-cores

  • -E REF_TIME--event-time=REF_TIME

    收集与以下内容相关的产品日志和核心 REF_TIME,而不是执行开始时间。接受 date(1)。意味 着 --collect-cores

  • -g[COMPONENTS], --valgrind-cores[=COMPONENTS]

收集 valgrind 指定用户 land 的核心转储 COMPONENTS。默认:所有用户领域组件。意味 着 --collect-executables

 
提醒:此项之间不得有空格 -b 和 COMPONENTS。对于长格式,使用 =
 

示例:

-g'mdm sds'
--valgrind-cores='mdm sds'
  • -t MIN--minutes-before-event=MIN

    收集产品日志和核心,生成多达 MIN 参考时间前几分钟。Default: 15

  • -T MIN--minutes-after-event=MIN

    收集产品日志和核心,生成多达 MIN 参考时间后的几分钟。Default: 5

  • -X[COMPONENTS], --collect-executables[=COMPONENTS]

    收集指定用户 land 的组件可执行文件及其共享库 COMPONENTS。Default: 所有用户本地组件

 
提醒:此项之间不得有空格 -b 和 COMPONENTS。对于长格式,使用 =
 

示例:

-X'mdm sds'
--collect-executables='mdm sds'
  • --keep-work-dir

    在创建捆绑包后保留生成的临时工作目录(自动清理)。

捆绑包结构

输出捆绑包是单个压缩归档。

  • 捆绑包顶层目录是收集的系统的主机名。
  • 常规主机命令输出进入 server/ 目录。
    文件名为 <command> + <arguments> + 后缀 (.txt 默认)。空格替换为 _,非字母数字字符剥离
    示例: server/ip_-s_addr.txt – output of ip -s addr
  • 产品命令输出进入组件的子目录。 mdm/ 对于 scli、 sdc/ 对于 drv_cfg等。
    命令名称 (scli、 drv_cfg等)被剥离。第一个有意义的参数将成为文件名。文件被指定为相关后缀, .txt 。

示例: 

    • mdm/query_cluster.txt - 输出 scli --query_cluster
    • mdm/tgt_dump.txt - 输出 scli --debug_action --tgt_dump
    • sdc/query_mdms.txt - 输出 drv_cfg --query_mdms
    • sds/sdbg.txt - SDBG的输出 dumpallscreens 用于 SDS
  • 产品组件文件(而不是命令输出), <component>/cfg、 <component>/logs,以此类推
    从组件的目录中复制,并去除前缀。

示例: 

    • mdm/cfg/conf.txt - 复印件 /opt/emc/scaleio/mdm/cfg/conf.txt
    • sds/logs/trc.0 - 复印件 /opt/emc/scaleio/sds/logs/trc.0
  • 主机文件系统文件位于其文件系统路径中相对于捆绑包根目录的位置。

示例:

    • etc/os-release - 复印件 /etc/os-release
    • var/log/messages - 复印件 /var/log/messages
    • proc/cpuinfo - 复印件 /proc/cpuinfo
  • 诊断收集器 (diag_coll) 文件使用 /opt 前缀去掉,保留内部结构。
    示例: diag_coll/logs/sar.0 - 复印件 /opt/diag_coll/logs/sar.0
  • 隐藏文件(以点为前缀)通过删除前导点来“取消隐藏”。
  • 实用程序执行日志, get_info_run.log,直接放置在主机名>/根目录下<

捆绑包目录树结构:

<hostname>/
|-- get_info_run.log                   Utility execution log
|-- server/                            General command output directory
|   |-- ip_-s_addr.txt
|   |-- uptime.txt
|   |-- uname_-a.txt
|   |-- ps_-elF.txt
|   |-- dmesg.txt
|   +-- ...                            (one file per collected command)
|
|-- mdm/                               PowerFlex component data (if installed)
|   |-- cfg/                           Configuration files (excl. PEM)
|   |-- logs/                          Trace and log files
|   |-- rep/                           Repository (if --mdm-repository)
|   |-- query_all.txt                  SCLI query outputs
|   |-- sdbg.txt                       SDBG screen dumps
|   +-- ...
|-- sds/
|-- pds/  
|-- dgwt/
|-- sdr/
|-- sdt/
|-- lia/
|-- sdc/
|-- gateway/
|
|-- diag_coll/                         Diagnostic data collector (if installed)
|   |-- logs/
|   |-- cfg/
|   +-- ...
|
|-- etc/                               Host files
|   |-- os-release
|   |-- sysconfig/
|   |-- network/
|   +-- ...
|-- var/
|   |-- log/
|   |   |-- messages
|   |   +-- ...
|   +-- ...
|-- proc/
|   |-- cpuinfo
|   |-- meminfo
|   +-- ...
|-- sys/
|-- ...
|
|-- scaleio-getinfo-extra/        Extra diagnostic data (if present)
+-- scaleio-getinfo-backup/       Backed-up configuration files (if any)

产品日志和核心文件筛选

本节中介绍的选项控制产品日志文件(也称为跟踪文件,例如 trc.0、 trc.1、 exp.0) 并选择核心转储文件以包含在收集的捆绑包中。他们通过定义参考时间、围绕它的时间窗口计数限制来做到这一点。

未指定筛选选项时,将收集所有产品日志文件和(如果启用了核心收集)所有核心转储文件。筛选选项会逐步缩小此选择范围,如下所述。

参考时间

参考时间可通过以下任一方法进行设置 -E/--event-time 或 -C/--reference-core-file

如果两者都不是 --event-time 也 --reference-core-file 给定,则不执行时间窗口过滤:参考时间默认为当前时间,并且仅用于当计数限制 (-m 或 -k) 生效(请参阅下面的计数限制)。

如果两者兼而有之 -E 和 -C 出现时,命令行上的最后一项生效。

时间窗口

设置参考时间(使用 --event-time 或 --reference-core-file),围绕它建立了一个时间窗口。可以使用以下命令设置时间窗口范围: -t/--minutes-before-event 和 或 -T/--minutes-after-event,分别默认为 15 分钟和 5 分钟。只有内容与此窗口重叠的文件才符合收集条件。

例如: -E "2020-03-20 14:30" -t 10 -T 3 收集涵盖 14:20:00 到 14:33:00 的文件。

--minutes-before-event 和 --minutes-after-event 在任一情况均不被忽略 --event-time 也 --reference-core-file 指定。

计数限制

可以使用以下命令设置文件计数限制: -m/--max-traces 和 -k/--max-cores,分别用于日志文件和核心文件。该限制是按组件测量的。

当时间窗口内有超过 NUM 的文件(或者,如果没有处于活动状态的窗口,则可用)时,将收集最接近参考时间的 NUM 文件。

在不 --event-time 或 --reference-core-file,所有文件均为候选文件(无时间窗口),并选择 NUM 最新文件。

筛选逻辑

文件筛选首先应用于时间窗口,然后应用于计数限制:

  1. 确定候选人。枚举组件的所有产品日志文件和/或核心转储文件。
  2. 派生内容期。产品日志文件内容代表一个句点。内容期被视为从其前身的上次修改时间(mtime)或 UNIX 纪元(当不存在前置项时);它以文件本身结束 mtime。核心转储文件表示某个时间点,位于文件的 mtime
  3. 应用时间窗口(如果 -E 或 -C 指定)。内容完全落在窗口之外的文件将从选择中丢弃。对于产品日志文件,如果没有文件位于窗口内,则会保留最接近窗口的单个文件,以便组件的捆绑包永远不会为空。对于核心转储文件,此类回退不适用。
  4. 应用计数限制(如果 -m 和 或 -k 指定)。在剩余文件中,最多 NUM 被选中,优先选择最接近参考时间的时间。参考时间之前和之后的文件均等地竞争选择。

认证

如果检测到主 MDM 进程在侦听预期的端口(默认值:6611)

MDM 登录选项将传递给 SCLI --login 命令,并由其处理。

如果登录失败,实用程序会终止并显示错误。

跳过登录时,仍会尝试 SCLI 命令(以支持用户事先手动登录的情况)。三次 SCLI 失败后,将显示警告,并跳过所有后续的 SCLI 命令。

在以下情况下,将跳过登录:

  • 在本地主机上找不到主 MDM 进程。
  • 而 --skip-mdm-login 选项。

在以下情况下登录失败

  • MDM 进程所有者不在授权用户列表中(默认值: root)并启用安全登录。
  • The SCLI --login 命令返回错误(例如,错误的凭据)。

磁盘空间

临时文件和生成的捆绑包的磁盘空间需求可能会有很大不同。

实用程序尝试最大程度地减少临时空间使用量;它仅限于命令输出和收集的虚拟文件系统 (/proc 和 /sys) 文件。

可以使用以下命令从远程主机对捆绑包进行流式传输: --output-file=- 以最大限度减少 PowerFlex 主机上的磁盘空间使用情况。捆绑包文件将直接写入标准输出 (stdout) 在流式传输时;它不会在磁盘上创建。

在收集数据之前,实用程序会估计临时工作目录和输出捆绑包所需的磁盘空间。

如果估计的所需空间超过相关文件系统上的可用空间,该应用工具会终止并显示错误。可以通过以下方式绕过此检查 --skip-space-check

工作目录和输出目录可以驻留在不同的文件系统上;每个都是独立检查的。

估计的空间需求将写入实用程序的日志文件, get_info_run.log

退出状态

0 成功完成
1 错误(参数无效、空间不足、登录失败、另一个实例已在运行、捆绑包生成失败、信号捕获等)

文件

<WORK_DIR>/get_info_run.log 执行日志(也在捆绑包中)
<WORK_DIR>/scaleio-getinfo-tmp/ 临时工作目录(成功后清理)
/tmp/scaleio-getinfo/getInfoDump.tgz 默认输出捆绑包位置
<WORK_DIR>/scaleio-getinfo-extra/
/tmp/scaleio-getinfo-extra/
可选的额外诊断数据目录
/tmp/scaleio-getinfo-backup/ 临时备份已修改的配置文件(自动创建)
/opt/emc/scaleio/ PowerFlex 安装目录

环境

前提条件

  • 该实用程序必须按照以下方式运行 root (或具有足够权限的用户,可读取组件文件、运行诊断命令和访问 /proc、 /sys等)。
  • 标准实用程序: tar、 gzip、 stat、 find、 awk、 sed、 getopt(1) (增强), nice
  • 可选: zip (对于 --zip), xz (对于 --xz), gdb/gcore (对于 --generate-cores)

并发

只有一个实例 get_info.sh 一次可能会运行。该实用程序使用以下命令检查现有的正在运行的实例: pidof(1) 并在找到实例时终止。

信号处理

实用程序陷阱 INT、 EXIT以及 TERM 数据收集期间的信号。收到信号后,它会:

  1. 恢复所有备份的配置文件(例如,核心代际设置)。
  2. 清理临时目录
  3. 状态为 1 的退出

将保留执行日志,并将其路径打印为标准错误。

示例

收集标准支持包:

get_info.sh

通过 SSH 连接流式传输捆绑包,而无需在远程 PowerFlex 主机上创建捆绑包文件:

ssh <host> 'get_info.sh --output-file=-' > getInfoDump-<host>.tgz

使用不同的工作目录以避免填满 /tmp管理此进程:

get_info.sh --work-dir=/var/tmp

在捆绑包中包含自定义路径:

get_info.sh --collect-path=/opt/custom/app/logs --collect-path='/var/log/app*'

仅收集 SDS 和 MDM 组件的最新核心转储:

get_info.sh --collect-cores='mdm sds' --max-cores=1

使用自定义时间窗口以核心文件的修改时间为中心收集数据:

get_info.sh --reference-core-file=/opt/emc/scaleio/sds/bin/core.1000 \
            --minutes-before-event=10 \  
            --minutes-after-event=2  
 

Affected Products

PowerFlex rack, ScaleIO
Article Properties
Article Number: 000455324
Article Type: How To
Last Modified: 21 مايو 2026
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.