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

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

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

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*'

Affected Products

PowerFlex rack, ScaleIO
Article Properties
Article Number: 000455318
Article Type: How To
Last Modified: 21 Apr 2026
Version:  1
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.