PowerFlex: PFMP_SUPPORT - Утиліта Support Bundle Collection

Résumé: pfmp_support - збирати діагностичні дані PowerFlex Manager і об'єднувати їх у пакет підтримки

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

pfmp_support [ОПЦІЇ]

 

ОПИС

pfmp_support — це діагностична утиліта, яка збирає інформацію про налагодження з PowerFlex Manager або хоста PowerFlex Manager Installer і архівує її у стиснений пакет для аналізу працівниками підтримки.

Компанія збирає дані з кількох джерел, зокрема:

  • Діагностичні дані, конфігурація та журнали Kubernetes
  • Інформація про випуск штурвала
  • Дані виконання Docker і контейнерів
  • Логи інсталятора PowerFlex Manager
  • Конфігурація операційної системи, журнали та стан виконання
  • Інвентаризація апаратного забезпечення

При зборі даних із кількох вузлів кластеру Kubernetes стандартний пучок (--skip-kubernetes-shared не вказано) слід збирати принаймні з одного вузла, де kubectl та helm доступні та мають доступ до керуючої площини Kubernetes. На наступних вузлах --skip-kubernetes-shared може використовуватися для зменшення розміру зібраних даних.

Отриманий пакет — це один стиснений архів (tar/gz за замовчуванням), який можна перенести до підтримки PowerFlex для подальшого аналізу.

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

 

ВАРІАНТИ

Загальні опції

  • -DIR ,--installer-root-path=DIR

    Використовуйте DIR як базову директорію інсталятора PowerFlex Manager. Корисно при зборі даних PowerFlex Installer та контейнера інсталятора (atlantic_installer) не працює. За замовчуванням: автоматично виявлено, або /var.

  • -d OUT_DIR, --output-dir=OUT_DIR

    Зберігайте отриманий пакет у каталогу OUT_DIR. За замовчуванням: <WORK_DIR>/powerflex-pfmpsupport (див. --work-dir).

  • , --допоможіть

    Покажіть повідомлення допомоги і вийдіть. У поєднанні з --tech, також опція техніка дисплея.

  • -J, --xz

    Використовуйте формат tar/xz для зібраного набору замість стандартного tar/gz. Ігнорується, якщо система tar(1) не підтримує --use-compress-program або xz(1) не знайдено.

  • -n NAMESPACE, --namespace=NAMESPACE

    Збирати додаткові дані з NAMESPACE, специфічного для застосунку Kubernetes. За замовчуванням: powerflex.

  • -N, --пропуск пробілу-перевірка

    Пропустіть безкоштовну перевірку місця на диску перед збором даних.

  • - p PATH, --collector-path=PATH

    Зберіть додатковий шлях PATH. Приймаються лише абсолютні шляхи. Приймає джокери; дикі карти мають бути процитовані. Цю опцію можна вказати кілька разів для збору кількох шляхів.

  • -Q, --тихо, --тиша

    Приглушуйте повідомлення на стандартному виході.

  • -s, --skip-kubernetes-shared

    Пропустити збір спільних (кластерних) даних Kubernetes. Дані Kubernetes і хост для кожного вузла все ще збираються. Корисно для багатовузлових колекцій для зменшення розміру; дані кластера слід збирати принаймні з одного вузла.

  • - w WORK_DIR, --work-dir=WORK_DIR

    Використовуйте WORK_DIR каталог для тимчасових файлів. За замовчуванням: /tmp.

  • - x FILE, --output-file=FILE

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

  • -z, --zip

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

  • --overwrite-output-file

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

  • --tech

    Включіть опції техніка у вихідному повідомленні допомоги.

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

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

  • --продовжуйте роботу-дир

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

  • --старі-под-логи

    Збирайте старі журнали pod Kubernetes із локального rsyslog сховища. Коли його опускають, струм (kubectl logs) та попередні (kubectl logs --previous) контейнерні колоди все ще збираються.

 

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

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

  • Каталог найвищого рівня bundle — це ім'я хоста зібраної системи.
  • Загальні командні виходи хоста йдуть у server/ підкаталог. Назва файлу: <command> + <arguments> + суфікс (.txt за замовчуванням). Пробіли, замінені на _, неалфавітно-цифрові символи видалені.
    Приклад: 
    server/ip_-s_addr.txt - output of ip -s addr
  • Вихідні команди Kubectl, Helm і Docker потрапляють у відповідні підкаталоги. Вони також організовані за обсягом, <namespace>/<pod>/<container>, де це застосовно.
    Ім'я команди, область об'єктів і аргументи, пов'язані з форматом виводу, видаляються. Назва файлу: <subcommand> + <arguments> + суфікс (.txt за замовчуванням). Пробіли, замінені на _, неалфавітно-цифрові символи видалені.
    Вихідні команди Kubectl Exec зберігаються у exec/ підкаталогу капсули.
    Приклади:
    • kubectl/version.txt - вихід kubectl version
    • kubectl/all-namespaces/get_pods.yaml -- вихід kubectl -o=yaml get --all-namespaces pods
    • kubectl/powerflex/asmui-7d6944dcb8-zqqtk/asmui/logs_--previous.txt - вихід kubectl logs -n powerflex --container asmui --previous asmui-7d6944dcb8-zqqtk
    • kubectl/powerflex/nats-server-box-6d685b4b7d-cf278/nats-box/exec/nats_stream_report.txt - вихід kubectl exec -n powerflex --container nats-box nats-server-box-6d685b4b7d-cf278 -- nats stream report
    • helm/powerflex/get_all_asmmanager.txt - вихід helm get -n powerflex all asmmanager
    • docker/ps_-a.txt - вихід docker ps -a
  • Файли, витягнуті з контейнерів pod, розміщуються під каталогом контейнера на шляху до внутрішньоконтейнерної файлової системи.
    Приклад: kubectl/powerflex/thin-deployer-5657659bc7-gzbq4/thin-deployer/opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log - копія /opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log витягнуто зсередини thin-deployer контейнер thin-deployer-5657659bc7-gzbq4 Pod
  • Файли хост-файлової системи розміщуються на шляху до файлової системи відносно кореня пучків.
    Приклади:
    • etc/os-release - copy of /etc/os-release
    • var/log/messages - copy of /var/log/messages
    • proc/cpuinfo - copy of /proc/cpuinfo
    • var/lib/rancher/rke2/agent/logs/kubelet.log - copy of /var/lib/rancher/rke2/agent/logs/kubelet.log
  • Приховані файли (з префіксом крапки) «розкриваються» шляхом видалення провідної крапки.
  • Журнал виконання утиліти, pfmp_support.log, розміщується безпосередньо під <назвою> хоста/коренем.

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

<hostname>/
|-- pfmp_support.log                   Utility execution log
|-- server/                            General command output directory
|   |-- ip_-s_addr.txt
|   |-- uptime.txt
|   |-- uname_-a.txt
|   |-- ps_-elF.txt
|   |-- dmesg_-T.txt
|   +-- ...                            (one file per collected command)
|
|-- kubectl/                           kubectl command output directory
|   |-- version.txt                    Non-namespace-specific commands
|   |-- ...
|   |-- all-namespaces/                Cross-namespace commands
|   |   |-- get_pods.txt
|   |   |-- get_pods.yaml
|   |   +-- ...
|   +-- <namespace>/                   Per-namespace Kubernetes data
|       +-- <pod>/                     Per-pod data
|           +-- <container>/           Per-container data
|               |-- logs.txt           Current container logs
|               |-- exec/              Commands executed within container (if any)
|               |   +-- ...
|               |-- <dir>/             Files extracted from container (if any)
|               +-- ...
|-- helm/                              helm command output directory
|-- docker/                            docker command output directory
|
|-- etc/                               Host files
|   |-- os-release
|   |-- sysconfig/
|   |-- network/
|   +-- ...
|-- var/
|   |-- log/
|   |   |-- messages
|   |   +-- ...
|   |-- lib/rancher/rke2/
|   +-- ...
|-- proc/
|   |-- cpuinfo
|   |-- meminfo
|   +-- ...
|-- sys/
|-- ...
|
|-- powerflex-pfmpsupport-extra/       Extra diagnostic data (if present)
+-- powerflex-pfmpsupport-backup/      Backed-up configuration files (if any)

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

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

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

Щоб мінімізувати використання дискового простору на хості PowerFlex Manager, пакет можна транслювати з віддаленого хоста за допомогою --output-file=-. Під час потокового трансляції файл bundle записується безпосередньо на стандартний вихід (stdout); він не створюється на диску.

Перед збором даних утиліта оцінює необхідний дисковий простір як для тимчасового робочого каталогу, так і для вихідного пакета.

Якщо оцінений необхідний простір перевищує доступний простір у відповідній файловій системі(ах), утиліта завершує роботу з помилкою. Цю перевірку можна обійти за допомогою --пропуску пробілу-check.

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

Орієнтовні вимоги до простору записуються у лог-файл утиліти, pfmp_support.log.

СТАТУС ВИЇЗДУ

0 Успішне завершення
1 Помилка (некоректні аргументи, недостатньо місця, інша інстанція вже запущена, помилка генерації bundle, зафіксований сигнал тощо)

ФАЙЛИ

<WORK_DIR>/pfmp_support.log Журнал виконання (також включений до набору)
<WORK_DIR>/powerflex-pfmpsupport-tmp/ Тимчасовий робочий довідник (очищено після успіху)
/tmp/powerflex-pfmpsupport/pfmpSupport.tgz Розташування вихідного пучка за замовчуванням
<WORK_DIR>/powerflex-pfmpsupport-extra/
/tmp/powerflex-pfmpsupport-extra/
Додаткові каталоги діагностичних даних
/tmp/powerflex-pfmpsupport-backup/ Тимчасові резервні копії змінених конфігураційних файлів (автоматично створені)

НАВКОЛИШНЄ СЕРЕДОВИЩЕ

Передумови

  • Утиліта має запускатися як root (або користувач із достатніми правами для читання системних файлів, виконання діагностичних команд, взаємодії з кластером Kubernetes та доступу /proc/sysтощо).
  • Стандартні утиліти: targzipstatfindawksedgetopt(1) (покращено), nice.
  • Опціонально: zip (для --zip), xz (для --xz).

Паралельність

Одночасно може працювати лише один екземпляр pfmp_support. Утиліта перевіряє наявність існуючого запущеного екземпляра за допомогою pidof(1) і припиняється, якщо знайдено такий.

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

Пастки утилітарних пристроїв INTEXIT, та TERM сигналів під час збору даних. Після отримання сигналу він:

  1. Відновлює всі резервні файли конфігурації.
  2. Прибирає тимчасові каталоги.
  3. Виходи зі статусом 1.

Журнал виконання зберігається, а його шлях друкується зі стандартною помилкою.

 

ПРИКЛАДИ

Зберіть стандартний пакет підтримки:

pfmp_support

Збирати пучки з кількох вузлів у кластері Kubernetes.

  • На одному вузлі з kubectl та helm доступ, зберіть усі дані Kubernetes:
    pfmp_support
    
    
  • На наступних вузлах пропускайте спільні дані Kubernetes:
    pfmp_support --skip-kubernetes-shared
    
    

Транслювати пакет через SSH-з'єднання, не створюючи файл bundle на віддаленому хості PowerFlex Manager:

ssh <host> 'pfmp_support --output-file=-' > pfmpSupport-<host>.tgz

Використовуйте інший робочий довідник, щоб уникнути заповнення /tmp:

pfmp_support --work-dir=/var/tmp

Додайте власні шляхи до набору:

pfmp_support --collect-path=/opt/custom/app/logs --collect-path='/var/log/app*'

Produits concernés

PowerFlex rack, ScaleIO
Propriétés de l’article
Numéro d’article: 000455318
Type d’article: How To
Dernière modification: 21 avr. 2026
Version:  1
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.