PowerFlex: PFMP_SUPPORT — narzędzie do zbierania danych w pakiecie pomocy technicznej

Summary: pfmp_support — zbierz dane diagnostyczne PowerFlex Manager i zapakuj je w pakiet pomocy technicznej

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 [OPCJE]

 

OPIS

pfmp_support to narzędzie diagnostyczne, które zbiera informacje debugowania z hosta PowerFlex Manager lub hosta instalatora PowerFlex Manager i archiwizuje je w skompresowanym pakiecie do analizy przez personel pomocy technicznej.

Narzędzie zbiera dane z wielu źródeł, w tym:

  • Dane diagnostyczne, konfiguracja i dzienniki Kubernetes
  • Informacje o wersji rozwiązania Helm
  • Dane środowiska uruchomieniowego Docker i kontenera
  • Dzienniki instalatora aplikacji PowerFlex Manager
  • Konfiguracja systemu operacyjnego, dzienniki i stan środowiska uruchomieniowego
  • Inwentaryzacja sprzętu

Podczas zbierania danych z wielu węzłów klastra Kubernetes standardowy pakiet (--skip-kubernetes-shared nie określono) powinien być zbierany z co najmniej jednego węzła, gdzie kubectl i helm są dostępne i mają dostęp do płaszczyzny sterowania Kubernetes. Na kolejnych węzłach --skip-kubernetes-shared mogą być wykorzystane do zmniejszenia rozmiaru gromadzonych danych.

Wynikowy pakiet jest pojedynczym skompresowanym archiwum (domyślnie tar/gz), które można przenieść do działu pomocy technicznej PowerFlex w celu dalszej analizy.

W danym momencie na hoście można uruchomić tylko jedno wystąpienie pfmp_support. Jeśli nie ma wystarczającej ilości wolnego miejsca na jego wyjście, odmówi uruchomienia (chyba że sprawdzanie spacji zostanie jawnie pominięte).

 

OPCJE

Opcje ogólne

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

    Użyj DIR jako katalogu podstawowego instalatora PowerFlex Manager. Przydaje się podczas gromadzenia danych instalatora PowerFlex i kontenera instalatora (atlantic_installer) nie jest uruchomiony. Ustawienie domyślne: wykryte automatycznie lub /var.

  • -dOUT_DIR, --katalog-wyjściowy=OUT_DIR 

    Zapisz wynikowy pakiet w katalogu OUT_DIR. Domyślnie: <WORK_DIR>/powerflex-pfmpsupport (zobacz --work-dir).

  • -h, --pomoc

    Wyświetl komunikat pomocy i wyjdź. W połączeniu z --tech, wyświetla również opcje technika.

  • -J, --xz

    Użyj formatu tar/xz dla zebranego pakietu zamiast domyślnego formatu tar/gz. Ignorowane, jeśli tar(1) Nie obsługuje --use-compress-program lub xz(1) nie znaleziono.

  • -n PRZESTRZEŃ NAZW,--namespace=PRZESTRZEŃ NAZW

    Zbierz dodatkowe dane z przestrzeni nazw Kubernetes specyficznej dla aplikacji. Domyślnie: powerflex.

  • -N, --skip-spacja-check

    Pomiń weryfikację wolnego miejsca na dysku przed zebraniem danych.

  • -P ŚCIEŻKA,--collect-path=ŚCIEŻKA

    Zbierz dodatkową ścieżkę PATH. Akceptowane są tylko ścieżki bezwzględne. Akceptuje symbole wieloznaczne; Symbole wieloznaczne powinny być podane w cudzysłowie. Tę opcję można określić wiele razy, aby zebrać wiele ścieżek.

  • -q, --cichy, --cichy

    Pomija komunikaty na standardowym wyjściu.

  • -s, --skip-kubernetes-shared

    Pomiń zbieranie udostępnionych (w całym klastrze) danych Kubernetes. Dane Kubernetes dla poszczególnych węzłów i danych hosta są nadal zbierane. Przydatne w przypadku kolekcji wielowęzłowych w celu zmniejszenia rozmiaru; Dane klastra powinny być zbierane z co najmniej jednego węzła.

  • -wWORK_DIR, --katalog-pracy=WORK_DIR 

    Użyj katalogu WORK_DIR dla plików tymczasowych. Domyślnie: /tmp.

  • -xPLIK,--plik-wyjściowy=PLIK 

    Przechowuj zebrany pakiet jako plik o nazwie FILE. Odpowiedni sufiks nazwy pliku (.tgz.zipitp.) jest dodawany automatycznie. Jeśli parametr FILE to - (myślnik), zapisuje pakiet na standardowe wyjście (implikuje --quiet). Gdy pakiet jest zapisywany na standardowe wyjście, na dysku nie jest tworzony żaden plik pakietu. Domyślnie: pfmpSupport.

  • -z, --zip

    Użyj formatu zip dla zebranego pakietu zamiast domyślnego tar/gz. Ignorowane, jeśli zip(1) nie został znaleziony w systemie.

  • --nadpisz-plik-wyjściowy

    Zastąp plik wyjściowy, jeśli już istnieje. Gdy plik wyjściowy lub katalog jest jawnie określony (poprzez -x lub -d), domyślnym zachowaniem jest odmowa nadpisania; Ta opcja zastępuje tę opcję.

  • --Tech

    Uwzględnij opcje technika w danych wyjściowych komunikatu pomocy.

Opcje dla techników

Poniższe opcje są przeznaczone do użytku przez pracowników pomocy technicznej i są wyświetlane w komunikacie pomocy tylko wtedy, gdy określono opcję --tech.

  • --przechowywanie-katalog-pracy

    Zachowaj wygenerowany tymczasowy katalog roboczy po utworzeniu pakietu (zwykle czyszczony automatycznie).

  • --stare-pod-logi

    Zbieraj starsze dzienniki zasobników platformy Kubernetes z lokalnego magazynu rsyslog. W przypadku pominięcia bieżąca (kubectl logs) i poprzednie (kubectl logs --previous) dzienniki kontenerów są nadal zbierane.

 

STRUKTURA PAKIETU

Pakiet wyjściowy jest pojedynczym skompresowanym archiwum.

  • Katalog najwyższego poziomu pakietu jest nazwą hosta systemu objętego zbieraniem danych.
  • Ogólne dane wyjściowe poleceń hosta przechodzą do server/ Podkatalogu. Nazwa pliku to <command> + <arguments> + przyrostek (.txt domyślnie). Spacje zamienione na _, znaki niealfanumeryczne usunięte.
    Przykład: 
    server/ip_-s_addr.txt - output of ip -s addr
  • Dane wyjściowe poleceń kubectl, helm i docker przechodzą do odpowiednich podkatalogów. Są one dalej uporządkowane według zakresu, <namespace>/<pod>/<container>Stosownych.
    Argumenty związane z nazwą polecenia, zakresem i formatem wyjściowym są usuwane. Nazwa pliku to <subcommand> + <arguments> + przyrostek (.txt domyślnie). Spacje zamienione na _, znaki niealfanumeryczne usunięte.
    Dane wyjściowe poleceń kubectl exec są przechowywane w obszarze exec/ podkatalogu zasobnika.
    Przykłady:
    • kubectl/version.txt - wyjście kubectl version
    • kubectl/all-namespaces/get_pods.yaml -- wyjście kubectl -o=yaml get --all-namespaces pods
    • kubectl/powerflex/asmui-7d6944dcb8-zqqtk/asmui/logs_--previous.txt - wyjście kubectl logs -n powerflex --container asmui --previous asmui-7d6944dcb8-zqqtk
    • kubectl/powerflex/nats-server-box-6d685b4b7d-cf278/nats-box/exec/nats_stream_report.txt - wyjście kubectl exec -n powerflex --container nats-box nats-server-box-6d685b4b7d-cf278 -- nats stream report
    • helm/powerflex/get_all_asmmanager.txt - wyjście helm get -n powerflex all asmmanager
    • docker/ps_-a.txt - wyjście docker ps -a
  • Pliki wyodrębnione z kontenerów zasobników są umieszczane w katalogu kontenera w ścieżce systemu plików w kontenerze.
    Przykład: kubectl/powerflex/thin-deployer-5657659bc7-gzbq4/thin-deployer/opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log - kopia /opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log wyodrębnione z wnętrza thin-deployer pojemnik thin-deployer-5657659bc7-gzbq4 Pod
  • Pliki systemu plików hosta są umieszczane w ścieżce systemu plików względem katalogu głównego pakietu.
    Przykłady:
    • 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
  • Ukryte pliki (z prefiksem kropki) są "odkrywane" poprzez usunięcie kropki wiodącej.
  • Dziennik wykonywania narzędzia, pfmp_support.log, umieszczony bezpośrednio pod nazwą> hosta/katalogiem <głównym.

Struktura drzewa katalogów pakietów:

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

MIEJSCE NA DYSKU

Wymagania dotyczące miejsca na dysku dla plików tymczasowych i wynikowego pakietu mogą się znacznie różnić.

Narzędzie stara się zminimalizować tymczasowe wykorzystanie przestrzeni; Ogranicza się do danych wyjściowych poleceń i kopii zebranego wirtualnego systemu plików (/proc i /sys) plików.

Aby zminimalizować wykorzystanie miejsca na dysku hosta PowerFlex Manager, pakiet można przesyłać strumieniowo ze zdalnego hosta za pomocą polecenia --output-file=-. Podczas przesyłania strumieniowego plik pakietu jest zapisywany bezpośrednio na standardowym wyjściu (stdout); Nie jest tworzony na dysku.

Przed zebraniem danych narzędzie szacuje wymagane miejsce na dysku zarówno dla tymczasowego katalogu roboczego, jak i pakietu wyjściowego.

Jeśli szacowana wymagana ilość miejsca przekracza ilość miejsca dostępnego w odpowiednim systemie (systemach plików), narzędzie zakończy działanie z błędem. To sprawdzenie można pominąć za pomocą polecenia --skip-space-check.

Katalog roboczy i katalog wyjściowy mogą znajdować się w różnych systemach plików; Każdy z nich jest sprawdzany niezależnie.

Szacowane wymagania przestrzenne są zapisywane w pliku dziennika narzędzia, pfmp_support.log.

KOD ZAKOŃCZENIA

0 Pomyślnie ukończono
1 Błąd (nieprawidłowe argumenty, niewystarczająca ilość miejsca, inna uruchomiona instancja, niepowodzenie generowania pakietu, przechwycenie sygnału itp.)

PLIKI

<WORK_DIR>/pfmp_support.log Dziennik wykonania (również zawarty w pakiecie)
<WORK_DIR>/powerflex-pfmpsupport-tmp/ Tymczasowy katalog pracy (wyczyszczony po pomyślnym zakończeniu)
/tmp/powerflex-pfmpsupport/pfmpSupport.tgz Domyślna lokalizacja pakietu wyjściowego
<WORK_DIR>/powerflex-pfmpsupport-extra/
/tmp/powerflex-pfmpsupport-extra/
Opcjonalne dodatkowe katalogi danych diagnostycznych
/tmp/powerflex-pfmpsupport-backup/ Tymczasowe kopie zapasowe zmodyfikowanych plików konfiguracyjnych (tworzone automatycznie)

ŚRODOWISKO

Wymagania wstępne

  • Narzędzie musi być uruchamiane jako użytkownik root (lub użytkownik z wystarczającymi uprawnieniami do odczytywania plików systemowych, wykonywania poleceń diagnostycznych, interakcji z klastrem Kubernetes i uzyskiwania dostępu) /proc/sysitp.).
  • Standardowe media: targzipstatfindawksedgetopt(1) (wzmocniony), nice.
  • Opcjonalnie: zip (dla --zip), xz (dla --xz).

Współbieżności

W danej chwili może być uruchomiona tylko jedna instancja pfmp_support. Narzędzie sprawdza istniejącą uruchomioną instancję za pomocą polecenia: pidof(1) i kończy się, jeśli zostanie znaleziony.

Obsługa sygnałów

Pułapki użytkowe INTEXITTERM sygnały podczas gromadzenia danych. Po odebraniu sygnału:

  1. Przywraca wszystkie pliki konfiguracyjne z kopii zapasowej.
  2. Czyści katalogi tymczasowe.
  3. Wyjście ze stanem 1.

Dziennik wykonywania jest zachowywany, a jego ścieżka jest wypisywana jako błąd standardowy.

 

PRZYKŁADY

Odbierz standardowy pakiet pomocy technicznej:

pfmp_support

Zbieraj pakiety z wielu węzłów w klastrze Kubernetes.

  • Na jednym węźle z kubectl i helm uzyskać dostęp, zebrać wszystkie dane Kubernetes:
    pfmp_support
    
    
  • W kolejnych węzłach pomiń udostępnione dane Kubernetes:
    pfmp_support --skip-kubernetes-shared
    
    

Przesyłaj strumieniowo pakiet za pośrednictwem połączenia SSH bez tworzenia pliku pakietu na zdalnym hoście PowerFlex Manager:

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

Użyj innego katalogu służbowego, aby uniknąć zapełnienia /tmp:

pfmp_support --work-dir=/var/tmp

Uwzględnij ścieżki niestandardowe w pakiecie:

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.