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

Résumé: pfmp_support — zbierz dane diagnostyczne PowerFlex Manager i zapakuj je w pakiet pomocy technicznej

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

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.