PowerFlex. GET_INFO — утилита для сбора пакетов поддержки

Résumé: get_info.sh — сбор диагностической информации с хоста PowerFlex и ее упаковка в пакет поддержки.

Cet article concerne Cet article ne concerne pas Cet article n’est associé à aucun produit spécifique. Toutes les versions du produit ne sont pas identifiées dans cet 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  
 

Produits concernés

PowerFlex rack, ScaleIO
Propriétés de l’article
Numéro d’article: 000455324
Type d’article: How To
Dernière modification: 21 mai 2026
Version:  3
Trouvez des réponses à vos questions auprès d’autres utilisateurs Dell
Services de support
Vérifiez si votre appareil est couvert par les services de support.