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

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

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

  • Диагностические данные, конфигурация и журналы 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*'

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.