Tilbage til bloggen

Snapshots er ikke backups

Volumet er væk. Controller-fejl, en rm -rf med for tykke fingre, en migrering der gik skævt — årsagen betyder næsten ingenting på det her tidspunkt. Du er stadig rolig, for du husker, at du tog et snapshot i tirsdags.

Du åbner konsollen. Snapshottet er også væk.

Det var aldrig en kopi nummer to. Det var et bogmærke inde i den ting, du lige har mistet.

Hvad et snapshot egentlig er

Et snapshot er et punkt i tiden på et levende volume. De fleste implementeringer er copy-on-write: snapshottet duplikerer ikke dine data, det registrerer de blokke, der er ændret, siden du tog det, og peger på de originale blokke for alt andet. Det er derfor, det er øjeblikkeligt, og derfor det næsten ikke koster noget at tage.

Den hastighed har en pris, og prisen er afhængighed. Snapshottet refererer til de samme blokke på samme storage som det volume, det kom fra. Det er ikke en kopi — det er et view. Mist den underliggende storage, og du mister volumet og hvert eneste snapshot af det i samme hug. Den fejl, du beskyttede dig imod, er præcis den fejl, der tager begge dele.

Intet af det gør snapshots dårlige. De er fremragende til det job, de faktisk udfører. Tag ét før en kernel-opgradering, en risikabel skemaændring, en migrering du ikke er sikker på. Rul tilbage på sekunder, når det går galt. Det er en ægte superkraft, og du bør bruge den konstant.

Det er bare ikke beskyttelse. Det er fortryd.

Hvad en backup egentlig er

En backup er en selvstændig kopi, der ikke refererer til originalen. Et separat arkiv, skrevet et andet sted hen, som kan gendannes på en maskine, der ikke eksisterede, da backuppen blev taget. Slet kilde-volumet, brænd hosten af, mist hele arrayet — arkivet er stadig et arkiv, og det kan stadig gendannes.

Det giver dig én enkelt test, og det er den eneste, der er værd at lære udenad:

Hvis den ikke kan overleve, at den ting, den beskytter, bliver ødelagt, er den ikke en backup.

Kør din databeskyttelsesstrategi igennem den sætning. Det meste af det, folk kalder backups, kommer ikke ud på den anden side.

Hvorfor enhver konsol udvisker skellet

Se på, hvordan de to ting bliver præsenteret for dig. Samme sidebar, som regel under en overskrift som “Databeskyttelse”. To knapper, der ligner hinanden. Den ene er øjeblikkelig og næsten gratis; den anden er langsom og har en måler på. Interfacet antyder, at de er to kvaliteter af det samme produkt — hurtig gem og langsom gem, ekspres og standard.

De er ikke to kvaliteter af noget som helst. De bor i forskellige fejldomæner, og det er den eneste egenskab, der betyder noget, når du faktisk får brug for dem.

Der er ikke rigtig nogen, der lyver for dig. De har bare bygget et layout, der klarer antydningen, og lader dig drage den oplagte, forkerte konklusion.

Den restore, ingen kørte

Her er den hårdere sandhed: ingen af dem er beskyttelse, før du har gendannet en.

En backup, du aldrig har gendannet, er ikke en backup — den er en hypotese. Utestede arkiver fejler på kedelige, specifikke måder — et volume der aldrig kom med, et arkiv der blev trunkeret, en database der skulle have været sat i ro og i stedet fik en torn write midt i en transaktion. Du opdager, hvilken af dem der gælder for dig, på kvartalets absolut værste dag, i præcis det øjeblik du ikke har kapacitet til at improvisere.

Så gendan en. Ikke en checksum, ikke et grønt “backup completed”-flueben — en rigtig restore, på en frisk maskine, bootet, logget ind på, forespurgt. Én gang i kvartalet. Sæt det i kalenderen som en brandøvelse, for det er, hvad det er.

Hvad vi gør i stedet

Vi holder de to adskilt, fordi de er adskilte.

Et snapshot på Kaligon er din VM’s tilstand på et givet tidspunkt, holdt på samme storage som disken, eventuelt inklusive RAM. Øjeblikkeligt, billigt, bygget til rollback. Vi kalder det et snapshot, og vi kalder det ikke beskyttelse.

En backup er en separat arkivfil, ikke en pointer ind i din levende disk. Den har sin egen retention, den kan køre efter en tidsplan, og den gendanner til en ny maskine, efter originalen er væk.

Begge optræder i panelet som præcis det, de er. Ingen af dem er klædt ud som den anden, og vi har ikke tænkt os at gemme dem bag én knap, der hedder “Beskyt”, for at få produktet til at se simplere ud end fysikken.

Ét forbehold, vi hellere vil have, at du hører fra os: en backup, der ligger i samme region som det, den beskytter, er ikke en plan for at miste den region. Hvis tab af en region for alvor indgår i din trusselsmodel, så træk en kopi ud. Udgående trafik er én enkelt fast takst, du kan læse direkte på prissiden, så at holde din egen kopi et andet sted bliver ikke straffet ved grænsen.

Tag snapshots. De redder din eftermiddag.

Tag backups. De redder din virksomhed.

Vær bare aldrig i tvivl om, hvilken af dem du tog.