zVault is a Nifty Backup Solution, Written in Rust

zVault is a Nifty Backup Solution,  Written in Rust
Photo by Pacto Visual / Unsplash

What is zValut?

zVault is a highly efficient and reliable deduplicating backup solution that provides a comprehensive range of features to ensure the security, integrity, and accessibility of your backup data. With zVault, you can benefit from advanced client-side encryption, which adds an extra layer of protection to your sensitive information.

Additionally, zVault leverages powerful compression algorithms to optimize storage usage and reduce backup times. Moreover, zVault offers secure remote storage options, allowing you to securely store your backup data in off-site locations for enhanced disaster recovery capabilities.

With its robust feature set and user-friendly interface, zVault is the ideal choice for organizations seeking a comprehensive and efficient backup solution.

Features

1- Space efficient storage

Each file is split into a number of chunks. Content-defined chunking and chunk fingerprints make sure that each chunk is only stored once. The chunking algorithm is designed so that small changes to a file only change a few chunks and leave most chunks unchanged. Multiple backups of the same data set will only take up the space of one copy.

The deduplication in zVault is able to reuse existing data no matter whether a file is modified, stored again under a different name, renamed or moved to a different folder.

That makes it possible to store daily backups without much overhead as backups with only small changes do not take up much space.

Also multiple machines can share the same remote backup location and reuse the data of each others for deduplication.

2- Performance

High backup speed is a major design goal of zVault. Therefore is uses different techniques to reach extremely fast backup speeds.

All used algorithms are hand-selected and optimized for speed.

Unmodified files are detected by comparing them to the last backup which makes it possible to skip most of the files in regular usage.

A blazingly fast memory-mapped hash table tracks the fingerprints of all known chunks so that chunks that are already in the repository can be skipped quickly.

In a general use case with a Linux system and a home folder of 50 GiB, backup runs usually take between 1 and 2 minutes.

3- Independent backups

All backups share common data in form of chunks but are independent on a higher level. Backups can be deleted and chunks that are not used by any backup can be removed.

Other backup solutions use differential backups organized in chains. This makes those backups dependent on previous backups in the chain, so that those backups can not be deleted. Also, restoring chained backups is much less efficient.

4- Data encryption

The backup data can be protected by modern and fast encryption methods on the client before storing it remotely.

5- Compression

The backup data can be compressed to save even more space than by deduplication alone. Users can choose between zlib (medium speed and compression), lz4 (very fast, lower compression), brotli (medium speed, good compression), and lzma (quite slow but amazing compression).

6- Remote backup storage

zVault supports off-site backups via mounted filesystems. Backups can be stored on any remote storage that can be mounted as a filesystem:

  • NFS
  • SMB / Windows shares
  • SSH (via sshfs)
  • FTP (via curlftpfs)
  • Google Drive (via rclone)
  • Amazon S3 (via rclone)
  • Openstack Swift / Rackspace cloud files / Memset Memstore (via rclone)
  • Dropbox (via rclone)
  • Google Cloud Storage (via rclone)
  • Amazon Drive (via rclone)
  • Microsoft OneDrive (via rclone)
  • Hubic (via rclone)
  • Backblaze B2 (via rclone)
  • Yandex Disk (via rclone)
  • ... (potentially many more)

7- Backup verification

For long-term storage of backups it is important to check backups regularly. zVault offers a simple way to verify the integrity of backups.

8- Mount backups as filesystems

Backups can be mounted as a user-space filesystem to investigate and restore their contents. Once mounted, graphical programs like file managers can be used to work on the backup data and find the needed files.

License

License: GPL-3

zVault - Deduplicating backup solution Copyright (C) 2017-2018 Dennis Schwerdel

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Resources & Download

GitHub - dswd/zvault: Deduplicating backup solution
Deduplicating backup solution. Contribute to dswd/zvault development by creating an account on GitHub.