Det startet på en lørdag kveld med min kone og spurte hvorfor DVR plutselig sluttet å spille et show hun så på. Jeg sa til henne at det sannsynligvis bare var noe glipp, men jeg ville ta en titt. Jeg går inn på familierommet for å se, og feilen ga i utgangspunktet uttrykk for at den underliggende disken ikke lenger var tilgjengelig. Ikke bra! Dette var starten på min tre dager skrekkhistorie …
Litt bakgrunn
DVRen min er faktisk bare spesialisert programvare (SageTV for de som er nysgjerrige) som kjører på en PC. Programvaren er veldig fleksibel og lar deg skille ut alle de forskjellige aspektene ved den. Jeg har en egen maskin for sentralisert kontroll, planlegging og opptak, separate maskiner for avspilling, og stjernen i denne historien, en egen maskin for lagring. For lagring bruker jeg en Linux-filserver, bruker LVM (Logical Volume Manager) for å samle mange separate, ikke-identiske stasjoner i en stor (~ 6TB for tiden) logisk stasjon som operativsystemet ser. Siden sikkerhetskopiering av flere TB med data er upraktisk, og siden nevnte data er "bare" TV-show, har sikkerhetskopieringsfilosofien min alltid vært å ikke bry seg. Inntil nylige hendelser hadde denne filosofien ikke blitt testet av en hendelse i den virkelige verden.
Forsøker å gjenopprette dataene
Da jeg så feilen på DVR, begynner jeg umiddelbart å se på lagringsserveren. Filsystemet er utrolig tregt og tregt å svare, så jeg spør LVM om tilstanden til de fysiske stasjonene som ligger til grunn for det logiske volumet. Etter en lang forsinkelse kommer den opp og sier at en 750 GB-stasjon mangler. UH oh! Jeg starter serveren på nytt, og utrolig nok, stasjonen kommer tilbake. Jeg utsteder en pvmove-kommando for automatisk å migrere alle dataene fra den stasjonen, men den mislykkes med mindre enn 2% fullføring.
Stilt overfor en stasjon som er veldig samarbeidsvillig om å lese dataene sine, men som i det minste dukker opp i BIOS, vender jeg meg til favorittverktøyet for gjenoppretting av stasjoner, Spinrite. Selv om Spinrite normalt starter fra flyttbare medier, satte jeg for mange år siden opp nettverksstart hjemme hos meg for forskjellige verktøy, så jeg slapp å bekymre meg om å holde rede på noen medier. Normalt kobler jeg bare til nettverket mitt, velger oppstart fra nettverket, og jeg har en rekke verktøy til rådighet for å løse mange problemer. Problemet er at maskinen som gjør alt dette magiske arbeidet er den samme maskinen som er nede. Ingen store ting jeg sier, jeg vil bare starte opp fra en Spinrite-CD. Bortsett fra for et par år siden ga den optiske stasjonen på filserveren opp spøkelset. På det tidspunktet som skjedde bestemte jeg meg for at siden jeg aldri brukte optiske medier i den maskinen, trengte jeg ikke å bytte den ut. Ingen bekymring, sa jeg til meg selv, jeg vil bare ta den optiske stasjonen ut av datamaskinen min. Jeg slår av hoveddatamaskinen og tar ut den optiske stasjonen. Så ser jeg etter Spinrite boot CD. Finner det ikke! Vi flyttet inn i et nytt hus for noen måneder siden, så alt er i litt uorden. Jeg antar at jeg bare vil brenne en ny kopi, men jeg finner ikke engang noen tomme optiske medier! Til neste plan, en oppstartbar flash-enhet! Etter noen minutter på Google for å friske opp minnet, har jeg en oppstartbar Spinrite-flash-enhet. Jeg starter opp Linux-boksen min og lanserer Spinrite. Datamaskinen fryser opp og ser ut til å krasje. For å eliminere variabler, flytter jeg den dårlige stasjonen fra å være koblet til et PCI-e utvidelseskort til å være direkte koblet til hovedkortet. Nå lanserer Spinrite fint, men tar aldre og aldre å oppregne stasjonene som er koblet til den. Jeg kobler systematisk ut alle andre stasjoner, bortsett fra den dårlige, men det blir aldri ferdig å telle stasjoner uansett hvor lenge jeg venter. Inn på neste plan! Jeg tar stasjonen ut av Linux-boksen min, kobler den til hoveddatamaskinen min og starter opp fra den skinnende nye Spinrite-flashstasjonen. Spinrite lanserer og ser stasjonen umiddelbart, og jeg ber om å begynne å gjenopprette data, fornøyd med at jeg endelig gjør noen fremskritt. Jeg går tilbake for å sjekke det etter kanskje 10 minutter, og det er en feil på skjermen, og det ser ut til at stasjonen igjen har forsvunnet. Frustrert prøver jeg noen ganger til, og ber Spinrite starte på forskjellige deler av stasjonen, men får samme resultat hver gang. Det ser ut til at dette tross alt ikke hjelper meg.
I en anstrengelse av irrasjonelt håp, la jeg stasjonen tilbake i Linux-boksen og slår den på. Til min forbauselse viser stasjonen seg, og LVM bringer alt aktivt. Videre prøve lykken, utsteder jeg en annen pvmove-kommando for å prøve å flytte dataene fra stasjonen igjen. Tidlig ser jeg feilmeldinger om ikke å kunne lese fra stasjonen, men utrolig nok fortsetter pvmove å gjøre fremgang, komme nærmere og nærmere 100% fullført. En blanding av forvirring, lettelse og spenning vasker over meg. Skal jeg slippe unna dette uskadd? Dessverre er det siste LVM gjør under dekslene for å fullføre en pvmove rent å skrive en oppdatert logg til alle stasjonene som er under kontroll. Dette mislykkes selvfølgelig når det prøver å skrive til den dårlige stasjonen, og dermed aborterer det hele prosessen. Nederlag snappet igjen fra seierens kjever! Jeg dykker tilbake til Google, og oppdager at det er mulig å kontrollere hvor mye data pvmove-kommandoen beveger seg i stedet for å flytte ALLE dataene i ett skudd. Jeg eksperimenterer med dette og har god suksess med å flytte en liten del av dataene mine om gangen. Jeg blir grådig og stasjonen forsvinner noen få ganger, men kommer alltid tilbake etter en strømforsyning på datamaskinen. Teoretiserer at kanskje bare visse deler av stasjonen er dårlige, begynner jeg å hoppe rundt i stedet for å jobbe med starten av stasjonen. Etter noen få iterasjoner av dette, har jeg alle unntatt 40 GB av 750 GB trygt flyttet av stasjonen. For de resterende 40 GB klarte det ikke å bevege seg uansett hva jeg prøvde. Det var nå søndag kveld og jeg var utslitt, så jeg bestemte meg for å legge meg og takle dette problemet mer dagen etter.
Dagen etter, etter litt søvn og første halvdel av dagen på jobb, bestemmer jeg meg for å bare bite kulen fordi jeg ikke brydde meg om de siste 40 GB innspilte TV-programmene, og satte i gang med å fjerne stasjonen fra LVM-konfigurasjonen . Jeg har gjort dette mange ganger før, så det går ganske greit. Neste på renselisten er å reparere hullet i midten av filsystemet. Jeg regner med bare 40 GB i stedet for at 750 GB mangler, det kan ikke være så ille, ikke sant? Feil! Etter reparasjonen hadde jeg 900 GB ekstra ledig plass sammenlignet med før prøvetidingen startet, så det stakk ganske mye. Vel, jeg sier meg selv, det var bare TV uansett. DVRen min er endelig funksjonell igjen etter den tre dager lange avstanden, og jeg kan til slutt slutte å tenke på dette med hver ekstra hjernesyklus.
Lærdommer
Så hva lærte jeg av alt dette? Jeg burde ha gjort en bedre jobb med det som virkelig betydde. Dette skjedde for noen uker siden, og på den tiden har jeg ikke en gang savnet noe av TV-innholdet som forsvant. Jeg angrer imidlertid på å forhindre meg selv, men enda viktigere av familien min, fra å kunne bruke TV-en i tre dager, og for å sette meg i høyspent krisemodus de tre dagene. Hvis jeg hadde gitt opp å gjenopprette dataene mine i begynnelsen, ville funksjonen blitt gjenopprettet på omtrent en time, ikke tre dager. Jeg vet alt for godt at mesteparten av tiden er dataene våre dyrebare, men i denne situasjonen var det ikke.
For det andre, hvis dataene dine virkelig er dyrebare, og 99% av tiden det virkelig er, må du beskytte dem! Sikkerhetskopier data, det er ingen unnskyldninger. For dataene mine som er uerstattelige, som tusenvis av bilder av min sønn jeg har på datamaskinen, sørger jeg for å sikkerhetskopiere dem på ikke mindre enn tre steder, hvorav den ene er en leverandør av sikkerhetskopi av skyer. Når det gjelder lagring av DVR, synes jeg fortsatt ikke det er praktisk å sikkerhetskopiere den til skyen, men med prisen på stasjoner i disse dager, har jeg ingen unnskyldning for å ikke ha den beskyttet av RAID, og det er akkurat det jeg er skal gjøre. Da jeg først satte opp lagringsklyngen for mange år siden, tror jeg at det tok meg 10 stasjoner eller mer for å komme til et basseng med flere TB. Jeg sjekket bare prisene, og du kan kjøpe en 3 TB stasjon nå for godt under $ 100. Jeg har rett og slett ingen unnskyldning for å forlate dataene mine ubeskyttet, og hvis et datatap som dette skjer med meg igjen, er det virkelig min egen feil.
