proxmox-backup/docs/introduction.rst

133 lines
4.5 KiB
ReStructuredText

Introduction
============
This documentationm 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 `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 also 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 also 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 backup produces large amounts of duplicate
data. The deduplication layer removes that redundancy and makes
inkremental backup 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 efficently synchronize data to remote
sites. Only deltas containing new data are transfered.
:Performance: The whole software stack is written in :term:`Rust`,
which provides 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 at 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 the whole source tree.
:Support: Commercial support options available from `Proxmox`_.
Why Backup?
-----------
The primary purpose of backup is to protect against data loss. Data
loss can happen because of faulty hardware, but also by human errors.
A common mistake is to delete a file or folder which is still
required. Virtualization can amplify this problem, because it is now
easy to delete a whole virtual machine by a single button press.
Backups can also 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 just restore the previous state.
Another reason for backups are legal requirements. Some data must be
kept in a safe place for several years so that you can access it if
required by law.
Data loss can be very costly as it can severely restrict your
business. Therefore, make sure that you regularly perform a backup
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 <support@proxmox.com>
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