Dreaded Array Confusion
Dreaded Array Confusion, eller DAC, är en term som ges åt en grupp av RAID-arrayfel som i praktiken är omöjliga att diagnostisera men som kännetecknas av det gemensamma draget att de inte upplever något diskfel i kombination med fullständigt arrayfel som resulterar i total dataförlust. Det antas att tre nyckelorsaker ligger bakom majoriteten av DAC:
Mjukvaru- eller firmwarebuggar: Även om dramatiska buggar i RAID-beteende är sällsynta idag är de alltid möjliga, särskilt med mer komplicerade arraytyper såsom paritets-RAID där rekonstruktiva beräkningar måste utföras på arrayen. En bugg i RAID-mjukvara eller firmware (beroende på om vi talar om mjukvaru- eller hårdvaru-RAID) skulle kunna yttra sig på en mängd olika sätt, inklusive oavsiktlig förstörelse av arrayen. Firmwareproblem skulle även kunna uppstå i diskarna själva.
Hårdvarufel: Fel i hårdvara såsom processorer, minne eller styrenheter kan ha dramatiska effekter på en RAID-array. Minnesfel skulle i synnerhet lätt kunna resultera i total arrayförlust. Detta anses vara den minst vanliga orsaken till DAC.
Drive Shake: I detta scenario skakar enskilda diskar loss och kopplas bort från bakplanet för att senare skaka tillbaka på plats och utlösa en återuppbyggnadshändelse (resilvering). Om detta skulle inträffa med flera diskar under en återuppbyggnadscykel, eller om ett URE påträffades under en återuppbyggnad, skulle vi se total arrayförlust på paritetsarrayer, potentiellt till och med utan att något hårdvarufel inträffar.
På grund av DAC:s natur, och eftersom det inte är ett problem med RAID i sig utan med dess stödkomponenter, hamnar vi i en mycket svår position när vi försöker identifiera eller kvantifiera risken. Ingen vet hur sannolikt det är att DAC inträffar, och även om vi vet att DAC är ett mer betydande hot på paritets-RAID-system vet vi inte hur mycket större. Anekdotiska belägg tyder på att risken på speglad RAID är omätbart låg och att den på paritets-RAID kan stiga över bakgrundsbruset i riskanalys. Av felmoderna utgör både mjukvarubuggar och drive shake mycket högre risk för system som körs på paritets-RAID, eftersom URE-risken endast påverkar paritetsarrayer och den mjukvara som krävs för paritet är långt mer komplex än den mjukvara som behövs för spegling. Paritets-RAID är helt enkelt mer ömtåligt och bär på fler typer av risker, vilket exponerar det för DAC på fler sätt än vad speglad RAID är.
Eftersom DAC är ett antal möjligheter, och eftersom det i praktiken är omöjligt att identifiera efter att det har inträffat, finns det få möjliga sätt att samla in data om det. Sedan DAC identifierades som en risk har många personer trätt fram, främst i Spiceworks-gemenskapen, för att tillhandahålla anekdotiska ögonvittnesskildringar av DAC-arrayfel. Slutanvändar-IT:ns natur är sådan att statistik, särskilt om nebulösa begrepp som DAC vilka inte är allmänt kända, inte samlas in och inte kan göras. DAC uppstår i verksamheter över hela världen där en systemadministratör återvänder till kontoret för att finna en server med all data borta och ingen hårdvara som havererat. Datan är redan förlorad. Diagnostik kommer sannolikt inte att köras, loggar kommer inte att finnas, och även om problemet kan identifieras, till vem skulle det rapporteras, och även om det rapporterades, hur kvantifierar vi hur ofta det inträffar jämfört med hur ofta det inte gör det, eller hur ofta det kanske inträffar men inte rapporteras. Tyvärr är allt jag vet att i och med att risken och dess symptom identifierades och i viss mån offentliggjordes trädde plötsligt många personer fram och medgav att de också hade sett DAC på nära håll och inte hade någon aning om vad som hade hänt.
Om mina anekdotiska studier är någon indikator skulle det tyckas som att DAC faktiskt utgör en betydande risk för paritetsarrayer, med fel som förekommer i en märkbar andel av arrayerna, men noggrannheten och storleken på det tvärsnitt av datainsamlingen var ringa. Den ursprungliga tanken var emellertid att DAC var så sällsynt att man teoretiskt sett inte skulle kunna hitta någon som någonsin hade observerat det, men så tycks inte vara fallet. Jag känner redan till många personer som har upplevt det.
Vi tvingas, av branschens natur, att acceptera DAC som en potentiell risk och lista den som en okänd “mindre” risk i riskbedömningar och vara förberedda på den, men vi kan inte beräkna mot den. Men att veta att den kan vara en risk och att förstå varför den kan inträffa är viktigt vid bedömning av risk och riskreducering.
[Anekdotiska belägg tyder på att DAC nästan alltid är exklusivt för hårdvaru-RAID-implementationer av paritets-RAID-arrayer med enkel paritet på SCSI-styrenheter.]
