PowerFlex: GET_INFO — narzędzie do zbierania danych dotyczących pakietu pomocy technicznej

Summary: get_info.sh — zbierz informacje diagnostyczne z hosta PowerFlex i włącz je do pakietu 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

get_info.sh [OPCJE]


OPIS

get_info.sh to narzędzie diagnostyczne, które zbiera informacje debugowania z hosta PowerFlex (dawniej ScaleIO) i archiwizuje je w skompresowanym pakiecie do analizy przez personel pomocy technicznej.

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

  • Dzienniki, konfiguracja i pliki śledzenia elementów PowerFlex
  • Dane wyjściowe zapytań MDM/SCLI i wewnętrzny zrzut debugowania
  • Diagnostyka wewnętrzna elementów PowerFlex
  • Konfiguracja systemu operacyjnego, dzienniki i stan środowiska uruchomieniowego
  • Zasoby sprzętu (kontrolery pamięci masowej, urządzenia sieciowe, dyski NVMe, NVDIMM itd.)
  • Zrzuty rdzenia (istniejące i opcjonalnie generowane na żądanie)
  • Moduł zbierający dane diagnostyczne (diag_coll) Statystyki

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.

Tylko jedno wystąpienie get_info.sh mogą działać na hoście w danym momencie. Jeśli nie ma wystarczającej ilości wolnego miejsca na wyjście, odmawia uruchomienia (chyba że sprawdzanie spacji zostanie jawnie pominięte).

OPCJE

Opcje ogólne

  • -a--all

    Zbierz wszystkie dane. Jest to równoznaczne z określeniem --mdm-repository--collect-cores--max-cores=2--valgrind-cores--analyse-diag-coll.

  • -A--analyse-diag-coll

    Analizowanie modułu zbierającego dane diagnostyczne (diag coll) Dane

  • -b[COMPONENTS], --collect-cores[=COMPONENTS]

    Zbierz istniejące zrzuty rdzenia dla rozdzielonej spacjami listy obszarów użytkownika COMPONENTS. Domyślne (gdy: COMPONENTS jest pominięty): Wszystkie komponenty przestrzeni użytkownika
     

Uwaga: Pomiędzy nimi nie może być spacji -b i KOMPONENTY. W przypadku długiej formy oddziel za pomocą =

 

Przykład

-b'mdm sds'
--collect-cores='mdm sds'
  • -d OUT_DIR--output-dir=OUT_DIR

    Zapisz wynikowy pakiet w katalogu OUT_DIR. Default: <WORK_DIR>/scaleio-getinfo (patrz --work-dir).

  • -f--skip-mdm-login

    Pomiń zapytanie o poświadczenia logowania do PowerFlex MDM. Jest to przydatne, gdy użytkownik zalogował się już ręcznie.

  • -h--help

    Wyświetl komunikat pomocy i wyjdź. W połączeniu z --tech, wyświetl także opcje technika.

  • -J--xz

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

  • -k NUM--max-cores=NUM

    Zbierz nawet NUM podstawowych plików z każdego komponentu. Domyślnie: Wszystkie pliki rdzenia, implikuje --collect-cores

  • -l--light

    Wygeneruj wiązkę światła. Zbierane są tylko najnowszej generacji numerowanych plików dziennika, a pliki wykonywalne składników lub biblioteki nie są uwzględniane podczas zbierania rdzeni. Korzystanie z tej opcji zmniejsza możliwości wsparcia i odradza się korzystanie z niej.

  • -m NUM--max-traces=NUM

    Zbierz nawet NUM Pliki śledzenia PowerFlex z każdego elementu. Domyślnie: Wszystkie pliki

  • -N--skip-space-check

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

  • -P PATH--collect-path=PATH

    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--quiet--silent

    Pomija komunikaty na standardowym wyjściu.

  • -r--mdm-repository

    Zbierz pliki repozytorium MDM.

  • -s--skip-sdbg

    Pomiń zbieranie danych wyjściowych SDBG (debugger diagnostyczny).

  • -S--pause-core-generation

    Wstrzymaj generowanie podstawowych komponentów PowerFlex na czas zbierania danych. Pierwotna konfiguracja zostanie przywrócona po zakończeniu zbierania.

  • -w WORK_DIR--work-dir=WORK_DIR

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

  • -x FILE--output-file=FILE

    Zapisz zebrany pakiet jako plik o nazwie FILE. Odpowiedni sufiks nazwy pliku (.tgz.zipi tak dalej) jest dodawana automatycznie. jeśli nie ustawiono FILE Jest (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: getInfoDump.

  • -z--zip

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

  • --mdm-port=PORT

    Połącz się z MDM za pomocą portu PORT dla poleceń SCLI. Domyślnie: scli default behavior.

  • --overwrite-output-file

    Zastąp plik wyjściowy, jeśli już istnieje. Gdy plik wyjściowy lub katalog jest jawnie określony (przy użyciu -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 logowania do MDM

Następujące opcje są przekazywane do SCLI --login . Ich zachowanie i wartości domyślne są regulowane przez SCLI.

  • -n--use-nonsecure-communication

    Połącz się z MDM w trybie niezabezpieczonym.

  • -p PASSWORD--password=PASSWORD

    Użyj PASSWORD na potrzeby logowania do rozwiązania PowerFlex MDM. Domyślnie: Domyślne zachowanie interfejsu SCLI

  • -u USERNAME--username=USERNAME

    Użyj USERNAME na potrzeby logowania do rozwiązania PowerFlex MDM. Domyślnie: Domyślne zachowanie interfejsu SCLI

  • --ldap-authentication

    Zaloguj się do PowerFlex MDM przy użyciu uwierzytelniania opartego na LDAP.

  • --management-system-ip=ADDRESS

    Połącz się z SSO/M&O at ADDRESS , aby zalogować się do PowerFlex. Domyślnie: Domyślne zachowanie interfejsu SCLI

  • --p12-password=PASSWORD

    Szyfrowanie logowania PowerFlex PKCS#12 Plik za pomocą PASSWORD. Domyślnie: Domyślne zachowanie interfejsu SCLI

  • --p12-path=FILE

    Przechowywanie danych logowania PowerFlex PKCS#12 Plik jako FILE. Domyślnie: Domyślne zachowanie interfejsu SCLI

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 --tech jest określony.

  • -c[COMPONENTS], --generate-cores[=COMPONENTS]

Generowanie plików rdzenia (przy użyciu gcore(1)) w odniesieniu do uruchomionych procesów w ramach oddzielonego przestrzenią wykazu gruntów użytkowych COMPONENTS. Domyślnie: wszystkie komponenty przestrzeni użytkownika, implikuje --collect-executablesi wymaga gdb i gcore.

 
Uwaga: Pomiędzy nimi nie może być spacji -c i COMPONENTS. W przypadku długiej formy oddziel za pomocą =
 

Przykłady:

-c'mdm sds'
--generate-cores='mdm sds'
  • -C CORE_FILE--reference-core-file=CORE_FILE

    Zbierz dzienniki produktów i rdzenie dotyczące czasu ostatniej modyfikacji (mtime) z dnia CORE_FILE, zamiast godziny rozpoczęcia wykonywania. Oznacza --collect-cores

  • -E REF_TIME--event-time=REF_TIME

    Gromadzenie dzienników produktów i rdzeni związanych z REF_TIME, zamiast godziny rozpoczęcia wykonywania. Akceptuje dowolny format zrozumiały dla date(1). Oznacza --collect-cores.

  • -g[COMPONENTS], --valgrind-cores[=COMPONENTS]

Zbierać valgrind zrzuty rdzenia dla określonej przestrzeni użytkownika COMPONENTS. Domyślnie: wszystkie komponenty przestrzeni użytkownika. Oznacza --collect-executables.

 
Uwaga: Pomiędzy nimi nie może być spacji -b i COMPONENTS. W przypadku długiej formy oddziel za pomocą =
 

Przykłady:

-g'mdm sds'
--valgrind-cores='mdm sds'
  • -t MIN--minutes-before-event=MIN

    Zbieranie wygenerowanych dzienników produktów i rdzeni do MIN minut przed czasem odniesienia. Domyślnie: 15

  • -T MIN--minutes-after-event=MIN

    Zbieranie wygenerowanych dzienników produktów i rdzeni do MIN minut po czasie odniesienia. Domyślnie: 5

  • -X[COMPONENTS], --collect-executables[=COMPONENTS]

    Zbieranie plików wykonywalnych komponentów i ich bibliotek współdzielonych dla określonej przestrzeni użytkownika COMPONENTS. Domyślnie: Wszystkie komponenty przestrzeni użytkownika

 
Uwaga: Pomiędzy nimi nie może być spacji -b i COMPONENTS. W przypadku długiej formy oddziel za pomocą =
 

Przykłady:

-X'mdm sds'
--collect-executables='mdm sds'
  • --keep-work-dir

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

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ń produktu są przenoszone do podkatalogu komponentu. mdm/ For sclisdc/ For drv_cfgi tak dalej.
    Nazwa polecenia (sclidrv_cfgi tak dalej) jest usuwany. Pierwszym znaczącym argumentem staje się nazwa pliku. Pliki są przypisywane jako odpowiedni sufiks, .txt .

Przykłady: 

    • mdm/query_cluster.txt - wyjście scli --query_cluster
    • mdm/tgt_dump.txt - wyjście scli --debug_action --tgt_dump
    • sdc/query_mdms.txt - wyjście drv_cfg --query_mdms
    • sds/sdbg.txt - wyjście SDBG dumpallscreens dla karty charakterystyki charakterystyki
  • pliki składowe produktu (w przeciwieństwie do danych wyjściowych poleceń), <component>/cfg<component>/logsi tak dalej
    Skopiowane z katalogu komponentu z usuniętym prefiksem.

Przykłady: 

    • mdm/cfg/conf.txt - kopia /opt/emc/scaleio/mdm/cfg/conf.txt
    • sds/logs/trc.0 - kopia /opt/emc/scaleio/sds/logs/trc.0
  • Pliki systemu plików hosta są umieszczane w ścieżce systemu plików względem katalogu głównego pakietu.

Przykłady:

    • etc/os-release - kopia /etc/os-release
    • var/log/messages - kopia /var/log/messages
    • proc/cpuinfo - kopia /proc/cpuinfo
  • Pliki kolektora diagnostycznego (diag_coll) są kopiowane za pomocą /opt przedrostek usunięty, zachowując strukturę wewnętrzną.
    Przykład: diag_coll/logs/sar.0 - kopia /opt/diag_coll/logs/sar.0
  • Ukryte pliki (z prefiksem kropki) są "odkrywane" poprzez usunięcie kropki wiodącej.
  • Dziennik wykonywania narzędzia, get_info_run.log, umieszczony bezpośrednio pod nazwą hosta>/katalogiem <głównym

Struktura drzewa katalogów pakietów:

<hostname>/
|-- get_info_run.log                   Utility execution log
|-- server/                            General command output directory
|   |-- ip_-s_addr.txt
|   |-- uptime.txt
|   |-- uname_-a.txt
|   |-- ps_-elF.txt
|   |-- dmesg.txt
|   +-- ...                            (one file per collected command)
|
|-- mdm/                               PowerFlex component data (if installed)
|   |-- cfg/                           Configuration files (excl. PEM)
|   |-- logs/                          Trace and log files
|   |-- rep/                           Repository (if --mdm-repository)
|   |-- query_all.txt                  SCLI query outputs
|   |-- sdbg.txt                       SDBG screen dumps
|   +-- ...
|-- sds/
|-- pds/  
|-- dgwt/
|-- sdr/
|-- sdt/
|-- lia/
|-- sdc/
|-- gateway/
|
|-- diag_coll/                         Diagnostic data collector (if installed)
|   |-- logs/
|   |-- cfg/
|   +-- ...
|
|-- etc/                               Host files
|   |-- os-release
|   |-- sysconfig/
|   |-- network/
|   +-- ...
|-- var/
|   |-- log/
|   |   |-- messages
|   |   +-- ...
|   +-- ...
|-- proc/
|   |-- cpuinfo
|   |-- meminfo
|   +-- ...
|-- sys/
|-- ...
|
|-- scaleio-getinfo-extra/        Extra diagnostic data (if present)
+-- scaleio-getinfo-backup/       Backed-up configuration files (if any)

FILTROWANIE DZIENNIKÓW PRODUKTÓW I PLIKÓW RDZENIA

Opcje opisane w tej sekcji kontrolują sposób, w jaki pliki dziennika produktu (nazywane również plikami śledzenia, na przykład trc.0trc.1exp.0) i pliki zrzutu rdzenia są wybierane do uwzględnienia w zbieranym pakiecie. Robią to, definiując czas odniesienia, okno czasowe wokół niego i limity liczbowe.

Jeśli nie określono żadnych opcji filtrowania, zbierane są wszystkie pliki dziennika produktu i (jeśli włączona jest kolekcja rdzeniowa) wszystkie pliki zrzutu pamięci. Opcje filtrowania stopniowo zawężają ten wybór zgodnie z poniższym opisem.

Czas referencyjny

Czas referencyjny można ustawić za pomocą jednej z następujących opcji: -E/--event-time lub -C/--reference-core-file.

Jeśli ani jedno, ani drugie --event-time Ani --reference-core-file nie jest wykonywane filtrowanie okna czasowego: czas referencyjny jest domyślnie ustawiony na bieżący czas i jest używany tylko do porządkowania opartego na bliskości, gdy limit zliczania (-m lub -k) (patrz limity liczby poniżej).

Jeśli oba te elementy -E i -C pojawia się, ostatni element w wierszu poleceń zaczyna obowiązywać.

Okno czasowe

Po ustawieniu czasu odniesienia (za pomocą --event-time lub --reference-core-file), wokół niego ustanawia się okno czasowe. Zakres okna czasowego można ustawić za pomocą -t/--minutes-before-event oraz lub -T/--minutes-after-event, które domyślnie wynoszą odpowiednio 15 i 5 minut. Do kolekcji kwalifikują się tylko pliki, których zawartość pokrywa się z tym oknem.

Na przykład: -E "2020-03-20 14:30" -t 10 -T 3 Gromadzi pliki obejmujące okres od 14:20:00 do 14:33:00.

--minutes-before-event i --minutes-after-event są ignorowane, gdy ani jedno, ani drugie --event-time Ani --reference-core-file jest określony.

Limity liczby

Limit liczby plików można ustawić za pomocą -m/--max-traces i -k/--max-cores, odpowiednio dla plików dziennika i plików podstawowych. Wartość graniczna jest mierzona dla każdego składnika.

Gdy w przedziale czasowym mieści się więcej plików niż liczba liczb numerycznych (lub są one dostępne, jeśli żadne okno nie jest aktywne), gromadzone są pliki numeryczne znajdujące się najbliżej czasu referencyjnego.

Gdy limit zliczania jest używany bez --event-time lub --reference-core-file, wszystkie pliki są plikami kandydującymi (bez okna czasowego) i wybierane są najnowsze pliki NUM.

Logika filtrowania

Filtrowanie plików dotyczy najpierw przedziału czasu, a następnie limitu zliczania:

  1. Ustal kandydatów. Wyliczane są wszystkie pliki dziennika produktu i/lub pliki zrzutu rdzenia dla składnika.
  2. Uzyskiwanie zawartości period. Zawartość plików dziennika produktów reprezentuje okres. Uznaje się, że okres zawartości rozpoczyna się w momencie ostatniej modyfikacji poprzednika (mtime) lub epokę Uniksa, jeśli nie istnieje poprzednik; Kończy się na pliku mtime. Pliki zrzutu rdzenia reprezentują punkt w czasie, w którym plik mtime.
  3. Zastosuj okno czasowe (jeśli -E lub -C określone). Pliki, których zawartość w całości wykracza poza okno, są odrzucane z zaznaczania. W przypadku plików dziennika produktu, jeśli żaden plik nie mieści się w oknie, zachowywany jest pojedynczy plik znajdujący się najbliżej okna, dzięki czemu pakiet nigdy nie jest pusty dla komponentu. W przypadku plików zrzutu pamięci rdzenia taka rezerwa nie ma zastosowania.
  4. Zastosuj limit zliczania (jeśli -m oraz lub -k określone). Wśród pozostałych plików co najwyżej NUM , preferując te, które są najbliższe czasowi referencyjnemu. Pliki przed i po czasie referencyjnym rywalizują w równym stopniu o wybór.

UWIERZYTELNIANIA

Narzędzie próbuje zalogować się do lokalnego MDM, jeśli zostanie wykryte, że główny proces MDM nasłuchuje na oczekiwanym porcie (ustawienie domyślne: 6611)

Opcje logowania MDM są przekazywane do SCLI --login i są przez nie przetwarzane.

Jeśli logowanie się nie powiedzie, narzędzie zostanie zamknięte z błędem.

W przypadku pominięcia logowania nadal podejmowane są polecenia SCLI (w celu obsługi scenariuszy, w których użytkownik zalogował się wcześniej ręcznie). Po trzech awariach SCLI wyświetlane jest ostrzeżenie, a wszystkie kolejne polecenia SCLI są pomijane.

Logowanie jest pomijane, gdy:

  • Na hoście lokalnym nie znaleziono podstawowego procesu MDM.
  • Pakiet --skip-mdm-login jest określona.

Logowanie kończy się niepowodzeniem, gdy:

  • Właściciel procesu MDM nie znajduje się na liście autoryzowanych użytkowników (ustawienie domyślne: root) i włączone jest bezpieczne logowanie.
  • The SCLI --login Polecenie zwraca błąd (na przykład nieprawidłowe poświadczenia).

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.

Pakiet może być przesyłany strumieniowo ze zdalnego hosta za pomocą --output-file=- , aby zminimalizować wykorzystanie miejsca na dysku hosta PowerFlex. Plik pakietu jest zapisywany bezpośrednio na standardowe wyjście (stdout) podczas przesyłania strumieniowego; 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 szacowane wymagane miejsce przekracza ilość miejsca dostępnego w odpowiednich systemach plików, narzędzie zakończy działanie z błędem. Tę kontrolę można pominąć za pomocą --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, get_info_run.log.

KOD ZAKOŃCZENIA

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

PLIKI

<WORK_DIR>/get_info_run.log Dziennik wykonania (również w pakiecie)
<WORK_DIR>/scaleio-getinfo-tmp/ Tymczasowy katalog pracy (wyczyszczony po pomyślnym zakończeniu)
/tmp/scaleio-getinfo/getInfoDump.tgz Domyślna lokalizacja pakietu wyjściowego
<WORK_DIR>/scaleio-getinfo-extra/
/tmp/scaleio-getinfo-extra/
Opcjonalne dodatkowe katalogi danych diagnostycznych
/tmp/scaleio-getinfo-backup/ Tymczasowe kopie zapasowe zmodyfikowanych plików konfiguracyjnych (tworzone automatycznie)
/opt/emc/scaleio/ Katalog instalacyjny PowerFlex

ŚRODOWISKO

Wymagania wstępne

  • Narzędzie musi być uruchomione jako root (lub użytkownik z wystarczającymi uprawnieniami do odczytu plików składników, uruchamiania poleceń diagnostycznych i uzyskiwania dostępu /proc/sysi tak dalej).
  • Standardowe media: targzipstatfindawksedgetopt(1) (wzmocniony), nice.
  • Opcjonalnie: zip (dla --zip), xz (dla --xz), gdb/gcore (dla --generate-cores)

Współbieżności

Tylko jedno wystąpienie get_info.sh może działać jednocześnie. Narzędzie sprawdza istniejącą uruchomioną instancję za pomocą polecenia: pidof(1) i kończy działanie, jeśli instancja zostanie znaleziona.

Obsługa sygnałów

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

  1. Przywraca wszystkie pliki konfiguracyjne, dla których utworzono kopię zapasową (na przykład ustawienia generacji rdzenia).
  2. Czyści katalogi tymczasowe
  3. Wyjścia ze stanem 1

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

Przykłady

Odbierz standardowy pakiet pomocy technicznej:

get_info.sh

Przesyłanie strumieniowe pakietu za pośrednictwem połączenia SSH bez tworzenia pliku pakietu na zdalnym hoście PowerFlex:

ssh <host> 'get_info.sh --output-file=-' > getInfoDump-<host>.tgz

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

get_info.sh --work-dir=/var/tmp

Uwzględnij ścieżki niestandardowe w pakiecie:

get_info.sh --collect-path=/opt/custom/app/logs --collect-path='/var/log/app*'

Zbierz najnowszy zrzut rdzenia tylko dla komponentów SDS i MDM:

get_info.sh --collect-cores='mdm sds' --max-cores=1

Zbieraj dane skoncentrowane wokół czasu modyfikacji pliku rdzenia, z niestandardowym przedziałem czasu:

get_info.sh --reference-core-file=/opt/emc/scaleio/sds/bin/core.1000 \
            --minutes-before-event=10 \  
            --minutes-after-event=2  
 

Affected Products

PowerFlex rack, ScaleIO
Article Properties
Article Number: 000455324
Article Type: How To
Last Modified: 21 مايو 2026
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.