VPLEX: Dysk oznaczony jako martwy z powodu warunku sprawdzania SCSI 3/11/0 z macierzy pamięci masowej
Summary: VPLEX oznacza dysk jako martwy z powodu kodu wykrywania scsi 3/11/0 z bazowej macierzy pamięci masowej.
Symptoms
To zdarzenie jest wyzwalane, gdy VPLEX wykonuje żądanie odczytu do bazowej jednostki LUN macierzy pamięci masowej, a macierz nie jest w stanie obsłużyć operacji we/wy w tym bloku jednostki LUN, co wyzwala warunek sprawdzania 3/11/0 (uszkodzony blok w macierzy).
Jest to często spotykane w sytuacjach o dużej intensywności operacji we/wy odczytu, takich jak:
- Zasięg VPLEX/migracja urządzeń
- Operacje tworzenia kopii zapasowych
- Sprawdzanie integralności bazy danych
Wolumin pamięci masowej VPLEX jest oznaczony jako "hardware-dead", ale wykazuje prawidłowy stan w interfejsie macierzy pamięci masowej.
Przykładowe dane wyjściowe z polecenia wiersza polecenia ll /clusters/cluster-2/storage-elements/storage-volumes/storage-volume name>
VPlexcli:/> ll /clusters/cluster-2/storage-elements/storage-volumes/VNX_LUN_25
/clusters/cluster-2/storage-elements/storage-volumes/VNX_LUN_25:
Name Value
----------------------------- ------------------------------------------------
application-consistent false
block-count 1073741824
block-size 4K
capacity 4T
description -
free-chunks []
health-indications [hardware dead] <<
health-state critical-failure <<
io-status dead <<
itls 0x50001442a03c0810/0x5006016b08603879/9,
0x50001442a03c0811/0x5006016308603879/9,
largest-free-chunk 0B
locality -
operational-status error <<
provision-type legacy
storage-array-name EMC-CLARiiON-123456789
storage-volumetype normal
system-id VPD83T3:xxxxxxxxxxxxxxxxxxxxx
thin-capable false
thin-rebuild true
total-free-space 0B
underlying-storage-block-size 512
use unusable <<
used-by [extent_VNX_LUN_25]
vendor-specific-name DGC
Migracja urządzeń/zasięgu VPLEX (zadanie mobilności) zatrzymuje się na określonym procencie.
Przykładowe dane wyjściowe z polecenia wiersza polecenia ll data-migrations/device-migrations/<device_migration_name>
VPlexcli:/> ll data-migrations/device-migrations/D__Migrate_LUN_1
/data-migrations/device-migrations/D__Migrate_LUN_1:
Name Value
--------------- ----------------------------
from-cluster cluster-1
percentage-done 7
source device_VNX_LUN25_1
source-exported -
start-time -
status error <<
target device_SYMM_DEV1234_1
target-exported -
to-cluster cluster-2
transfer-size 2M
type full
Host widzi, że pamięć masowa VPLEX przechodzi w tryb offline lub jest oznaczony jako martwy, a wolumin pamięci masowej VPLEX jest również oznaczony jako awaria krytyczna lub awaria sprzętowa.
Przykładowe dane zanotowane w dzienniku oprogramowania wewnętrznego,amf/45 disk VPD83T3:xxxxxxxxxxxxxxx: read failure: marking this in-use disk dead
Dzienniki oprogramowania wewnętrznego VPLEX pokazują przesyłanie strumieniowe lub sporadyczne scsi/27 (Check Condition) z wpisami kodu SCSI Sense dla 3/11/0, co przekłada się na "Medium Error - unrecovered read error"
Przykładowe dane wyjściowe zanotowane w dzienniku oprogramowania wewnętrznego podczas incydentu,2016/06/09 02:46:23.67: scsi/27 tgt VPD83T3:6006016011663200b058c25a984de511 cmd 0x28 status 0x2 valid 0 resp 0x70 seg 0x0 bits 0x0 key 0x3 info 0x0 alen 10 csi 0x0 asc 0x11 ascq 0x0 fru 0x0 sks 0x0
2016/06/09 02:46:23.68: scsi/27 tgt VPD83T3:6006016011663200b058c25a984de511 cmd 0x28 status 0x2 valid 0 resp 0x70 seg 0x0 bits 0x0 key 0x3 info 0x0 alen 10 csi 0x0 asc 0x11 ascq 0x0 fru 0x0 sks 0x0
2016/06/09 02:46:23.69: scsi/27 tgt VPD83T3:6006016011663200b058c25a984de511 cmd 0x28 status 0x2 valid 0 resp 0x70 seg 0x0 bits 0x0 key 0x3 info 0x0 alen 10 csi 0x0 asc 0x11 ascq 0x0 fru 0x0 sks 0x0
Aby potwierdzić ten problem, zawsze będą spełnione następujące warunki:key = 0x3asc = 0x11ascq = 0x0
Cause
Gdy VPLEX wysyła żądanie odczytu we/wy (0x28) do macierzy pamięci masowej, macierz nie jest w stanie pomyślnie obsłużyć żądania we/wy i odpowiada warunkiem 3/11/0 w przypadku "nieodzyskanego błędu odczytu".
VPLEX próbuje odczytywać dane z uszkodzonego bloku w macierzy pamięci masowej, a ponieważ macierz pamięci masowej nie jest w stanie obsłużyć tego we/wy, VPLEKS oznacza pamięć masową jako martwą.
Nie jest to specyficzne dla macierzy ani kodu macierzy.
Przyczyna tego jest zewnętrzna w stosunku do VPLEX i stanowi problem w macierzy pamięci masowej z jednostką LUN.
Resolution
Macierz pamięci masowej, która wysyła warunek sprawdzania scsi, 3/11/0, do VPLEX, musi zostać zbadana przez odpowiedniego dostawcę macierzy. Ten problem jest wywoływany przez macierz, która nie może obsłużyć żądania we/wy odczytu z powodu problemu z "nieodzyskanym odczytem" w macierzy pamięci masowej.
Należy zaangażować pomoc techniczną VNX.
Następujące polecenie wiersza poleceń można uruchomić na serwerze VPLEX Management-Server, aby uzyskać listę 50 jednostek logicznych, na które mają wpływ warunki sprawdzania 3/11/0:grep "key 0x3 " /var/log/VPlex/cli/firmware.log_* | awk '{print $3,$5,$18,$19,$26,$27,$28,$29}' | sort | uniq -c | sort -nr | head -50
Przykład:
service@ManagementServer:~> grep "key 0x3 " /var/log/VPlex/cli/firmware.log_* | awk '{print $3,$5,$18,$19,$26,$27,$28,$29}' | sort | uniq -c | sort -nr | head -50
388408 scsi/27 VPD83T3:60060160116632000000000000000001 key 0x3 asc 0x11 ascq 0x0
45135 scsi/27 VPD83T3:60060160116632000000000000000002 key 0x3 asc 0x11 ascq 0x0
44451 scsi/27 VPD83T3:60060160116632000000000000000003 key 0x3 asc 0x11 ascq 0x0
35412 scsi/27 VPD83T3:60060160116632000000000000000004 key 0x3 asc 0x11 ascq 0x0
30158 scsi/27 VPD83T3:60060160116632000000000000000005 key 0x3 asc 0x11 ascq 0x0
24589 scsi/27 VPD83T3:60060160116632000000000000000006 key 0x3 asc 0x11 ascq 0x0
21579 scsi/27 VPD83T3:60060160116632000000000000000007 key 0x3 asc 0x11 ascq 0x0
Jeśli jest to macierz innej niż EMC, skontaktuj się z dostawcą macierzy w celu rozwiązania problemu z macierzą.
Additional Information
Jest to problem warstwy blokowej w macierzy pamięci masowej, który można rozwiązać tylko przez podjęcie działań w samej macierzy pamięci masowej.
Nie jest to problem z VPLEX, ale VPLEX zgłasza objaw widoczny w macierzy zaplecza.
Użycie "storage-volume resurrect --force" jest nieprawidłowe.
To polecenie wymusza, aby martwy wolumin pamięci masowej był wyświetlany jako "aktywny" w VPLEX niezależnie od bieżącego stanu we/wy lub problemów w podstawowej macierzy pamięci masowej.
To polecenie wymusza powrót woluminu pamięci masowej do trybu online do momentu następnego niepowodzenia operacji we/wy w podstawowej macierzy pamięci masowej.
Gdy host zażąda tego samego bloku danych, którego dotyczy problem 3/11/0 w podstawowej macierzy pamięci masowej, wolumin pamięci masowej zostanie ponownie oznaczony jako martwy.
Jest to oczekiwane zachowanie, a nie oznaka problemu z VPLEX.
Przedstawienie problematycznego woluminu pamięci masowej bezpośrednio z macierzy pamięci masowej do hosta (z pominięciem VPLEX) może pozwolić hostowi na wykorzystanie części danych. Jednak to działanie bezpośrednio przedstawia hostowi możliwe uszkodzenie danych. Host nadal ma problemy z odczytem z określonych bloków z problemem warunku sprawdzania 3/11/0.