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]

    Сбор существующих дампов ядра для разделенного пробелами списка пользовательской среды 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 core из каждого компонента. 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 . Их поведение и значения по умолчанию регулируются 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

    Войдите в PowerFlex MDM, используя аутентификацию на основе LDAP.

  • --management-system-ip=ADDRESS

    Подключиться к SSO/M&O at ADDRESS для входа в систему PowerFlex. Default: Поведение SCLI по умолчанию

  • --p12-password=PASSWORD

    Шифрование учетных данных PowerFlex PKCS#12 Использование файла PASSWORD. Default: Поведение SCLI по умолчанию

  • --p12-path=FILE

    Сохранение учетных данных PowerFlex PKCS#12 File as FILE. Default: Поведение SCLI по умолчанию

Варианты для технических специалистов

Следующие параметры предназначены для использования специалистами службы поддержки и отображаются в справочном сообщении только в следующих случаях: --tech указано.

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

Создайте файлы ядра (с помощью gcore(1)) для запущенных процессов списка разделенных пробелами пользовательских ресурсов 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 дампы ядра для указанной пользовательской среды 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]

    Сбор исполняемых файлов компонентов и их общих библиотек для указанной пользовательской среды 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
  • Выходные данные команды product поступают в подкаталог компонента. mdm/ Для sclisdc/ Для drv_cfgи так далее.
    Имя команды (sclidrv_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.0trc.1exp.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, все файлы являются кандидатами (без временного окна), и выбирается количество последних файлов.

Логика фильтрации

Фильтрация файлов применяется сначала к временному окну, а затем к предельному количеству:

  1. Определите кандидатов. Перечисляются все файлы журналов продукта и/или файлы дампа ядра для компонента.
  2. Вывод содержимого периода. Содержимое файлов журналов продукта представляет собой определенный период. Период содержания считается начинающимся с момента последнего изменения предшественника (mtime) или эпоха UNIX, когда не существует предшественника; он заканчивается на собственном файле mtime. Файлы дампа ядра представляют момент времени mtime.
  3. Примените временное окно (если -E или -C указано). Файлы, содержимое которых полностью выходит за пределы окна, исключаются из выбора. Для файлов журналов продукта, если ни один файл не попадает в окно, сохраняется один файл, ближайший к окну, чтобы пакет никогда не был пустым для компонента. Для файлов дампа ядра такой резервный вариант не применяется.
  4. Примените ограничение на количество (если -m и или -k указано). Среди оставшихся файлов не более NUM выбираются, отдавая предпочтение тем, которые ближе всего к эталонному времени. Файлы до и после контрольного времени в равной степени конкурируют за выбор.

ПРОВЕРКИ ПОДЛИННОСТИ

Утилита пытается войти в локальный MDM, если обнаружен основной процесс MDM, прослушивающий ожидаемый порт (по умолчанию: 6611)

Параметры входа MDM передаются в SCLI --login и обрабатываются ею.

Если вход не удается, работа утилиты завершается с ошибкой.

Если вход пропущен, попытки выполнения команд SCLI продолжаются (для поддержки сценариев, в которых пользователь предварительно выполнил вход вручную). После трех сбоев SCLI отображается предупреждение и все дальнейшие команды SCLI пропускаются.

Вход в систему пропускается, если:

  • На локальном хосте не найден основной процесс MDM.
  • Переменная --skip-mdm-login параметра.

Ошибка входа в систему, если:

  • Владелец процесса MDM не входит в список авторизованных пользователей (по умолчанию: root) и включен безопасный вход.
  • Система 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и т.д.).
  • Стандартные утилиты: targzipstatfindawksedgetopt(1) (улучшенный), nice.
  • Опционально. zip (для --zip), xz (для --xz), gdb/gcore (для --generate-cores)

Параллелизма

Только один экземпляр get_info.sh может выполняться одновременно. Утилита проверяет наличие существующего работающего экземпляра с помощью pidof(1) и завершается при обнаружении экземпляра.

Обработка сигналов

Вспомогательные ловушки INTEXITи 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.