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

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 и архивирует ее в сжатый пакет для анализа персоналом службы поддержки.

Утилита собирает данные из нескольких источников, в том числе:

  • Диагностические данные, конфигурация и журналы Kubernetes
  • Информация о выпуске Helm
  • Данные Docker и среды выполнения контейнеров
  • Журналы установщика PowerFlex Manager
  • Конфигурация операционной системы, журналы и состояние во время выполнения
  • Инвентаризация оборудования

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

Результирующий пакет представляет собой единый сжатый архив (по умолчанию tar/gz), который можно передать в службу поддержки PowerFlex для дальнейшего анализа.

В любой момент времени на хосте может работать только один экземпляр pfmp_support. Если для вывода недостаточно свободного места, он откажется выполняться (если проверка пространства не пропущена явным образом).

 

ПАРАМЕТРЫ

Общие параметры

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

    Используйте DIR в качестве базового каталога установщика PowerFlex Manager. Полезно при сборе данных установщика PowerFlex и контейнера установщика (atlantic_installer) не выполняется. По умолчанию: «Автоматически обнаружено» или «По умолчанию» /var.

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

    Сохраните полученный пакет в каталоге OUT_DIR. Default: <WORK_DIR>/powerflex-pfmpsupport (см. --work-dir).

  • -h, --help

    Отобразите справочное сообщение и выйдите из меню. В сочетании с --tech также отображает параметры технического специалиста.

  • -J, --xz

    Используйте формат tar/xz для собранного пакета вместо формата tar/gz по умолчанию. Игнорируется, если tar(1) не поддерживает --use-compress-program или xz(1) не найдено.

  • -n NAMESPACE,--namespace=NAMESPACE

    Соберите дополнительные данные из пространства имен Kubernetes конкретного приложения NAMESPACE. Default: powerflex.

  • -N, --skip-space-check

    Пропуск проверки свободного места на диске перед сбором данных.

  • - P ПУТЬ,--collect-path=ПУТЬ

    Соберите дополнительный путь PATH. Принимаются только абсолютные пути. Принимает подстановочные знаки; Подстановочные знаки должны быть заключены в кавычки. Этот параметр можно указать несколько раз для сбора данных нескольких путей.

  • -q, --quiet, --silent

    Подавлять сообщения при стандартном выводе.

  • -s, --skip-kubernetes-shared

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

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

    Используйте WORK_DIR каталогов для временных файлов. Default: /tmp.

  • -x ФАЙЛ,--output-file=ФАЙЛ

    Сохраните собранный пакет в виде файла с именем FILE. Соответствующий суффикс имени файла (.tgz.zipи т.д.) добавляется автоматически. Если FILE имеет значение - (тире), записать пакет в стандартный вывод (подразумевает --quiet). При записи пакета в стандартный вывод файл пакета на диске не создается. Default: pfmpSupport.

  • -z, --zip

    Используйте формат zip для собранного пакета вместо формата tar/gz по умолчанию. Игнорируется, если zip(1) не найден в системе.

  • --overwrite-output-file

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

  • --Технологий

    Включить параметры технического специалиста в выходные данные справочного сообщения.

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

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

  • --keep-work-dir

    Сохранение созданного временного рабочего каталога после создания пакета (обычно очищается автоматически).

  • --old-pod-logs

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

 

СТРУКТУРА ПАКЕТА

Выходной пакет представляет собой один сжатый архив.

  • Каталог верхнего уровня пакета — это имя хоста собранной системы.
  • Общие выходные данные команд хоста поступают в 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, размещается непосредственно под именем <>хоста/root.

Древовидная структура каталогов пакета:

<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=-. При потоковой передаче файл пакета записывается непосредственно в стандартный вывод (stdout); Он не создается на диске.

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

Если расчетное требуемое пространство превышает доступный объем в соответствующих файловых системах, утилита завершает работу с ошибкой. Эту проверку можно пропустить с помощью --skip-space-check.

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

Расчетные требования к пространству записываются в файл журнала утилиты, pfmp_support.log.

СОСТОЯНИЕ ВЫХОДА

0 Выполнено успешно
1 Ошибка (недопустимые аргументы, недостаточно места, другой экземпляр уже запущен, сбой генерации пакета, перехвачен сигнал и т. д.)

ФАЙЛЫ

<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 Collect, соберите все данные Kubernetes:
    pfmp_support
    
    
  • На последующих узлах пропустите общие данные Kubernetes:
    pfmp_support --skip-kubernetes-shared
    
    

Потоковая передача пакета по SSH-соединению без создания файла пакета на удаленном хосте 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.