Att säkerhetskopiera sina nära och kära gigabytes är en god idé om man vill leva ett långt och lyckligt liv utan att drabbas och förlora hela sin digitala identitet och historia. Hårddisken kan pajja och man kan få ett elakt virus, eller så har man fest och råkar radera alltsammans i en oönskad manöver. En olycka händer så lätt, men om man säkerhetskopierar så klarar man sig. Tack och lov behöver man inte bränna CD-R eller kopiera massa disketter längre, dessa medier var inte särskilt tillförlitliga. Men vad ska man satsa på då istället?
Min strategi för säkerhetskopiering går ut på att lindra effekten av att något av följande inträffar:
- Hårddisken går sönder.
- Ett virus infekterar filer eller raderar alltsammans.
- Lägenheten brinner upp och filerna smälter ihop med chassit.
- Jag tar bort filer som jag vid ett senare tillfälle kommer på att jag behöver.
- Information försvinner när ett befintligt dokument skrivs över med nytt innehåll.
Jag hanterar inte alla risker i dagsläget men jag ska se över detta nu. För säkerhetskopiering använder jag ett litet bashskript som heter Backup2l som i sin tur låter tar göra det mesta av jobbet. Jag har schemalagt aktivering av backup2l med cron så att säkerhetskopiering görs regelbundet av de viktigaste filerna - fotoalbum, mjukvaror, hemkataloger, hemsidor, blog, serverkonfiguration, subversion mm. Det är viktigt att det är automatiserat och sköter sig självt annars finns det risk att det inte blir av. Det kan ta flera år innan man upptäcker att vissa filer saknas eller är trasiga så jag är väldigt restriktiv och försiktig med att ta bort gamla säkerhetskopior även om det ibland är lockande när man vill frigöra lagringsutrymme. Någon form av integritetskontroll är på sin plats för att detektera trasiga filer, även på säkerhetskopian. Backup skrivs till en dedikerad hårddisk på servern så om en annan hårddisk går sönder så kan jag återställa det viktigaste innehållet från backupen.
All data är inte lika viktig. Film och musik upptar den största delen av vårat lagringsutrymme (ca 250G) men i dagsläget säkerhetskopierar jag inte detta överhuvudtaget. Den främsta anledningen är det blir för mycket slöseri med lagringsutrymme. Det är ju inte bara att man lagrar en dubblett av alla filer utan man lagrar även de filer som har tagits bort. Så t.ex. alla de filmer man tog bort för att de var dåliga eller att man inte tror man kommer se den igen kommer ändå ta massa plats på backupen. Dessutom tar det väldigt lång tid att kopiera så stora datamängder. Att kopiera 250G över nätverket (100 Mbit/s) skulle ta minst 7 timmar (250000 Mb / 10 Mb/s / 3600s). Kopiering av all data sker naturligtvis inte vid varje backuptillfälle. För att avgöra om en fil är ny så behöver backup2l endast kolla filens namn, modifieringstid, storlek, ägandeskap och rättigheter så det går ju ofta mycket snabbare. Fullständig backup görs första gången samt vid varje s.k. level 1 backup och då kommer servern gå tungt och inte kunna sköta sina andra uppgifter med särskilt bra responstid. Istället för backup så nöjer jag mig med att regelbundet autogenerera en lista över vilka filmer och musikalbum vi har, så skulle olyckan vara framme så vet vi iallafall vad vi ska ladda hem igen. Så småningom kommer det nog ändå bli aktuellt med någon RAID-konfiguration med paritetsdisk, så behöver man inte byta ut sina gamla hårddiskar lika ofta.
Det jag gör för att säkerhetskopiera data är följande:
- Backup av viktiga filer görs kl. 03 varje natt av Backup2l.
- Databaser säkerhetskopieras varje vecka. De innehåller blog, phpGroupWare och data från egenutvecklade applikationer. I dagsläget så är databasernas backup inte inkrementell, det ska fixas.
- Subversion används för versionshantering av källkod och dokument. Till skillnad mot vanlig backup väljer man i detta fall själv när säkerhetskopieringen ska ske genom att göra en commit. Man kan jämföra versioner med diff, förhandsgranska enskilda filer mm. Det är alltså mer kraftfullt än Backup2l, men samtidigt mer utrymmeskrävande och definitivt inte lika framtidskompatibelt.
- En lista över all film och musik sparas på /root/multimediaTOC och säkerhetskopieras varje dag.
- En avbild (image/ghost) görs av partitioner med operativsystem och installerade program.
Att installera Windows eller Linux går fort men att sedan installera alla program man behöver och konfigurera alla små detaljer hur operativsystemet ska fungera tar mycket lång tid. Ofta går det många veckor innan det mesta fungerar så som det gjorde tidigare. Å ena sidan så kommer man på en del nya konfigurationer och bättre lösningar när man installerar om allt från grunden, å andra sidan så är det ett oerhört slöseri med tid. För att undvika detta så kan man kopiera hela partitionerna som operativsystemen ligger på och om olyckan är framme så köper man bara en ny hårddisk och trycker dit partitionerna igen. Det kan även bli räddningen om man får ett virus som man inte lyckas bli av med. En sådan avbild av hårddisken blir en fullständig kopia varje gång för det går inte göra inkrementell backup med något av de verktyg jag har tittat på. Den här typen av backup har jag inte gjort tidigare men jag ska snart byta ut serverns hårddisk och då ska jag testa att överföra operativsystemet till den nya disken genom att göra en avbild med partimage eller dd. Fördelen med partimage är att kopian blir inte större än partitionens innehåll; med dd blir kopian lika stor som partitionens kapacitet. Fördelen med dd är att det inte bryr sig om vilket filsystem partitionen använder. Manual för dd finns här och partimage finns här. På våra arbetsdatorer har jag gjort avbild av C: där Windows XP samt alla program är installerade. Jag kommer nöja mig med att avbilda dessa partitioner när de innehåller en bra grundinstallation av de program vi vanligtvis använder, dvs väldigt sällan. Det ersätter på inget sätt den dagliga inkrementella säkerhetskopieringen.
Hårddisken som lagrar säkerhetskopiorna sitter i serverdatorn som står i samma rum som våra två arbetsdatorer. Datorerna är kopplade till varandra via nätverk och SAMBA fildelning. Risken med detta är rätt uppenbar, om en brand skulle uppstå i lägenheten kommer all data försvinna när datorerna brinner upp eller förstörs under släckningsarbetet. En säkerhetskopia behöver skyddas fysiskt så att den inte drabbas av samma faror som innehållsdiskarna; brand, inbrott, vattenskada, blixtnedslag osv. Jag är ofta inloggad på servern och skriver kommandon i terminalen. Skulle jag av någon anledning skriva “rm -r /*” när jag egentligen tänkte skriva “rm -r ./*” så skulle alltsammans raderas - det vore en punkt som skulle ta lång tid att komma över. Att diskarna är ihopkopplade via nätverk innebär dessutom att ett virus eller en saboterande hacker på liknande sätt skulle kunna radera all data. Lösningen på problemet är att ha en hårddisk offline som man regelbundet kopplar in för att göra en säkerhetskopia. Eftersom ovanstående olyckor kan hända men ändå känns ganska osannolika så kommer jag nog nöja mig med att säkerhetskopiera offline en gång per år. Det känns som en rutin som kan lyckas. Frågan är då vilket lagringsmedium man ska välja för att informationen ska bestå så länge som möjligt.
- Extern hårdisk
- Band
- Digitalminne
- CD/DVD
Av dessa alternativ förefaller Extern hårddisk vara det mest tilltalande. CD/DVD är omständligt att hålla på och bränna, de är bräckliga och kan tappa data pga repor, solljus, mögel mm. Digitalminnen är fortfarande lite väl dyra och lagrar inte mer än 32G i dagsläget, men det är troligen inte lång tid tills detta blir ett intressant alternativ. Fördelen med digitalminne är att det inte har några mekaniska delar och enligt några tillverkare jag kollat upp ska det ska bevara data i 100 år! Bitar lagras genom att trycka in ett gäng elektroner på en flytande grind. En efter en kommer dessa elektroner rymma pga läckströmmar men det går så otroligt långsamt. 100 år kanske är väl optimistiskt, men på äldre EEPROM anges retention time till minst 10 år och det är tillräckligt bra för mina behov. Man kommer ju alltid behöva allt större backup så det faller sig naturligt att man flyttar säkerhetskopian till nya medier inom en 10-års period. Att digitalminnen har ett begränsat antal skrivningar har ingen betydelse för säkerhetskopior, det rör sig om minst 500.000 skrivningar. En annan framgångsfaktor för livslång backup är ju att man fortfarande kan plugga in mediet i de nya datorer man köper och USB tror jag kommer finnas en bra tid framöver, men det vet man ju aldrig. Magnetband används ofta för backup av stora mängder data. Men band är dyrare än att lagra på hårddisk och en bra bandstation kostar en hel del så det känns inte direkt som något lockande alternativ för privatpersoner. Däremot skulle det ju kännas lite retro och fräckt!
En extern USB-ansluten hårddisk är enkel att koppla in och man får många gigabytes för pengarna. Även hårddiskar glömmer efter ett tag vad de har lagrat, s.k. “Thermal Decay”. Ju varmare disken förvaras desto snabbare kommer magnetismen tyna bort men det sker först efter många år. Jag har faktiskt inte hittat någon tillförlitlig källa eller studie som har undersökt hur länge information kan lagras men rimligen rör det sig om mer än 10 år vilket innebär att bussteknologi och lagringsutrymme är anledningar att byta upp sig långt tidigare. För att ändå försäkra mig om att bitarna inte suddas ut så ska jag kopiera över hela säkerhetskopian till en annan disk och sen tillbaka igen för att fräsha upp magnetismen var femte år. Det finns säkert även nått program som kan skriva om varje etta och nolla på plats.
Hur länge en hårddisk håller går naturligtvis inte att förutsäga och tillverkarnas specifikationer säger egentligen inte så mycket om detta. Ofta anges Mean Time Before Failure (MTBF); för våra 200G Maxtor anges MTBF 1000000 timmar, dvs 114 år. Detta betyder dock inte att disken kommer överleva mig. MTBF är ett mått på sannolikheten att hårddisken ska fela under den tidsperiod den förväntas fungera tillförlitligt. Det är inte jätteintressant för mig att veta, men tillverkarna har räknat på det där och kommit fram till att om jag hade haft tusentals Maxtordiskar så skulle den första gå sönder efter att diskarnas sammanlagda arbetstid var en miljon timmar. De flesta hårddiskar går sönder antingen strax efter man köpt dem eller efter man haft dem fem år eller längre. Men mina chassin är dammiga och ganska varma vilket drar ner livslängden på hårddiskarna. Å andra sidan är de i tjänst 24/7 vilket ger en bra konstant arbetstemperatur för lager och mekanik, detta minskar slitaget jämfört med diskar som slås på och av varje dag. De flesta hårddiskar födda under mitten av 90-talet och framåt implementerar en standard för monitorering av deras hälsa och duglighet. Denna självmonitorering kallas S.M.A.R.T. och består av ett antal indikatorer som hårddisken uppdaterar som talar om för oss när den börjar bli skruttig. Jag använder ett programpaket som heter SmartMonTools för att läsa av dessa värden, och i Windows kör jag samma program genom CygwinTools. Den viktigaste parametern är den som helt enkelt säger om hårddisken är ok eller om den bör bytas. Alla våra hårddiskar rapporterar att dom är OK! Några andra iakttagelser som jag kan göra med hjälp av indikatorerna från S.M.A.R.T. är:
Johans arbetsdator: 200G Maxtor DiamondMax 10, 6L200P0.
Resultat från körning av SmartMonTools.
- 746 dagar uptime.
- Reallocated Sector Count: 79. Dåliga sektorer har påträffats och flyttats. Detta leder till försämrad prestanda.
- Current Pending Sectors: 11. Problem att läsa dessa sektorer. De flyttas om problemen kvarstår vid skrivningar.
- Reallocated Event Count: 1. Försök har gjorts att flytta data från dåliga sektorer till reservarean.
- SMART Self-test har misslyckats pga “read failure”.
Den här hårddisken verkar alltså inte helt frisk. Det är inget jag har märkt av själv men uppenbarligen så går vissa sektorer inte längre läsa och viss data har gått förlorad. Även Loggboken (EventLog) rapporterar att hårddisken har strulat - “Drivrutinen hittade ett styrenhetsfel på \Device\Harddisk4\D”. Jag gjorde en “Diskkontroll” i Windows och valde optionen “Sök efter skadade sektorer och försök reparera dem” men det verkar inte ha hjälpt. Så varför har disken strulat? Är det ett mekaniskt fel? Beror det av strömavbrott eller att operativsystemet har krashat? Efterssom den bara är drygt 2 år gammal så tänker jag ge den en chans till. Jag ska formatera om den och scanna hela dess yta med något diagnostikprogram. Om S.M.A.R.T rapporterar nya problem efter detta så åker den i soporna.
Hannas arbetsdator: 200G Maxtor DiamondMax 10, 6L200P0.
Resultat från körning av SmartMonTools.
- 855 dagar uptime (drygt 2 år).
- Frisk som en nötkärna!
Server operativsystem: 20G IBM Deskstar, IBM-DPTA-372050.
Resultat från körning av SmartMonTools.
- 1559 dagar uptime (drygt 4 år).
- Reallocated Sector Count: 1042. Många dåliga sektorer har påträffats och flyttats. Ett varningstecken!
- Reallocated Event Count: 348. Många försök har gjorts att flytta data från dåliga sektorer till reservarean.
Den här hårddisken har gått en bra sträcka och stött på en hel del dåliga sektorer på vägen. Det som är positivt är att den har lyckats flyttat sektorerna till reservarean och har inga “Pending Sectors”. SMART Self-test genomfördes dessutom utan några fel. Det finns dessvärre endast 300 reservsektorer kvar och när de tar slut kan inte hårddisken längre hantera de fel som uppstår. Den bör alltså bytas ut ganska snart, åtminstone inom ett år.
Server multimediadisk: 200G Maxtor DiamondMax 10, 6L200P0.
Resultat från körning av SmartMonTools.
- 667 dagar uptime (knappt 2 år).
- Frisk som en nötkärna!
Genom att hålla ett öga på S.M.A.R.T. status så kan man alltså konstatera att två av hårddiskarna inte längre är att lita på. Denna information är ju särskilt viktigt att veta om hårddisken man gör backup på så att den inte har några problem att läsa och skriva.
Ja, detta inlägg blev ett långt utlägg om något som känns väldigt angeläget. Det räcker inte med att byta hårddisk med jämna mellanrum eller när den börjar klicka oroväckande. Om man ska undvika att förlora hela sin digitala historia (förr eller senare) så gäller det att man har en strategi för säkerhetskopiering och dessutom testar med jämna mellanrum att det verkligen går att återskapa data som det är tänkt från säkerhetskopian. Det finns företag som erbjuder lagringsutrymme online t.ex. Diino men det känns säkrare att sköta det själv. Då slipper man långsamma internetförbindelser och begränsningar i lagringsutrymme, och vad är sannolikheten att företaget ska finnas kvar om 10 år? När jag sökt information kring säkerhetskopiering har jag snubblat över en del intressanta artiklar. Här är några länkar:
Om backup (Wikipedia).
Om hårddiskar (Wikipedia).
Om S.M.A.R.T. (Wikipedia).
Rutiner för säkerhetskopiering.
Failure Trends in a Large Disk Drive Population.
Disk failures in the real world.