Introduction ============ This documentation is written in :term:`reStructuredText` and formatted with :term:`Sphinx`. What is Proxmox Backup ---------------------- Proxmox Backup is an enterprise class client-server backup software, specially optimized for the `Proxmox Virtual Environment`_ to backup :term:`virtual machine`\ s and :term:`container`\ s. It is also possible to backup physical hosts. It supports deduplication, compression and authenticated encryption (AE_). Using :term:`Rust` as implementation language guarantees high performance, low resource usage, and a safe, high quality code base. Encryption is done at the client side. This makes backups to not fully trusted targets possible. Architecture ------------ Proxmox Backup uses a `Client-server model`_. The server is responsible to store the backup data and provides an API to create backups and restore data. It is possible to manage disks and other server side resources using this API. A backup client uses this API to access the backed up data, i.e. ``proxmox-backup-client`` is a command line tool to create backups and restore data. We deliver an integrated client for QEMU_ with `Proxmox Virtual Environment`_. A single backup is allowed to contain several archives. For example, when you backup a :term:`virtual machine`, each disk is stored as a separate archive inside that backup. The VM configuration also gets an extra file. This way, it is easy to access and restore important parts of the backup without having to scan the whole backup. Main Features ------------- :Proxmox VE: The `Proxmox Virtual Environment`_ is fully supported. You can backup :term:`virtual machine`\ s and :term:`container`\ s. :GUI: We provide a graphical, web based user interface. :Deduplication: Incremental backups produce large amounts of duplicate data. The deduplication layer removes that redundancy and makes incremental backups small and space efficient. :Data Integrity: The built in `SHA-256`_ checksum algorithm assures the accuracy and consistency of your backups. :Remote Sync: It is possible to efficiently synchronize data to remote sites. Only deltas containing new data are transferred. :Performance: The whole software stack is written in :term:`Rust`, to provide high speed and memory efficiency. :Compression: Ultra fast Zstandard_ compression is able to compress several gigabytes of data per second. :Encryption: Backups can be encrypted client-side using AES-256 in GCM_ mode. This authenticated encryption mode (AE_) provides very high performance on modern hardware. :Open Source: No secrets. You have access to all the source code. :Support: Commercial support options are available from `Proxmox`_. Why Backup? ----------- The primary purpose of a backup is to protect against data loss. Data loss can be caused by faulty hardware, but also by human error. A common mistake is to delete a file or folder which is still required. Virtualization can amplify this problem. It is now easy to delete a whole virtual machine by pressing a single button. Backups can serve as a toolkit for administrators to temporarily store data. For example, it is common practice to perform full backups before installing major software updates. If something goes wrong, you can restore the previous state. Another reason for backups are legal requirements. Some data must be kept in a safe place for several years by law, so that it can be accessed if required. Data loss can be very costly as it can severely restrict your business. Therefore, make sure that you perform a backup regularly and run restore tests. Software Stack -------------- .. todo:: Eplain why we use Rust (and Flutter) License ------- Copyright (C) 2019 Proxmox Server Solutions GmbH This software is written by Proxmox Server Solutions GmbH Proxmox Backup is free software: you can redistribute it and/or modify it under the terms of the GNU Affero 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 Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see AGPL3_. History ------- .. todo:: Add development History of the product