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 тощо).
  • Core dumps (існуючі та за бажанням генеруються на вимогу)
  • Збирач діагностичних даних (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 файли кожного компонента. За замовчуванням: Усі основні файли, означає --collect-cores

  • -l--light

    Згенеруйте легкий пучок. Збирається лише останнє покоління нумерованих файлів журналів, а компонентні виконувані файли або бібліотеки не включаються при зборі ядер. Використання цієї опції знижує підтримку і не рекомендується.

  • -m NUM--max-traces=NUM

    Збирати до NUM Файли трасування PowerFlex з кожного компонента. За замовчуванням: Всі файли

  • -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 для тимчасових файлів. За замовчуванням: /tmp.

  • -x FILE--output-file=FILE

    Зберігати зібраний пакет у вигляді файлу з назвою FILE. Відповідний суфікс імені файлу (.tgz.zip, і так далі) додається автоматично. Якщо FILE є (тире), записати пучок у стандартний вихід (імп. --quiet). Коли пучок записується на стандартний вихід, на диску не створюється файл пучків. За замовчуванням: getInfoDump.

  • -z--zip

    Використання zip формат для зібраного набору замість стандартного tar/gz. Ігнорується, якщо zip(1) не знаходиться в системі.

  • --mdm-port=PORT

    Підключіться до MDM через порт PORT для команд SCLI. За замовчуванням: 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. За замовчуванням: Поведінка SCLI за замовчуванням

  • -u USERNAME--username=USERNAME

    Використання USERNAME для входу в PowerFlex MDM. За замовчуванням: Поведінка SCLI за замовчуванням

  • --ldap-authentication

    Увійдіть у PowerFlex MDM за допомогою автентифікації на основі LDAP.

  • --management-system-ip=ADDRESS

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

  • --p12-password=PASSWORD

    Зашифруйте вхід у PowerFlex PKCS#12 Використання файлу PASSWORD. За замовчуванням: Поведінка SCLI за замовчуванням

  • --p12-path=FILE

    Зберегти логін PowerFlex PKCS#12 Файл як FILE. За замовчуванням: Поведінка SCLI за замовчуванням

Варіанти техніків

Наступні опції призначені для використання техніками підтримки і відображаються у повідомленні допомоги лише тоді, коли --tech зазначено.

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

Генерація основних файлів (за допомогою gcore(1)) для виконання процесів у просторово розділеному списку user-land COMPONENTS. За замовчуванням: усі компоненти землі користувача, імплітує --collect-executables, і вимагає gdb та gcore.

 
Примітка. Між ними не повинно бути проміжку -c та COMPONENTS. Для довгої форми розділяйте з =
 

Приклади:

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

    Зберіть журнали продукту та ядра відносно останнього часу модифікації (mtimeCORE_FILE, замість часу початку виконання. Імплітує --collect-cores

  • -E REF_TIME--event-time=REF_TIME

    Збирати продуктові журнали та керни відносно REF_TIME, замість часу початку виконання. Приймає будь-який формат, який розуміє date(1). Імплітує --collect-cores.

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

Збирати valgrind Core dumps для вказаної user-land COMPONENTS. За замовчуванням: усі компоненти з користувацької зони. Імплітує --collect-executables.

 
Примітка. Між ними не повинно бути проміжку -b та COMPONENTS. Для довгої форми розділяйте з =
 

Приклади:

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

    Збирайте журнали продукту та згенеровані ядра до MIN за кілька хвилин до референтного часу. За замовчуванням: 15

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

    Збирайте журнали продукту та згенеровані ядра до MIN За кілька хвилин після референсного часу. За замовчуванням: 5

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

    Збирати виконувані файли компонентів та їхні спільні бібліотеки для вказаної користувацької сфери COMPONENTS. За замовчуванням: Усі компоненти користувацької землі

 
Примітка. Між ними не повинно бути проміжку -b та COMPONENTS. Для довгої форми розділяйте з =
 

Приклади:

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

    Зберігайте згенерований тимчасовий робочий каталог після створення bundle (автоматично очищається).

СТРУКТУРА ПУЧКА

Вихідний пучок — це один стиснений архів.

  • Каталог найвищого рівня bundle — це ім'я хоста зібраної системи.
  • Загальні командні виходи хоста йдуть у server/ підкаталог.
    Назва файлу: <command> + <arguments> + суфікс (.txt за замовчуванням). Пробіли, замінені на _, неалфавітно-цифрові символи видалені
    Приклад: server/ip_-s_addr.txt – output of ip -s addr
  • Виходи команд продукту потрапляють у підкаталог компонента. 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, розміщений <безпосередньо під ім'ям> host/root

Структура дерева каталогу пучків:

<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)

ФІЛЬТРАЦІЯ ЖУРНАЛУ ПРОДУКТУ ТА ОСНОВНИХ ФАЙЛІВ

Опції, описані в цьому розділі, контролюють, як файли журналу продукту (також називаються trace-файлами, наприклад) trc.0trc.1exp.0) та файли ядра dump обираються для включення до зібраного набору. Вони роблять це, визначаючи орієнтирний час, часове вікно навколо нього та ліміти підрахунку.

Коли опції фільтрації не вказані, збираються всі файли журналу продукту та (якщо активовано ядро колекції) всі файли дампу ядра. Опції фільтрації поступово звужують цей вибір, як описано нижче.

Час довідки

Час посилання можна встановити за допомогою будь-якого -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, найближчі до референсного часу.

Коли ліміт підрахунку використовується без --event-time або --reference-core-file, усі файли є кандидатами (без часового вікна), і вибрані найновіші файли NUM.

Логіка фільтрації

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

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

АВТЕНТИФІКАЦІЯ

Утиліта намагається увійти до локального MDM, якщо виявлено первинний MDM-процес, що прослуховує на очікуваному порту (за замовчуванням: 6611)

Опції входу в MDM передаються SCLI --login і обробляються нею.

Якщо вхід не вдається, утиліта завершується через помилку.

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

Вход пропускається, коли:

  • На локальному хості немає первинного MDM-процесу.
  • The --skip-mdm-login Вказано опцію.

Вхід не вдається, коли:

  • Власник процесу MDM не входить до списку авторизованих користувачів (за замовчуванням: root) і захищений вхід увімкнено.
  • The SCLI --login команда повертає помилку (наприклад, неправильні облікові дані).

ДИСКОВИЙ ПРОСТІР

Вимоги до місця на диску для тимчасових файлів і отриманого пакету можуть суттєво відрізнятися.

Компанія намагається мінімізувати тимчасове використання простору; Він обмежений командними виходами та копіями зібраної віртуальної файлової системи (/proc та /sys) справ.

Пакет можна транслювати з віддаленого хоста за допомогою --output-file=- щоб мінімізувати використання дискового простору на PowerFlex-хості. Файл bundle записується безпосередньо на стандартний вивід (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-з'єднання, не створюючи файл bundle на віддаленому хості 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 May 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.