Elke nacht een backup van je VPS, met veertien dagen historie. Als je daar even over nadenkt, roept dat een vraag op: veertien keer een kopie van een schijf van bijvoorbeeld 80 GB, dat is meer dan een terabyte per klant. Zo werkt het gelukkig niet.
Het antwoord zit in incrementele backups, en in de manier waarop Proxmox Backup Server daarmee omgaat. Dat is de software waarmee wij de backups van onze VPS-hosting draaien.
Full, incremental en het gedoe daartussen
Er zijn grofweg twee manieren om een backup te maken:
- Een volledige backup kopieert alles, elke keer opnieuw. Simpel en betrouwbaar, maar traag en peperduur in opslag als je hem dagelijks wilt.
- Een incrementele backup kopieert alleen wat er sinds de vorige keer is veranderd. Snel en zuinig, maar klassiek gezien wel kwetsbaar: om terug te zetten heb je de volledige backup nodig plus alle incrementele stappen daarna. Ontbreekt er één schakel in die ketting, dan is de rest ook waardeloos.
Daarom draaide je vroeger bijvoorbeeld wekelijks een volledige backup met dagelijkse incrementele stappen ertussen. Werkbaar, maar je blijft zitten met een keten die kan breken en met dat ene zware moment per week.
Hoe Proxmox Backup Server dat oplost
Proxmox Backup Server pakt het anders aan. In plaats van in bestanden of hele schijven te denken, hakt hij je data in stukjes: chunks. Elke chunk krijgt een SHA-256-checksum als naam, en die checksum bepaalt of hij al bestaat.
Verandert een chunk niet, dan is de checksum identiek en wordt hij simpelweg niet opnieuw opgeslagen. Dat heet deduplicatie, en het heeft een prettig neveneffect: elke backup is intern een complete lijst van alle chunks waaruit je systeem op dat moment bestond. Alleen zijn de meeste van die chunks al aanwezig van eerdere keren.
Het resultaat is het beste van twee werelden:
- Je verstuurt alleen de wijzigingen, dus een dagelijkse backup is klein en snel.
- Elk herstelpunt is een volledig herstelpunt. Je hebt geen keten van vorige backups nodig; je kunt elke snapshot los terugzetten.
En omdat identieke chunks maar één keer op de opslag staan, kost een reeks van veertien dagelijkse backups bij lange na geen veertien keer de ruimte.
De dirty bitmap: waarom het zo snel gaat
Alleen wijzigingen versturen is één ding, maar hoe wéét het systeem welke blokken zijn veranderd zonder eerst de hele schijf te lezen?
Daarvoor gebruikt Proxmox een dirty bitmap. Zolang je VPS draait, houdt de virtualisatielaag bij naar welke blokken op de virtuele schijf geschreven wordt. Bij de volgende backup weet het systeem daardoor direct welke blokken het moet lezen, zonder de rest aan te raken. Dat scheelt enorm veel disk-I/O, en het is precies de reden dat een nachtelijke backup je server nauwelijks belast.
Eén nuance: die bitmap bestaat alleen zolang de VM draait. Herstart je je VPS of zet je hem uit, dan is de bitmap weg en moet de eerstvolgende backup de hele schijf weer uitlezen om te bepalen wat er veranderd is. Die ene backup duurt dan langer dan normaal. Dat is geen storing, en na afloop staat de teller gewoon weer op de snelle manier.
Wat er verder in zit
Proxmox Backup Server doet meer dan alleen slim kopiëren:
- Compressie met Zstandard, dat meerdere gigabytes per seconde aankan en dus geen flessenhals vormt.
- Client-side encryptie met AES-256-GCM, waarbij data al versleuteld is voordat die de backupserver bereikt.
- Verificatie. De checksums maken het mogelijk om achteraf te controleren of opgeslagen chunks nog intact zijn, in plaats van er maar van uit te gaan.
- Prune en garbage collection. Een retentieschema bepaalt welke snapshots blijven; chunks waar geen enkele snapshot meer naar verwijst worden daarna opgeruimd.
- Remote sync. Een backupserver kan zijn data doorsturen naar een andere locatie, opnieuw met alleen de verschillen.
Het is bovendien gewoon open source, uitgebracht onder de AGPL v3, dus je kunt precies nagaan wat het doet.
Wat dat voor jouw VPS betekent
Concreet: elke dag een backup, veertien dagen historie, en elk van die veertien punten is een volledig herstelmoment. Je hoeft je niet af te vragen of er nog een volledige backup onder ligt en of de keten compleet is.
En je hoeft er niemand voor te vragen. In ons VPS-paneel zie je de beschikbare herstelpunten staan, kies je het moment waar je naartoe wilt en start je de restore zelf. Geen ticket, geen wachttijd, ook niet om drie uur 's nachts.
Loop je ergens tegenaan of twijfel je welk herstelpunt je nodig hebt? Dan denken we uiteraard mee via onze Discord of een ticket.
Wil je meer weten over hoe backups zich verhouden tot opslag, en waarom die twee niet hetzelfde zijn? Dat lees je in ons artikel over backup en opslag.