SÀkerhetskopiering, del 1: Syfte, översikt över metoder och teknologier

SÀkerhetskopiering, del 1: Syfte, översikt över metoder och teknologier
Varför Àr det nödvÀndigt att göra sÀkerhetskopior? Utrustningen Àr mycket och mycket pÄlitlig, dessutom finns det "moln" som Àr mer pÄlitliga Àn fysiska servrar: vid rÀtt konfiguration överlever en "moln"-server lÀtt en krasch pÄ en fysisk infrastrukturserver, och sett ur anvÀndarnas perspektiv kommer service-tiden att upplevas som en liten, knappt mÀrkbar fördröjning. Dessutom krÀver duplicering av information ofta att man betalar för "överskott" av CPU-tid, diskbelastning och nÀtverkstrafik.

Ett perfekt program fungerar snabbt, lÀcker inte minne, har inga sÄrbarheter och existerar inte.

—OkĂ€nd

Eftersom program fortfarande skrivs av utvecklare, och testprocessen ofta saknas, plus att mjukvara sĂ€llan levereras med "best practices" (vilka i sig ocksĂ„ Ă€r program, och dĂ€rmed inte perfekta), mĂ„ste systemadministratörer oftast hantera uppgifter som lĂ„ter korta men Ă€r innehĂ„llsrika: "Ă„terstĂ€ll som det var", "fĂ„ databasen att fungera normalt", "fungerar lĂ„ngsamt — vi rullar tillbaka", samt min favorit "jag vet inte vad, men fixera det".

Förutom logiska fel som beror pĂ„ slarviga utvecklares arbete, eller en olycklig sammanstĂ€llning, samt bristande kunskap eller förstĂ„else för smĂ„ detaljer i programvaruuppbyggnad — inklusive system- och grĂ€nssnitt, samt operativsystem, drivrutiner och firmware — finns det ocksĂ„ andra fel. Till exempel litar de flesta utvecklare pĂ„ runtime med helt bortglömda fysiska lagar, som fortfarande inte kan kringgĂ„s med hjĂ€lp av program. Detta inkluderar den oĂ€ndliga pĂ„litligheten hos diskundersystemet och generellt alla datalagringssystem (inklusive RAM och CPU-cache!), samt noll behandlingstid pĂ„ processorn, brist pĂ„ fel vid överföring över nĂ€tverket och vid bearbetning pĂ„ processorn, och nĂ€tverksfördröjningar som Ă€r lika med 0. Man bör inte heller förakta den beryktade tidsfristen, för om man inte hinner till den — sĂ„ blir det problem som Ă€r mer komplexa Ă€n detaljerna kring nĂ€tverks- och diskoperationer.

SÀkerhetskopiering, del 1: Syfte, översikt över metoder och teknologier

Hur ska man hantera problem som dyker upp plötsligt och hĂ€nger över vĂ€rdefulla data? Det finns inget som kan ersĂ€tta levande utvecklare, och det Ă€r inte sĂ€kert att det kommer att vara möjligt att göra det nĂ€rmaste tiden. Å andra sidan har endast nĂ„gra fĂ„ projekt lyckats bevisa att programmet kommer att fungera som avsett, och det Ă€r helt osĂ€kert om man kan ta och tillĂ€mpa bevisen pĂ„ andra liknande projekt. Dessutom tar sĂ„dana bevis otroligt mycket tid och krĂ€ver speciella fĂ€rdigheter och kunskaper, vilket praktiskt taget gör möjligheten att tillĂ€mpa dem minimal med tanke pĂ„ deadlines. Vi har dessutom fortfarande inte lĂ€rt oss nĂ„got om supersnabb, billig och oĂ€ndligt pĂ„litlig teknik för lagring, bearbetning och överföring av information. SĂ„dana teknologier, om de överhuvudtaget existerar, finns oftast i form av koncept, eller — oftare — endast i science fiction-böcker och filmer.

Bra konstnÀrer kopierar, stora konstnÀrer snor.

—Pablo Picasso.

De mest framgÄngsrika lösningarna och förvÄnansvÀrt enkla idéer sker ofta dÀr helt oförenliga, vid första anblick, koncept, teknologier, kunskaper och vetenskapsomrÄden möts.

Till exempel har bĂ„de fĂ„glar och flygplan vingar, men trots den funktionella likheten — principen för deras verksamhet överensstĂ€mmer i vissa lĂ€gen, och tekniska problem löses pĂ„ liknande sĂ€tt: ihĂ„liga ben, anvĂ€ndning av starka och lĂ€tta material, osv. — Ă€r resultaten helt olika, Ă€ven om de Ă€r ganska lika. De bĂ€sta exemplen av teknik som vi observerar Ă€r ocksĂ„ till stor del hĂ€mtade frĂ„n naturen: hermetiska rum i fartyg och ubĂ„tar Ă€r en direkt analogi med ringmaskar; uppbyggnaden av raid-matriser och kontroll av dataintegritet Ă€r en duplicering av DNA-kedjan; samt parorgan, oberoendet av olika organs arbete frĂ„n CNS (automatisering av hjĂ€rtats arbete) och reflexer — autonoma system pĂ„ Internet. Naturligtvis kan det vara riskabelt att ta och tillĂ€mpa fĂ€rdiga lösningar ”rakt av”, men vem vet, kanske finns det inga andra lösningar.

Om man visste var man skulle falla — skulle man ha lagt ut halm!

—Belarusiskt folkordsprĂ„k

AlltsÄ Àr sÀkerhetskopior livsviktiga för den som önskar:

  • Ha möjlighet att Ă„terstĂ€lla sina system med minimala driftstopp, eller till och med utan dem.
  • VĂ„ga agera, för i hĂ€ndelse av misstag finns det alltid möjlighet till Ă„terstĂ€llning.
  • Minimera konsekvenserna av avsiktlig dataskada.

HÀr Àr lite teori.

All klassificering Àr godtycklig. Naturen klassificerar inte. Vi klassificerar för att det Àr enklare för oss, och vi gör det baserat pÄ data som vi ocksÄ vÀljer godtyckligt.

—Jean Bruler

Oavsett den fysiska lagringsmetoden kan logisk datalagring grovt sett delas in efter tvÄ Ätkomstmetoder: block- och filbaserad. Denna uppdelning har pÄ senare tid blivit ganska suddig, eftersom det inte riktigt finns nÄgra helt block- eller filbaserade logiska lagringssystem. För enkelhets skull kommer vi dock att anta att det finns sÄdana.

Blocklagring innebĂ€r att det finns en fysisk enhet dĂ€r data skrivs i fasta portioner, block. Åtkomsten till blocken sker via en viss adress, dĂ€r varje block har en egen adress inom enheten.

En backup görs vanligtvis genom att kopiera datablok. För att sÀkerstÀlla dataintegriteten vid kopieringen pausas skrivningen av nya block samt förÀndring av befintliga. Om vi tar en analogi frÄn den vanliga vÀrlden, kan det liknas med ett skÄp med identiska numrerade fack.

SÀkerhetskopiering, del 1: Syfte, översikt över metoder och teknologier

Filbaserad datalagring fungerar pĂ„ ett logiskt sĂ€tt som liknar blocklagring och organiseras ofta ovanpĂ„ den. VĂ€sentliga skillnader inkluderar hierarki i lagring och mĂ€nniskovĂ€nliga namn. Det skiljs ut en abstraktion i form av en fil — ett namngivet datomrĂ„de, samt en katalog — en speciell fil dĂ€r beskrivningar och Ă„tkomster till andra filer lagras. Filer kan förses med ytterligare metadata: skapelsedatum, Ă„tkomstflaggor och liknande. Backup görs vanligtvis sĂ„ hĂ€r: man letar efter Ă€ndrade filer och kopierar dem sedan till en annan filbaserad lagring med samma struktur. Integriteten i data implementeras vanligtvis genom att se till att det inte finns nĂ„gra filer under skrivning. Metadata för filer sĂ€kerhetskopieras pĂ„ liknande sĂ€tt. Den nĂ€rmaste analogin Ă€r ett bibliotek dĂ€r det finns sektioner med olika böcker och Ă€ven en katalog med mĂ€nniskovĂ€nliga namn pĂ„ böcker.

SÀkerhetskopiering, del 1: Syfte, översikt över metoder och teknologier

PÄ senare tid har man ibland beskrivit ett annat alternativ, som i princip var början pÄ filbaserad datalagring och som har samma archaic drag: objektlagring av data.

Det skiljer sig frÄn filbaserad lagring genom att det inte har fler Àn ett lager (platt schema), och filnamnen, Àven om de Àr lÀsbara av mÀnniskor, Àr mer anpassade för maskinbearbetning. Vid sÀkerhetskopiering hanteras objektlagringssystem oftast som filsystem, men det finns ibland andra alternativ.

— Det finns tvĂ„ typer av systemadministratörer: de som inte gör sĂ€kerhetskopior och de som REDAN gör det.
— Egentligen finns det tre typer: det finns Ă€ven de som kontrollerar att sĂ€kerhetskopiorna kan Ă„terstĂ€llas.

—OkĂ€nd

Det Àr ocksÄ viktigt att förstÄ att sjÀlva processen för dataskydd görs med hjÀlp av program, och dÀrför har den alla de samma nackdelarna som alla andra program. För att minska (inte utesluta!) beroendet av mÀnskliga faktorer samt sÀrdrag som för sig sjÀlva kanske inte pÄverkar mycket, men tillsammans kan ge en mÀrkbar effekt, tillÀmpas den sÄ kallade 3-2-1-regeln. Det finns mÄnga varianter pÄ hur denna regel kan tolkas, men jag föredrar följande tolkning: man bör lagra 3 uppsÀttningar av samma data, 2 uppsÀttningar bör lagras i olika format, och 1 uppsÀttning bör finnas pÄ en geografiskt avlÀgsen lagringsplats.

Med lagringsformat avses följande:

  • Om det finns ett beroende av den fysiska lagringsmetoden — Ă€ndra den fysiska metoden.
  • Om det finns ett beroende av den logiska lagringsmetoden — Ă€ndra den logiska metoden.

För att uppnÄ maximal effekt av 3-2-1-regeln rekommenderas att byta lagringsformat pÄ bÄda sÀtten.

Ur synvinkeln av beredskapen hos en sĂ€kerhetskopiering för dess primĂ€ra syfte — Ă„terstĂ€llande av funktionalitet — skiljer man pĂ„ "varma" och "kalda" sĂ€kerhetskopior. Varma sĂ€kerhetskopior skiljer sig frĂ„n kalla sĂ€kerhetskopior endast pĂ„ ett sĂ€tt: de Ă€r omedelbart redo att anvĂ€ndas, medan kalla sĂ€kerhetskopior för Ă„terstĂ€llning krĂ€ver vissa ytterligare Ă„tgĂ€rder: avkryptering, extrahering frĂ„n arkiv, etc.

Det Ă€r viktigt att inte förvĂ€xla heta och kalla kopior med online och offline kopior, som innebĂ€r fysisk isolering av data och som i grunden Ă€r en annan klassificering av backupsmetoder. En offline kopia – som inte Ă€r direkt ansluten till systemet dĂ€r den behövs för Ă„terstĂ€llning – kan vara bĂ„de het och kall (sett ur perspektivet av beredskap för Ă„terstĂ€llning). En online kopia kan vara direkt tillgĂ€nglig dĂ€r den behövs för Ă„terstĂ€llning och Ă€r oftast het, Ă€ven om det ocksĂ„ finns kalla kopior.

Dessutom Ă€r det viktigt att komma ihĂ„g att sjĂ€lva processen för att skapa backup vanligtvis inte slutar med en enda backup, och det kan finnas ett ganska stort antal kopior. DĂ€rför Ă€r det nödvĂ€ndigt att sĂ€rskilja fullstĂ€ndiga sĂ€kerhetskopior, dvs. de som kan Ă„terstĂ€llas oberoende av andra backupkopior, samt differentierade (inkrementella, differens, dekrementala osv.) kopior – de som inte kan Ă„terstĂ€llas pĂ„ egen hand och som krĂ€ver Ă„terstĂ€llning av en eller flera andra backupkopior i förvĂ€g.

Differentiella inkrementella kopior syftar till att spara lagringsutrymme för backup. DÀrför skrivs endast de Àndrade data frÄn den senaste backupen till backupen.

Differentiella dekrementala kopior skapas med samma syfte, men pÄ lite annat sÀtt: en fullstÀndig backup görs, men endast skillnaden mellan den senaste kopian och den föregÄende lagras.

Det Àr vÀrt att sÀrskilt granska backupprocessen ovanpÄ lagring som stöder avsaknaden av dubbletter. SÄ om du skriver fullstÀndiga sÀkerhetskopior ovanpÄ det, kommer endast skillnaden mellan sÀkerhetskopiorna att lagras, men ÄterstÀllningsprocessen kommer att ske pÄ samma sÀtt som med en fullstÀndig kopia och vara helt transparent.

Quis custodiet ipsos custodes?

(Vem vaktar vaktarna? — latin.)

Det Àr mycket obehagligt nÀr det inte finns nÄgra backupkopior, men det Àr Ànnu vÀrre om en backup verkar vara gjord, men nÀr ÄterstÀllning görs visar det sig att den inte kan ÄterstÀllas, eftersom:

  • Integriteten för de ursprungliga uppgifterna har blivit skadad.
  • Lagringen med backupkopior Ă€r skadad.
  • ÅterstĂ€llning sker ganska lĂ„ngsamt, och man kan inte anvĂ€nda data som Ă€r delvis Ă„terstĂ€llda.

En korrekt uppbyggd backup-process mÄste ta hÀnsyn till sÄdana observationer, sÀrskilt de första tvÄ.

Integriteten hos originaldata kan garanteras pÄ flera sÀtt. De vanligaste metoderna Àr: a) skapande av kloner av filsystem pÄ blocknivÄ, b) "frysning" av tillstÄndet i filsystemet, c) speciella blockenheter med versionslagring, d) sekventiell skrivning av filer eller block. Kontrollsummor anvÀnds ocksÄ för att sÀkerstÀlla datakontroll vid ÄterstÀllning.

Skador pÄ lagring kan ocksÄ upptÀckas med hjÀlp av kontrollsummor. En ytterligare metod Àr att anvÀnda specialiserade enheter, eller filsystem, dÀr det inte gÄr att Àndra redan skrivna data, men dÀr det gÄr att lÀgga till nya.

För att pĂ„skynda Ă„terstĂ€llningen anvĂ€nds dataĂ„terstĂ€llning med flera processer för att Ă„terstĂ€lla — förutsatt att det inte finns nĂ„gon "flaskhals" i form av ett lĂ„ngsamt nĂ€tverk eller en seg diskystem. För att undvika situationen med delvis Ă„terstĂ€llda data kan backup-processen delas upp i relativt smĂ„ deluppgifter, var och en utförd separat. PĂ„ sĂ„ sĂ€tt kan man Ă„terstĂ€lla funktionaliteten sekventiellt med en uppskattning av Ă„terstĂ€llningstiden. Detta problem ligger oftast pĂ„ den organisatoriska nivĂ„n (SLA), sĂ„ vi gĂ„r inte in pĂ„ detta i detalj.

Den som verkligen kan kryddor Àr inte den som lÀgger till dem i varje matrÀtt, utan den som aldrig lÀgger till nÄgot överflödigt.

—V. Sinjavskij

Praktiken nÀr det gÀller anvÀnd programvara hos systemadministratörer kan variera, men de grundlÀggande principerna Àr pÄ ett eller annat sÀtt desamma, sÀrskilt:

  • Det rekommenderas starkt att anvĂ€nda fĂ€rdiga lösningar.
  • Programmen bör fungera förutsĂ€gbart, det vill sĂ€ga det fĂ„r inte finnas nĂ„gra odokumenterade egenskaper eller flaskhalsar.
  • InstĂ€llningen av varje program ska vara sĂ„ enkel att man inte behöver lĂ€sa manualen eller sammanfattningen varje gĂ„ng.
  • Lösningen bör vara sĂ„ universell som möjligt, eftersom servrar kan variera avsevĂ€rt i sin hĂ„rdvarukonfiguration.

För sÀkerhetskopiering frÄn blockenheter finns följande vanliga program:

  • dd, kĂ€nd bland veteraner inom systemadministration, samt liknande program (som dd_rescue, exempelvis).
  • Inbyggda program i vissa filsystem som skapar en avskrift (dump) av filsystemet.
  • Allsidiga verktyg, till exempel partclone.
  • Egenutvecklade, ofta proprietĂ€ra lösningar, som till exempel NortonGhost och senare versioner.

För filsystem delvis kan sÀkerhetskopieringsuppgiften lösas med metoder som anvÀnds för blockenheter, men uppgiften kan ocksÄ lösa sig mer effektivt med hjÀlp av exempelvis:

  • Rsync, ett universellt program och protokoll för att synkronisera tillstĂ„ndet av filsystem.
  • Inbyggda verktyg för arkivering (ZFS).
  • Tredjepartsverktyg för arkivering; den mest populĂ€ra representanten Ă€r tar. Det finns Ă€ven andra, som dar — ett alternativ till tar med fokus pĂ„ moderna system.

Det Àr vÀrt att nÀmna programvaruverktyg för att sÀkerstÀlla datakonsistens vid sÀkerhetskopiering. Oftast anvÀnds följande alternativ:

  • Montering av filsystemet i skrivskyddat lĂ€ge (ReadOnly), eller frysing av filsystemet (freeze) — metoden Ă€r tillĂ€mplig i begrĂ€nsad utstrĂ€ckning.
  • Skapande av avskrifter av tillstĂ„ndet för filsystemet eller blockenheten (LVM, ZFS).
  • AnvĂ€ndning av tredjepartsverktyg för att skapa avskrifter, Ă€ven i de fall dĂ€r tidigare punkter inte kan uppfyllas av nĂ„got skĂ€l (program av typen hotcopy).
  • CopyOnWrite-tekniken, men den Ă€r oftast bunden till det anvĂ€nda filsystemet (BTRFS, ZFS).

SÄ, för en liten server mÄste en sÀkerhetskopieringsplan tillhandahÄllas som uppfyller följande krav:

  • Enkel att anvĂ€nda — inga sĂ€rskilda Ă„tgĂ€rder krĂ€vs för att arbeta, minimala Ă„tgĂ€rder för att skapa och Ă„terstĂ€lla kopior.
  • Universell — fungerar pĂ„ bĂ„de stora och smĂ„ servrar; detta Ă€r viktigt vid ökning av antal servrar eller skalning.
  • Installeras med en paketförvaltare, eller med en till tvĂ„ kommandon av typen 'ladda ner och packa upp'.
  • Stabil - anvĂ€nder ett standardformat eller ett format som har funnits lĂ€nge.
  • Snabbt i drift.

Kandidater som uppfyller kraven mer eller mindre:

  • rdiff-backup
  • rsnapshot
  • burp
  • duplicati
  • duplicity
  • deja dup
  • dar
  • zbackup
  • restic
  • borgbackup

SÀkerhetskopiering, del 1: Syfte, översikt över metoder och teknologier

Som testmiljö kommer en virtuell maskin (baserad pÄ XenServer) att anvÀndas med följande specifikationer:

  • 4 kĂ€rnor 2.5 GHz,
  • 16 GB RAM,
  • 50 GB hybridlagring (lagringssystem med SSD-cache pĂ„ 20% av storleken pĂ„ den virtuella disken) som ett separat virtuellt disk utan partitionering,
  • 200 Mbit/s internetanslutning.

Som server för sÀkerhetskopior kommer en nÀstan identisk maskin anvÀndas, men med en hÄrddisk pÄ 500 GB.

Operativsystemet Àr Centos 7 x64: standardpartitioneringen, en extra partition kommer att anvÀndas som datakÀlla.

Som kÀlldata tar vi en WordPress-webbplats med mediefiler pÄ 40 GB och en MySQL-databas. Eftersom virtuella servrar de skiljer sig mycket Ät i specificeringarna, och för att uppnÄ bÀttre reproducerbarhet, hÀr Àr

resultaten av servertestning med hjĂ€lp av sysbench.sysbench —threads=4 —time=30 —cpu-max-prime=20000 cpu run
sysbench 1.1.0-18a9f86 (anvÀnder inbyggd LuaJIT 2.1.0-beta3)
Kör testet med följande alternativ:
Antal trÄdar: 4
Initierar slumptalsgenerator frÄn nuvarande tid

GrÀns för primtal: 20000

Initierar arbetstrÄdar


TrÄdar startade!

CPU-hastighet:
hÀndelser per sekund: 836.69

Genomströmning:
hÀndelser/s (eps): 836.6908
tid som förflutit: 30.0039s
totalt antal hÀndelser: 25104

Latens (ms):
min: 2.38
genomsnitt: 4.78
max: 22.39
95:e percentilen: 10.46
summa: 119923.64

TrÄdarnas rÀttvisa:
hÀndelser (genomsnitt/stddev): 6276.0000/13.91
körtid (genomsnitt/stddev): 29.9809/0.01

sysbench —threads=4 —time=30 —memory-block-size=1K —memory-scope=global —memory-total-size=100G —memory-oper=read memory run
sysbench 1.1.0-18a9f86 (anvÀnder inbyggd LuaJIT 2.1.0-beta3)
Kör testet med följande alternativ:
Antal trÄdar: 4
Initierar slumptalsgenerator frÄn nuvarande tid

Kör minnestest med följande alternativ:
blockstorlek: 1KiB
total storlek: 102400MiB
operation: lÀs
omfÄng: global

Initierar arbetstrÄdar


TrÄdar startade!

Totala operationer: 50900446 (1696677.10 per sekund)

49707.47 MiB överförd (1656.91 MiB/s)

Genomströmning:
hÀndelser/s (eps): 1696677.1017
tid som förflutit: 30.0001s
totalt antal hÀndelser: 50900446

Latens (ms):
min: 0.00
genomsnitt: 0.00
max: 24.01
95:e percentilen: 0.00
summa: 39106.74

TrÄdarnas rÀttvisa:
hÀndelser (genomsnitt/stddev): 12725111.5000/137775.15
körtid (genomsnitt/stddev): 9.7767/0.10

sysbench —threads=4 —time=30 —memory-block-size=1K —memory-scope=global —memory-total-size=100G —memory-oper=write memory run
sysbench 1.1.0-18a9f86 (anvÀnder inbyggd LuaJIT 2.1.0-beta3)
Kör testet med följande alternativ:
Antal trÄdar: 4
Initierar slumptalsgenerator frÄn nuvarande tid

Kör minnestest med följande alternativ:
blockstorlek: 1KiB
total storlek: 102400MiB
operation: skriv
omfÄng: global

Initierar arbetstrÄdar


TrÄdar startade!

Totala operationer: 35910413 (1197008.62 per sekund)

35068.76 MiB överförd (1168.95 MiB/s)

Genomströmning:
hÀndelser/s (eps): 1197008.6179
tid som förflutit: 30.0001s
totalt antal hÀndelser: 35910413

Latens (ms):
min: 0.00
genomsnitt: 0.00
max: 16.90
95:e percentilen: 0.00
summa: 43604.83

TrÄdarnas rÀttvisa:
hÀndelser (genomsnitt/stddev): 8977603.2500/233905.84
körtid (genomsnitt/stddev): 10.9012/0.41

sysbench —threads=4 —file-test-mode=rndrw —time=60 —file-block-size=4K —file-total-size=1G fileio run
sysbench 1.1.0-18a9f86 (anvÀnder inbyggd LuaJIT 2.1.0-beta3)
Kör testet med följande alternativ:
Antal trÄdar: 4
Initierar slumptalsgenerator frÄn nuvarande tid

Extra filöppningsflaggor: (inga)
128 filer, 8MiB vardera
1GiB total filstorlek
Blockstorlek 4KiB
Antal I/O-förfrÄgningar: 0
LÀs-/skrivförhÄllande för kombinerad slumpmÀssig I/O-test: 1.50
Periodisk FSYNC aktiverad, anropar fsync() var 100:e förfrÄgan.
Anropar fsync() i slutet av testet, Aktiverat.
AnvÀnder synkront I/O-lÀge
Utför slumpmÀssigt lÀs-/skrivtest
Initierar arbetstrÄdar


TrÄdar startade!

Genomströmning:
lÀs: IOPS=3868.21 15.11 MiB/s (15.84 MB/s)
skriv: IOPS=2578.83 10.07 MiB/s (10.56 MB/s)
fsync: IOPS=8226.98

Latens (ms):
min: 0.00
genomsnitt: 0.27
max: 18.01
95:e percentilen: 1.08
summa: 238469.45

Denna anteckning inleder en stor

cykel av artiklar om sÀkerhetskopiering

  1. Backup, del 1: Varför behövs backup, översikt över metoder och teknologier
  2. Backup, del 2: Översikt och test av rsync-baserade backupverktyg
  3. SĂ€kerhetskopiering, del 3: Översikt och test av duplicity, duplicaty, deja dup
  4. Backup, del 4: Översikt och test av zbackup, restic, borgbackup
  5. Backup, del 5: Test av bacula och veeam backup för linux
  6. Backup, del 6: JÀmförelse av backupverktyg
  7. Backup, del 7: Slutsatser

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster