Disponibile il sistema di backup Restic 0.15

È stato pubblicato il rilascio del sistema di backup restic 0.15 che prevede l'archiviazione delle copie di backup in forma crittografata in un repository versionato. Il sistema è stato inizialmente progettato per garantire che le copie di backup siano archiviate in ambienti non affidabili e che, se una copia di backup cade nelle mani sbagliate, non dovrebbe compromettere il sistema. È possibile definire regole flessibili per includere ed escludere file e directory durante la creazione di un backup (il formato delle regole è simile a rsync o gitignore). Supporta il lavoro su Linux, macOS, Windows, FreeBSD e OpenBSD. Il codice del progetto è scritto in Go e distribuito sotto la licenza BSD.

I backup possono essere archiviati in un file system locale, su un server esterno con accesso tramite SFTP/SSH o HTTP REST, nei cloud Amazon S3, OpenStack Swift, BackBlaze B2, Microsoft Azure Blob Storage e Google Cloud Storage, nonché in qualsiasi storage per quali backend sono disponibili rclone. Per organizzare lo storage è possibile utilizzare anche uno speciale server rest, che fornisce prestazioni più elevate rispetto ad altri backend e può funzionare in modalità append-only, che non consentirà di eliminare o modificare i backup se il server di origine e l'accesso alle chiavi di crittografia sono compromesso.

Sono supportate le istantanee, che riflettono lo stato di una directory specifica con tutti i file e le sottodirectory in un determinato momento. Ogni volta che viene creato un nuovo backup, viene creata una istantanea associata, che consente di ripristinare lo stato in quel momento. È possibile copiare istantanee tra diversi repository. Per risparmiare traffico, durante il processo di backup vengono copiati solo i dati modificati. Per valutare visivamente il contenuto del repository e semplificare il ripristino, è possibile montare un'istantanea con una copia di backup sotto forma di partizione virtuale (il montaggio viene eseguito utilizzando FUSE). Vengono inoltre forniti comandi per analizzare le modifiche ed estrarre selettivamente i file.

Il sistema non manipola interi file, ma blocchi di dimensioni variabili selezionati utilizzando la firma Rabin. Le informazioni vengono archiviate in relazione al contenuto, non ai nomi dei file (i nomi e gli oggetti associati ai dati sono definiti a livello di metadati del blocco). In base all'hash SHA-256 del contenuto, viene eseguita la deduplicazione ed eliminata la copia non necessaria dei dati. Sui server esterni, le informazioni vengono archiviate in forma crittografata (SHA-256 viene utilizzato per i checksum, AES-256-CTR viene utilizzato per la crittografia e i codici di autenticazione basati su Poly1305-AES vengono utilizzati per garantire l'integrità). È possibile verificare la copia di backup utilizzando checksum e codici di autenticazione per confermare che l'integrità dei file non sia compromessa.

Nella nuova versione:

  • È stato implementato un nuovo comando di riscrittura che consente di rimuovere i dati non necessari da uno snapshot quando file che non erano originariamente destinati al backup (ad esempio file con informazioni riservate o log molto grandi e senza valore) venivano accidentalmente inclusi nella copia di backup .
  • Al comando backup è stata aggiunta l'opzione “--read-concurrency” per impostare il livello di parallelizzazione durante la lettura dei file, consentendo di velocizzare la copia su unità veloci come NVMe.
  • L'opzione “--no-scan” è stata aggiunta al comando backup per disabilitare la fase di scansione dell'albero dei file.
  • Il comando sfoltisci ha ridotto significativamente il consumo di memoria (fino al 30%).
  • Aggiunta l'opzione "--sparse" al comando di ripristino per ripristinare in modo efficiente i file con ampie aree vuote.
  • Per la piattaforma Windows è stato implementato il supporto per il ripristino dei collegamenti simbolici.
  • macOS ha aggiunto la possibilità di montare un repository con backup utilizzando macFUSE.

Fonte: opennet.ru

Aggiungi un commento