Back-ups in Linux, hoe begin je eraan?
- April 11, 2018
- 0
Een goede back-up is essentieel om geen data te verliezen op jouw systemen. Een ongeluk zit vaak in een klein hoekje! Maar hoe begin je eraan? In deze workshop leggen we je precies uit hoe je back-ups maakt van jouw Linuxsysteem en waarop je allemaal moet letten.
Ongetwijfeld heb je wel eens één of meerdere bestanden verwijderd die je eigenlijk nog nodig had. Soms gaat dat bewust, bijvoorbeeld als je oude bestanden verwijdert en pas maanden of jaren later beseft dat je die tóch nog nodig had. Meestal gaat dat echter per ongeluk, bijvoorbeeld door een onvoorzichtige selectie of zoekopdracht, een typefout in een terminalcommando of door bestanden te overschrijven vanuit een applicatie. In theorie is het weliswaar mogelijk om verwijderde data te herstellen van jouw harde schijf of SSD, maar eenvoudig is dat niet. Je moet dan immers zo snel mogelijk je systeem afsluiten om te vermijden dat de verwijderde data door andere programma’s definitief overschreven wordt. Via speciale tools krijg je een overzicht van verwijderde en nog niet overschreven bestanden. Dat is een behoorlijk tijdrovend proces, zonder enige garantie dat de gezochte bestanden nog beschikbaar zijn. Besef je pas enkele dagen of weken later dat je bestanden kwijt bent, dan is de kans klein dat je ze met dergelijke tools nog terughaalt. Kortom, er gaat niets boven een goede back-up om dergelijke rampscenario’s te vermijden!
Back-ups versus RAID
Maak (ook) niet de vergissing om te denken dat jouw data veilig is, omdat je een RAID-1-setup hebt. RAID-1, of mirroring, maakt een kopie van al jouw data op een tweede schijf. Gaat één van de twee schijven stuk, dan beschik je nog steeds over jouw data. Je vervangt de defecte schijf, de RAID-software bouwt de mirror opnieuw op en je data is wederom beschermd tegen schijfdefecten. Maar dat is meteen de enige beveiliging die RAID-1 voorziet. RAID beschermt je namelijk niet tegen menselijke fouten! Verwijder je per ongeluk enkele bestanden, dan zijn die meteen verwijderd van de twee schijven in de RAID-setup. RAID is dus geen vervanging van back-ups, maar eerder een aanvulling hierop. In het geval van een schijfdefect ben je (ook al heb je back-ups) immers de data kwijt sinds de laatste back-up. Maak je bijvoorbeeld elke dag een back-up om 09:00 uur, om 13:00 uur en om 17:00 uur en gaat je schijf stuk om 16:00 uur? Dan ben je alle wijzigingen tussen 13:00-16:00 uur onherroepelijk verloren, want die zitten nog niet in de laatste back-up! Met een RAID-1 setup beschik je in dat geval nog steeds over de nieuwe data tot 16:00 uur.
Idealiter zou je dus voor elke dataschijf twee extra schijven moeten aanschaffen: één voor RAID-1-beveiliging en één voor back-ups. Vind je dat te duur en twijfel je tussen RAID-1-bescherming of back-ups? Dan adviseren we je om te kiezen voor back-ups en niet voor RAID-1. De kans dat je per ongeluk bestanden verwijdert of overschrijft, is immers groter dan de kans op een schijfdefect.
Welke data?
De eerste vraag die je je moet stellen, is wat je precies wilt back-uppen. Voor back-ups onderscheiden we vier categorieën van data:
1. Documenten die je zelf gemaakt hebt: tekstbestanden, foto’s, video’s, enzovoorts.
2. Data die je gedownload hebt: iso-bestanden met Linux-distributies, installatiepakketten voor software, e-books die je aangeschaft hebt, enzovoorts.
3. Systeembestanden: alles wat door de installer of package manager van jouw distributie op je systeem geplaatst is, zoals /bin, /lib en /usr.
4. Configuratiebestanden: configuratiedata van de software op jouw systeem, zowel in /etc als in jouw homedirectory.
In strikte zin is enkel de data uit de eerste categorie onvervangbaar. Je kan onmogelijk die ene specifieke foto of video herstellen zonder back-up. Dat is dus de data die je zeker wilt back-uppen! Bij de tweede categorie is dat al minder het geval. Misschien vertrouw je er niet op dat je jouw aangekochte e-books over tien jaar nog steeds opnieuw kan downloaden. In dat geval kan je hier maar beter een back-up van maken. E-bookbestanden zijn over het algemeen ook niet echt groot. Je volledige cd-collectie die je geript hebt in lossless formaat? Weeg voor jezelf even af of je iets meer geld wilt uitgeven voor een grotere back-upschijf of dat je het risico wilt lopen dat je al je cd’s ooit opnieuw moet rippen. Installatiebestanden voor Linux-distributies of software verouderen erg snel, dus die hoef je wellicht niet op te nemen in je back-ups.
Software
Sommigen zweren bij een volledige systeemback-up, inclusief alle bestanden van het besturingssysteem. Gaat je schijf kapot, dan herstel je je volledige werkomgeving vanuit je back-ups en ben je binnen de kortste keren weer aan de slag. Je moet voor jezelf bepalen of je dat belangrijk vindt of niet. Installeer je sowieso graag elk jaar een andere Linux-distributie, dan vind je het misschien wel leuker om je systeem te herinstalleren na een schijfdefect. Neem je ook /etc en /home op in je back-ups, dan kan je bijna alle configuratiebestanden nadien gewoon herstellen.
Dan heb je alleen nog een back-up nodig van de geïnstalleerde software om je vroegere werkomgeving in een mum van tijd na te maken. In Linux Mint maak je zo’n back-up via Menu > Beheer > Reservekopie maken > Reservekopie maken van toepassingenselectie (zie afbeelding 2). Gebruik je een configuratiebeheertool, zoals Puppet, dan is het nog eenvoudiger. Volgens ons is een systeemback-up enkel onmisbaar als je je werkomgeving nooit meer dan twee uur kunt missen. Maar in dat geval kan je beter kiezen voor een RAID-1-bootdisk, want dan blijf je zelfs bij een schijfdefect gewoon doorwerken. De kans dat je dan nog een systeemback-up nodig hebt, is verwaarloosbaar. Als gewone gebruiker is het immers bijna onmogelijk om je systeem zodanig stuk te krijgen dat het enkel via een back-up te herstellen is.
Backupschema’s
De volgende vraag is hoe vaak je je data wilt back-uppen en hoe lang je die back-ups wilt bewaren. Ook dat hangt grotendeels af van jouw vereisten. Bij data die vaak wijzigt, vormen frequente back-ups een soort van versiebeheer. Houd wel in het achterhoofd dat veel versies bewaren ook veel opslagruimte vereist. Anderzijds mag er ook weer niet te veel tijd zitten tussen verschillende back-ups. In het geval van een schijfdefect, zónder RAID-bescherming, ben je immers alle data kwijt sinds de laatste back-up! Gebruik je je computer voor je werk en is je data erg belangrijk? Overweeg dan om meerdere back-ups per werkdag te maken, bijvoorbeeld tijdens de middagpauze en aan het einde van je werkdag.
Voor de meeste thuisgebruikers volstaat één tot enkele back-ups per week. Uiteraard hoef je niet elke back-up tot in de eeuwigheid te bewaren. Moderne back-upprogramma’s maken het beheer van oude back-ups gelukkig erg eenvoudig. Zo stel je bijvoorbeeld in dat alle back-ups van de laatste maand behouden moeten worden, één back-up per week van de afgelopen drie maanden en één back-up per maand voor nog oudere back-ups. Zo kan je van recente back-ups nog uit alle beschikbare versies van een bestand kiezen, terwijl oude back-ups niet onnodig veel plaats innemen.
Media
Traditioneel worden back-ups weggeschreven op tapes of andere verwisselbare media. Voor thuisgebruik waren in het verleden bijvoorbeeld zip-drives, cd-r(w)’s of dvd-r(w)’s immens populair. Met de huidige schijfgroottes is het echter onbegonnen werk om op die manier je volledig schijf te back-uppen. In de praktijk zijn er nog drie haalbare mogelijkheden voor thuisgebruik:
· Een interne of externe harde schijf;
· Een NAS;
· Cloud storage.
Cloud storage laten we hier even buiten beschouwing. Voor grote hoeveelheden data is die oplossing vaak ofwel te duur ofwel te traag, met name als jouw internetaansluiting een lage uploadsnelheid heeft. Bovendien geef je de controle over jouw back-ups uit handen: welke provider garandeert immers dat je over tien jaar nog steeds bij jouw data kan? Ook qua privacy zijn heel wat vraagtekens te plaatsen bij dergelijke oplossingen. Anderzijds is cloud storage voor erg belangrijke data een prima aanvulling op een lokale back-up. In het geval van brand- of waterschade heb je immers niets aan een back-up die zich in dezelfde ruimte bevindt!
Als alternatief voor cloud storage kan je ook een tweede lokale backup maken op een externe schijf. Die schijf bewaar je nadien op een andere locatie, bijvoorbeeld bij familie, vrienden of op kantoor. Misschien lijkt dat omslachtig en duur, maar het is het overwegen waard als je absoluut geen risico wilt lopen op dataverlies. Om één PC te back-uppen is een externe harde schijf de eenvoudigste en goedkoopste oplossing. Wil je meerdere PC’s back-uppen of heb je al een NAS in huis? Gebruik die dan om jouw back-ups te bewaren. Vergeet ook niet dat je back-ups meer plaats nodig hebben dan je data zelf. Dat geldt vooral als je van elk bestand verschillende versies gedurende een lange tijd wilt bijhouden. Heb je bijvoorbeeld een dataschijf van 1TB, gebruik dan een schijf van 1.5TB of 2TB voor back-ups.
Schijfruimte besparen
Vroeger, toen back-ups nog hoofdzakelijk op tapes werden bewaard, waren er drie types back-ups: volledig, differentieel en incrementeel. Een differentiële back-up bevat enkel de wijzigingen in vergelijking met de laatste volledige back-up en een incrementele enkel die in vergelijking met de laatste volledige of incrementele back-up. Een volledige back-up neemt de meeste opslagruimte in, maar is het snelst teruggezet en voor een incrementele geldt net het omgekeerde. Meestal nam men één keer per week een volledige back-up (bijvoorbeeld op zondag) en de overige dagen incrementele back-ups. Met de komst van deduplicatie en harde schijven als opslagmedium voor back-ups is dat onderscheid vervallen. Deduplicatie zorgt ervoor dat identieke bestanden, bijvoorbeeld een bestand dat niet is gewijzigd tussen twee volledige back-ups, slechts éénmaal de benodigde opslagruimte innemen. Voor jou lijkt het dus alsof elke back-up een volledige back-up is, terwijl je maar evenveel ruimte nodig hebt als voor incrementele back-ups.
De juiste tools
Met bovenstaande achtergrondkennis ben je voldoende voorbereid om de juiste tools voor jouw back-upstrategie te zoeken. Er bestaat onder Linux heel wat back-upsoftware, al is die niet allemaal even geschikt voor thuisgebruik. Aan de ene kant heb je verschillende commandline tools, zoals rsync en duplicity. Hoewel die over voldoende features beschikken, zijn ze niet erg gebruiksvriendelijk. Als je de syntax van de tools niet perfect beheerst, riskeer je fouten te maken tijdens je back-ups. Aan de andere kant zijn er heuse back-upservers, zoals BackupPC en Bacula. Ideaal voor grotere omgevingen met tientallen of honderden PC’s, maar nodeloos complex voor onze doeleinden. Gelukkig is er sinds het verschijnen van Apple’s TimeMachine voor Mac OS X ook gelijkwaardige back-upsoftware voor Linux desktops ontwikkeld. Na TimeVault en FlyBack (beiden intussen niet verder ontwikkeld) kwam BackInTime, momenteel hét beste TimeMachine-alternatief onder Linux. Voor de meeste thuisgebruikers is BackInTime een prima keuze om data en configuratiebestanden te back-uppen.
Back In Time
BackInTime is in alle grote distributies beschikbaar: in Linux Mint installeer je bijvoorbeeld het pakket backintime-qt4. Je start het programma op onder je eigen gebruiker of als root als je ook systeemmappen wilt back-uppen (dit is een aparte entry in Linux Mints menu). De eerste keer moet je nog het één en ander configureren. Back In Time ondersteunt verschillende profielen, wat handig is als je meerdere back-ups wilt configureren voor jouw gebruikers. De instellingen van elk profiel zijn verdeeld over zes tabbladen. We lopen even de meest essentiële opties per tabblad af:
· Algemeen: onder ‘Modus’ selecteer je ‘Lokaal’ om back-ups te bewaren op een externe schijf. Eronder kies je dan de gewenste map op die schijf (zie afbeelding 5). Voor een NAS ga je hetzelfde te werk: koppel de gedeelde map van je NAS eerst aan op je PC en selecteer dan een map op je NAS. Onder ‘Planning’ schakel je eventueel automatische back-ups in, bijvoorbeeld elk uur, elke 4 uur of elke dag. Let wel op dat automatische back-ups enkel werken indien de back-upmap steeds beschikbaar is, wat mogelijk niet het geval is voor een externe schijf! In dat geval moet je er zelf aan denken om steeds handmatig een back-up te starten.
· Opnemen: hier voeg je alle bestanden of mappen toe die je wilt back-uppen, bijvoorbeeld jouw homedirectory.
· Uitsluiten: dit tabblad bevat standaard al enkele tijdelijke bestanden die uitgesloten worden, zoals .thumbnails/*, .cache/* en /var/tmp/*. Voeg hier bijvoorbeeld ~/Downloads toe als je je tijdelijke downloads niet wilt back-uppen.
· Automatisch verwijderen: bekijk aandachtig de opties om oude back-ups te verwijderen. Standaard verwijdert BackInTime enkel back-ups als de back-upschijf dreigt vol te lopen, samen met back-ups die ouder zijn dan tien jaar. Kom je in de problemen met de beschikbare schijfruimte? Schakel dan ‘Slim verwijderen’ in om enkel van de meeste recente back-ups alle versies bij te houden (zie afbeelding 3).
· onder Opties en Geavanceerde Opties hoef je niet meteen iets te wijzigen.
Back-ups maken
Klik nu op ‘Ok’ om het profiel te bewaren en naar het hoofdscherm van BackInTime te gaan (zie afbeelding 6). Dat is in drie kolommen onderverdeeld: links zie je een overzicht van beschikbare back-ups, in het midden staan snelkoppelingen naar alle mappen die je opgenomen hebt in je back-upprofiel en rechts doorblader je de inhoud van die mappen. Een nieuwe back-up maak je via de meest linkse knop in de werkbalk of via Reservekopie > Reservekopie maken. Voeg nadien eventueel een beschrijving toe via Reservekopie > Naam reservekopie om de back-up eenvoudiger te identificeren.
Een bestand of map herstellen uit een eerdere back-up is net zo eenvoudig. Navigeer naar de gewenste map in de rechterkolom en blader dan in de linkerkolom door de beschikbare back-ups. Je ziet dan in de rechterkolom meteen de inhoud van die map op het tijdsstip van de back-up. Via het Herstellen-menu (of het contextmenu als je rechtsklikt op een bestand of map) krijg je verschillende opties om je back-up te herstellen. BackInTime is wel voorzichtig genoeg om de oorspronkelijke bestanden op je schijf te hernoemen voordat bestanden uit een back-up worden hersteld. Toch kan het geen kwaad om snel nog een back-up te maken voordat je bestanden gaat herstellen. Zo ben je absoluut zeker ervan dat je niet per ongeluk nieuwere bestanden overschrijft door een oudere back-up!
Toont BackInTime een foutmelding tijdens het maken van een back-up, controleer dan het logbestand via Beeld > Laatste logboek bekijken. Fouten met back-ups los je het beste zo snel mogelijk op. Je wilt immers niet vaststellen dat je geen recente back-ups meer hebt wanneer je een bestand probeert te herstellen. Erg prettig is het wel dat BackInTime geen eigen formaat gebruikt om de back-ups te bewaren. Je laatste back-up vind je bijvoorbeeld terug in de map backintime/<hostname>/<gebruikersnaam>/1/last_snapshot/backup op je back-upschijf. Op die manier bekijk je je back-ups zelfs op een computer waar BackInTime niet op geïnstalleerd is. Uiteraard biedt BackInTime wel een meer gebruiksvriendelijke interface om tussen verschillende back-ups te navigeren.
Goed voorbereid
Een goede back-up vereist meer dan alleen weten hoe je een back-upprogramma gebruikt. Het grootste werk zit in de voorbereiding van jouw back-upstrategie. Met dit artikel weet je waartegen RAID-1 en back-ups al dan niet bescherming bieden, welke data je moet back-uppen, hoe vaak je back-ups moet maken, welke opslagmedia je kan gebruiken en hoe je vermijdt dat ze te snel vollopen door oude back-ups. Wij kozen voor BackInTime als voorbeeldprogramma, maar aarzel vooral niet om zelf een alternatief te zoeken als jij specifieke back-upvereisten hebt.