Udgaven af backup-systemet restic 0.15 er blevet offentliggjort, hvilket sikrer opbevaring af sikkerhedskopier i krypteret form i et versionskontrolleret depot. Systemet er oprindeligt beregnet til at sikkerhedskopiere i usikre miljøer, og en sikkerhedskopis tilgængelig for tredjeparter bør ikke kompromittere systemet. Det er muligt at definere fleksible regler for inklusion og eksklusion af filer og mapper under oprettelsen af en sikkerhedskopi (regelformat minder om rsync eller gitignore). Der er understøttelse for at køre på Linux, macOS, Windows, FreeBSD og OpenBSD. Projektets kode er skrevet i Go og er distribueret under BSD-licensen.
Sikkerhedskopier kan opbevares på den lokale filsystem, på ekstern serveren med adgang via SFTP/SSH eller HTTP REST, i cloudtjenester som Amazon S3, OpenStack Swift, BackBlaze B2, Microsoft Azure Blob Storage og Google Cloud Storage, samt i enhver lagerløsning, hvor der findes backends til rclone. Der kan også anvendes en speciel rest-server til at organisere opbevaring, hvilket giver højere ydeevne sammenlignet med andre backends, og som kan fungere i en kun-tilføjelse-tilstand, der forhindrer sletning eller ændring af sikkerhedskopier i tilfælde af kompromittering server og adgang til krypteringsnøgler.
Snapshot-funktionaliteten gør det muligt at fange tilstanden af en bestemt mappe med alle filer og undermapper på et givent tidspunkt. Ved hver oprettelse af en ny backup genereres et tilknyttet snapshot, som gør det muligt at gendanne tilstanden på det tidspunkt. Det er muligt at kopiere snapshots mellem forskellige depotter. For at spare på båndbredden kopieres kun de ændrede data under oprettelsen af sikkerhedskopier. For at give et klart overblik over indholdet af depotet og forenkle gendannelsen kan snapshot med backup’en monteres i form af et virtuelt drev (montering udføres ved hjælp af FUSE). Der tilbydes også kommandoer til at analysere ændringer og selektivt udtrække filer.
Systemet manipulerer ikke med hele filer, men med blokke af flydende størrelse, der vælges ved hjælp af Rabins signatur. Oplysningerne opbevares i relation til indholdet snarere end filnavne (de datarelaterede navne og objekter bestemmes på metadata-niveauet for blokken). Baseret på SHA-256-hash af indholdet udføres deduplicering og udelukkelse af unødvendig datakopiering. På eksterne servere opbevares oplysningerne i krypteret form (kontrolsummer anvender SHA-256, kryptering bruger AES-256-CTR, og for at sikre integriteten anvendes autentificeringskoder baseret på Poly1305-AES). Der er også mulighed for at verificere backup’en via kontrolsummer og autentificeringskoder for at bekræfte, at filernes integritet er intakt.
I den nye version:
- Der er implementeret et nyt rewrite-kommando, der gør det muligt at fjerne unødvendige data fra snapshotet, når filer, der ikke oprindeligt var beregnet til backup (fx filer med fortrolige oplysninger eller meget store logfiler, der ikke har værdi), ved et uheld er blevet inkluderet i backupen.
- Backup-kommandoen har fået tilføjet optionen "—read-concurrency" til at angive niveauet for parallelisering under læsning af filer, hvilket gør det muligt at fremskynde kopieringen på hurtige lagringsenheder som NVMe.
- Backup-kommandoen har fået tilføjet optionen "—no-scan" til at deaktivere scanningsfasen af mappetræet.
- For prune-kommandoen er hukommelsesforbruget reduceret markant (med op til 30%).
- Restore-kommandoen har fået tilføjet optionen "—sparse" til effektivt at gendanne filer med store tomme områder.
- Der er implementeret support til at gendanne symboliske links på Windows-platformen.
- I macOS er der tilføjet mulighed for at montere et repository med backups ved hjælp af macFUSE.
Kilde: opennet.ru
