Posted in

Analiza błędów w AIX: Dekodowanie Sense Data z ERRPT

W systemie AIX, gdy wystąpi błąd, informacja o nim jest rejestrowana w dzienniku błędów.
Przeglądając błędy, które pojawiły się w systemie (errpt), możemy odczytać podstawowe informacje o tym, kiedy wystąpił błąd i czego dotyczył.

Przykładowo, analizując błąd:

aix73lab:/# errpt -a

--------------------------------------------------------------------------
LABEL:           SC_DISK_ERR10
Date/Time:       Tue Feb  4 19:00:05 CEST 2024
Type:            PERM
Resource Name:   hdisk1
Description
REQUESTED OPERATION CANNOT BE PERFORMED
Detail Data
PATH ID
           0
SENSE DATA
0600 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0118 0005 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1283 0000
z041A 003D 001A FFFF FFFF 0100 0000 0118 0000 0005 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000
---------------------------------------------------------------------------

Widzimy, kiedy wystąpił, że był związany z hdisk1, a problem, który się pojawił, to „REQUESTED OPERATION CANNOT BE PERFORMED.”

Ale co się stało, że operacja nie mogła zostać wykonana?

Można to ustalić, analizując pole Sense Data. Pole to zawiera szczegółowe informacje, które pomagają określić przyczynę błędu i czego on dotyczy.

W przypadku powyższego błędu dodatkowe informacje to:

Feb 04 19:00:05 hdisk1     P SC_DISK_ERR10       path  0 TEST UNIT READY  RESERVATION CONFLICT (0 Sec rtry 01)

Jak widać, odpowiedź jest prosta i jasna – wystąpił konflikt rezerwacji (SCSI).

Pole Sense Data składa się z danych w formacie szesnastkowym, co utrudnia jego szybką interpretację.
Oczywiście można je przeanalizować ręcznie, na przykład za pomocą SCSI Sense Data, ale to wymaga czasu, a podczas awarii czasu zawsze brakuje.

Na szczęście dostępne jest narzędzie diagnostyczne – SUMM – umożliwiające konwersję Sense Data do formatu „czytelnego dla człowieka”. Nie jest ono domyślnie dostępne w systemie, ale warto je zainstalować, gdyż pomaga w diagnostyce, zajmuje niewiele miejsca i nie ma żadnych zależności.

Narzędzie można pobrać ze strony internetowej:
https://www.ibm.com/support/pages/ibm-aix-diagnostic-tool-summ-summarized-system-error-log-and-report-generator-io-devices

Jest bardzo łatwe w użyciu i pozwala na szybkie uzyskanie dodatkowych informacji o problemie.

errpt -a | summ

or

summ error_log.txt

Korzystając z powyższego narzędzia można zamienić to:

aix73lab:/# errpt
IDENTIFIER TIMESTAMP  T C RESOURCE_NAME  DESCRIPTION
F31FFAC3   0205012525 I H hdisk0         PATH HAS RECOVERED
F31FFAC3   0205012525 I H hdisk1         PATH HAS RECOVERED
6382B81C   0205012525 T S vscsi1         Temporary VSCSI software error
DE3B8540   0205012425 P H hdisk0         PATH HAS FAILED
DE3B8540   0205012425 P H hdisk1         PATH HAS FAILED
DE3B8540   0205012325 P H hdisk0         PATH HAS FAILED
DE3B8540   0205012325 P H hdisk1         PATH HAS FAILED
81453EE1   0205012225 T S vscsi1         Underlying transport error

w to:

aix73lab:/# errpt -a | ./summ
Feb  5 01:25:47 hdisk0     I SC_DISK_PCM_ERR9    path  1 path recovered
Feb  5 01:25:01 hdisk1     I SC_DISK_PCM_ERR9    path  1 path recovered
Feb  5 01:25:00 vscsi1     T VIOS_VSCSI_ERR1     Temporary VSCSI software error
Feb  5 01:24:47 hdisk0     P SC_DISK_ERR7        path  1 path failure; TEST UNIT READY  transport fault
Feb  5 01:24:01 hdisk1     P SC_DISK_ERR7        path  1 path failure; TEST UNIT READY  transport fault
Feb  5 01:23:48 hdisk0     P SC_DISK_ERR7        path  1 path failure; WRITE(10)        (3E7D4160,0008) transport fault (15.9 Sec rtry 01)
Feb  5 01:23:32 hdisk1    P SC_DISK_ERR7        path  1 path failure; WRITE(10)        (24114778,0008) transport fault (15.9 Sec rtry 01)
Feb  5 01:22:55 vscsi1     T VIOS_VSCSI_ERR2     Underlying transport error

Kilka innych przykładów zdekodowanych danych:

Feb 1 17:58:00 rmt12      P TAPE_ERR1           WRITE(6)         (040000) CHECK MEDIUM ERROR; WRITE ERROR
Feb  1 15:54:27 rmt15      P TAPE_ERR1           REWIND           (00000000) CHECK MEDIUM ERROR; MEDIA LOAD OR EJECT FAILED

Feb 1 12:45:41 hdisk311   T SC_DISK_ERR4        path  0 READ(10)         (102C4200,0300) transport fault
Feb 25 12:45:40 fscsi8     T FCP_ERR4            Error detected receiving from port 0x04BC30 (possible marginal link)

Feb 1 22:31:41 hdisk6 P SC_DISK_ERR7 path 3 path failure; WRITE(10) (037E6C58,0008) no response from device
Feb 1 22:31:27 fscsi2 T FCP_ERR14 Nameserver GID_PN reject for 5....F; Port Name not registered

PODSUMOWANIE

Interpretacja danych Sense z AIX errpt może dostarczyć wielu przydatnych informacji o problemie. Na ich podstawie łatwiej jest zrozumieć, co się stało. Użycie SUMM upraszcza proces, konwertując te dane do formatu czytelnego dla człowieka, dzięki czemu diagnoza jest szybsza i łatwiejsza.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *