PowerFlex: Disk med fel enhets-ID
Summary: ScaleIO-systemdisken visas som misslyckad när den användes på en annan SDS-nod.
Symptoms
Scenario
När kunder använder samma diskhölje för två eller fler SDS-noder måste de konfigurera offline/online för varje disk och den nod den tillhör.
Ibland kan kunden missta sig och online samma disk på båda SDS-noderna och då ser vi en disk som misslyckad.
Möjliga misstag:
- Kunden registrerar samma disk på båda SDS-noderna och sedan ser vi en disk som misslyckad.
- Kunden växlar diskar, vilket innebär att varje disk är online på fel nod, i så fall ser vi två trasiga enheter en, på varje SDS-nod.
Symptom
Fel diskenhets-ID hittades av SDS-noden och SDS-processen ställde in disken på tillståndet FAILED.
Vid start av SDS-processen efter att SDS-processen för mosConf-delen flyttas till identifiering av fysiska enheter, när disken inte är avsedd för scaleio-användning (t.ex. systemoperativsystemsdisk eller ledig disk) visas felet "Ogiltig enhetsrubriksignatur" (första raden i utdata). När disken används av ScaleIO hittas en enhet och enhets-ID:t visas bredvid den.
På den första utgången nedan (trc-fil från server 1) kan vi se att 12 enheter hittades, men om vi tittar noga kan vi se att två enheter är olika (L,M) - det 12:e tecknet i enhets-ID är 3 och inte 0 som alla andra enhets-ID:n.
På den andra utgången nedan (trc-fil från server 2) hittades 12 diskar och återigen är två diskar olika (K,L) - det 12:e tecknet i enhets-ID är 0 och inte 3 som alla andra enhets-ID:n.
Efter identifieringsprocessen flyttas SDS-processen till att lägga till enheter tillbaka till SDS, när SDS inte hittar disken kommer rc-resultatet att vara NOT_FOUND (trc-fil från server 1), som vi kan se i exemplen nedan, på varje SDS har vi diskar med enhets-ID som inte tillhör dess SDS, SDS kommer att visa dessa diskar som FAILED eftersom de är NOT_FOUND (trc-fil från server 1).
TRC-fil från server 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-fil från server 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
Förklaring av SDS-enhets-ID
Varje SDS-enhet har en sparad rubrik på sin 64:e LB.
Rubriken har följande struktur:
64-bitars signatur
64-bitars enhetsversion
64-bitars SDS-ID
64-bitars SDS-enhets-ID ß vad du letar efter.
SDS-enhets-ID, även kallat TgtDevId, består av följande:
Unikt ID 32 bitar
TGT-index 16 bitar
Enhetsindex 16 bitar
Till exempel: en SDS med ID 2df4737600000002 skulle ha två enheter med ID:n: 7FFF29EA00020000, 7FFF29EB00020001
Hur som helst, om en enhet som tillhör SDS x byttes ut till SDS y, får den reda på att den tillhör en annan SDS när den återansluter enheten till SDS y genom att kontrollera SDS-ID:t som sparats i rubriken.
Du kan kanske se det i SDS-loggarna om du söker efter "Fel enhet"
Påverkan
Ombyggnad och ombalansering av systemet eftersom disken är i tillståndet MISSLYCKADES.
Cause
Diskenhets-ID:t tillhör en annan SDS-nod, därför kommer ScaleIO aldrig att använda det.
Resolution
Lägga till disken på rätt SDS-nod.
Berörda versioner
Alla PowerFlex-versioner
Åtgärdat i version
Arbeta som design.