PowerFlex: Uszkodzony dysk z nieprawidłowym identyfikatorem urządzenia
Summary: Dysk systemowy ScaleIO jest wyświetlany jako uszkodzony, gdy był używany w innym węźle SDS.
Symptoms
Scenariusz
Jeśli klient używa tej samej obudowy dysku dla co najmniej dwóch węzłów SDS, musi skonfigurować tryb offline/online dla każdego dysku i węzła, do którego należy.
Czasami klient może się pomylić i podłączyć do trybu online ten sam dysk na obu węzłach SDS, a następnie jeden dysk jest wyświetlany jako uszkodzony.
Możliwe błędy:
- Klient przełącza w tryb online ten sam dysk na obu węzłach SDS, a następnie jeden z nich jest widoczny jako uszkodzony.
- Klient wymienia dyski, co oznacza, że każdy dysk jest online na niewłaściwym węźle. W takim przypadku widzimy dwa uszkodzone dyski, po jednym w każdym węźle SDS.
Objawy
Węzeł SDS wykrył nieprawidłowy identyfikator urządzenia dyskowego, a proces SDS ustawił dysk w stan FAILED.
Przy uruchamianiu procesu SDS po przejściu procesu SDS części mosConf do wykrywania urządzeń fizycznych, gdy dysk nie jest przeznaczony do użytku w skali (np. dysk systemu operacyjnego lub wolny dysk), zostanie wyświetlony błąd "Nieprawidłowa sygnatura nagłówka urządzenia" (pierwszy wiersz na wyjściu). Gdy dysk jest używany przez ScaleIO, urządzenie zostanie znalezione, a obok niego zostanie wyświetlony identyfikator urządzenia.
Na pierwszym wyjściu poniżej (plik trc z serwera 1) widzimy, że znaleziono 12 urządzeń, ale przyglądając się bliżej, widzimy, że dwa urządzenia różnią się (L,M) - 12. znak w identyfikatorze urządzenia to 3, a nie 0, jak wszystkie inne identyfikatory urządzeń.
Na drugim wyjściu poniżej (plik trc z serwera 2) znaleziono 12 dysków i ponownie dwa dyski są różne (K,L) - 12. znak w identyfikatorze urządzenia to 0, a nie 3, jak wszystkie inne identyfikatory urządzeń.
Po procesie wykrywania proces SDS przechodzi do dodawania urządzeń z powrotem do SDS, gdy SDS nie znajdzie wyniku rc dysku będzie NOT_FOUND (plik trc z serwera 1), jak widać na poniższych przykładach, na każdym SDS mamy dyski z identyfikatorem urządzenia nie należącym do jego SDS, SDS pokaże te dyski jako USZKODZONE, ponieważ są NOT_FOUND (plik trc z serwera 1).
Plik trc z serwera 1
30/04 09:48:16.328000 000000A170629EA0:phyDev_ReadDevId:02679: Invalid device header signature : path=C, devVersion=2807280628052804, sigStart=2803280228012800, sigEnd=283b283a28392838
30/04 09:48:16.328000 000000A170629EA0:phyDevMap_ReloadSpecific:00128: Failed to read DeviceId of C. rc=351
30/04 09:48:16.329000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device F ,a2901dcd00000000
30/04 09:48:16.330000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device G ,a2901dce00000001
30/04 09:48:16.331000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device H ,a2901dcf00000002
30/04 09:48:16.332000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device I ,a2901dd000000003
30/04 09:48:16.333000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device J ,a2901dd100000004
30/04 09:48:16.333000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device K ,a29044bf00000005
30/04 09:48:16.337000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device L ,a29044c400030006
30/04 09:48:16.342000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device M ,a29044c000030005
30/04 09:48:16.343000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device N ,a29044cb00000008
30/04 09:48:16.344000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device O ,a2906bcf00000009
30/04 09:48:16.345000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device P ,a2906bd30000000a
30/04 09:48:16.345000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device Q ,fbd792df0000000b
...
30/04 09:48:16.345000 000000A1730BCEA0:contCmd_AddDev:01204: DevId a2901dce00000001 - Start rc = SUCCESS
30/04 09:48:16.346000 000000A173086EA0:contCmd_AddDev:01204: DevId a29044c700000007 - Start rc = SUCCESS
30/04 09:48:16.346000 000000A173098EA0:contCmd_AddDev:01204: DevId a2906bd30000000a - Start rc = SUCCESS
30/04 09:48:16.346000 000000A1730E0EA0:contCmd_AddDev:01204: DevId fbd792e50000000c - Start rc = SUCCESS
30/04 09:48:16.346000 000000A1730B3EA0:contCmd_AddDev:01204: DevId a2901dcf00000002 - Start rc = SUCCESS
30/04 09:48:16.346000 000000A17310DEA0:contCmd_AddDev:01204: DevId a2901dcd00000000 - Start rc = SUCCESS
30/04 09:48:16.346000 000000A173062EA0:contCmd_AddDev:01204: DevId a29044cb00000008 - Start rc = SUCCESS
30/04 09:48:16.346000 000000A1730C5EA0:contCmd_AddDev:01204: DevId a2901dd100000004 - Start rc = SUCCESS
30/04 09:48:16.346000 000000A1730E0EA0:contCmd_AddDev:01391: DevId fbd792e50000000c - Done rc = NOT_FOUND
30/04 09:48:16.348000 000000A1730A1EA0:contCmd_AddDev:01204: DevId fbd792ee0000000e - Start rc = SUCCESS
30/04 09:48:16.348000 000000A1730A1EA0:contCmd_AddDev:01391: DevId fbd792ee0000000e - Done rc = NOT_FOUND
30/04 09:48:16.349000 000000A1730F2EA0:contCmd_AddDev:01204: DevId fbd792e90000000d - Start rc = SUCCESS
30/04 09:48:16.349000 000000A17306BEA0:contCmd_AddDev:01204: DevId a2901dd000000003 - Start rc = SUCCESS
30/04 09:48:16.349000 000000A17307DEA0:contCmd_AddDev:01204: DevId a2906bcf00000009 - Start rc = SUCCESS
30/04 09:48:16.349000 000000A173074EA0:contCmd_AddDev:01204: DevId a29044bf00000005 - Start rc = SUCCESS
30/04 09:48:16.349000 000000A173086EA0:contCmd_AddDev:01391: DevId a29044c700000007 - Done rc = NOT_FOUND
30/04 09:48:16.349000 000000A1730F2EA0:contCmd_AddDev:01391: DevId fbd792e90000000d - Done rc = NOT_FOUND
30/04 09:48:16.351000 000000A1730FBEA0:contCmd_AddDev:01204: DevId fbd792ef0000000f - Start rc = SUCCESS
30/04 09:48:16.352000 000000A1730FBEA0:contCmd_AddDev:01391: DevId fbd792ef0000000f - Done rc = NOT_FOUND
30/04 09:48:16.352000 000000A173104EA0:contCmd_AddDev:01391: DevId a29044c300000006 - Done rc = NOT_FOUND
trc z serwera 2
30/04 11:37:57.065000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device F ,a2901dc800030000
30/04 11:37:57.065000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device G ,a2901dc900030001
30/04 11:37:57.065000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device H ,a2901dca00030002
30/04 11:37:57.065000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device I ,a2901dcb00030003
30/04 11:37:57.065000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device J ,a2901dcc00030004
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device K ,a29044c300000006
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device L ,a29044c700000007
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device M ,a29044c800030007
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device N ,a29044cc00030008
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device O ,a2906bd000030009
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device P ,a2906bd40003000a
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device Q ,fbda92e00003000b
Objaśnienie identyfikatora urządzenia SDS
Każde urządzenie SDS ma nagłówek zapisany w 64funtach.
Nagłówek ma następującą strukturę:
Podpis 64-bitowy
Wersja urządzenia 64-bitowego
64-bitowy identyfikator SDS
64-bitowy identyfikator urządzenia SDS ß czego szukasz.
Identyfikator urządzenia SDS, znany również jako TgtDevId, składa się z następujących elementów:
Unikatowy identyfikator 32 bity
Indeks TGT 16 bitów
Indeks urządzenia 16 bitów
Na przykład: serwer SDS o identyfikatorze 2df4737600000002 będzie miał dwa urządzenia o identyfikatorach: 7fff29ea00020000, 7ff29eb00020001
W każdym razie, jeśli urządzenie należące do SDS x zostało zamienione na SDS y, to po ponownym podłączeniu urządzenia do SDS y dowiaduje się, że należy do innego SDS, sprawdzając identyfikator SDS zapisany w nagłówku.
Być może możesz to zobaczyć w dziennikach SDS, jeśli wyszukasz "Niewłaściwe urządzenie"
Wpływ
Odbudowa i równoważenie systemu, gdy dysk jest w stanie FAILED.
Cause
Identyfikator urządzenia dysku należy do innego węzła SDS, dlatego ScaleIO nigdy go nie użyje.
Resolution
Dodawanie dysku do właściwego węzła SDS.
Wersje, których dotyczy problem
Wszystkie wersje PowerFlex
Naprawiono w wersji
Pracuj jako projekt.