]> git.proxmox.com Git - proxmox-backup.git/blobdiff - docs/introduction.rst
ui: update online help info
[proxmox-backup.git] / docs / introduction.rst
index eb0b44f7492ca2cd8e9336a116d6ed1925cddb69..fc38b2b139d63fac7d32e2e8a4813695477c2b4a 100644 (file)
 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.
+What is Proxmox Backup Server?
+------------------------------
+
+`Proxmox Backup`_ Server is an enterprise-class, client-server backup solution
+that is capable of backing up :term:`virtual machine<Virtual machine>`\ s,
+:term:`container<Container>`\ s, and physical hosts. It is specially optimized
+for the `Proxmox Virtual Environment`_ platform and allows you to back up your
+data securely, even between remote sites, providing easy management through a
+web-based user interface.
+
+It supports deduplication, compression, and authenticated
+encryption (AE_). Using :term:`Rust` as the implementation language guarantees
+high performance, low resource usage, and a safe, high-quality codebase.
+
+Proxmox Backup uses state of the art cryptography for both client-server
+communication and backup content :ref:`encryption <client_encryption>`. All
+client-server communication uses `TLS
+<https://en.wikipedia.org/wiki/Transport_Layer_Security>`_, and backup data can
+be encrypted on the client-side before sending, making it safer to back up data
+to targets that are not fully trusted.
 
 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 resources using this API.
+Proxmox Backup Server uses a `client-server model`_. The server stores the
+backup data and provides an API to create and manage datastores. With the
+API, it's also possible to manage disks and other server-side resources.
 
-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`_.
+The backup client uses this API to access the backed up data. You can use the
+``proxmox-backup-client`` command-line tool to create and restore file backups.
+For QEMU_ and LXC_ within `Proxmox Virtual Environment`_, we deliver an
+integrated client.
 
+A single backup is allowed to contain several archives. For example, when you
+backup a :term:`virtual machine<Virtual machine>`, each disk is stored as a
+separate archive inside that backup. The VM configuration itself is stored as
+an extra file. This way, it's easy to access and restore only the important
+parts of the backup, without the need to scan the whole backup.
 
-Main features
+
+Main Features
 -------------
 
-:Proxmox VE: The `Proxmox Virtual Environment`_ is fully
-   supported. You can backup :term:`virtual machine`\ s and
-   :term:`container`\ s.
+:Support for Proxmox VE: The `Proxmox Virtual Environment`_ is fully supported,
+   and you can easily backup :term:`virtual machine<Virtual machine>`\ s and
+   :term:`container<Container>`\ s.
 
-:GUI: We provide a graphical, web based user interface.
+:Performance: The whole software stack is written in :term:`Rust`,
+   in order to provide high speed and memory efficiency.
 
-:Deduplication: Inkremental backup produces large amounts of duplicate
-   data. The deduplication layer removes that redundancy and makes
-   inkremental backup small and space efficient.
+:Deduplication: Periodic backups produce large amounts of duplicate
+   data. The deduplication layer avoids redundancy and minimizes the storage
+   space used.
 
-:Data Integrity: The built in `SHA-256`_ checksum algorithm assures the
-   accuray and consistency of your backups.
+:Incremental backups: Changes between backups are typically low. Reading and
+   sending only the delta reduces the storage and network impact of backups.
 
-:Remote Sync: It is possible to efficently synchronize data to remote
-   sites. Only deltas containing new data are transfered.
+:Data integrity: The built-in `SHA-256`_ checksum algorithm ensures accuracy
+   and consistency in your backups.
 
-:Performance: The whole software stack is written in :term:`Rust`,
-   which provides high speed and memory efficiency.
+:Remote sync: It is possible to efficiently synchronize data to remote
+   sites. Only deltas containing new data are transferred.
 
-:Compression: Ultra fast Zstandard_ compression is able to compress
+:Compression: The 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.
+:Encryption: Backups can be encrypted on the client-side, using AES-256 GCM_.
+   This authenticated encryption (AE_) mode provides very high performance on
+   modern hardware. In addition to client-side encryption, all data is
+   transferred via a secure TLS connection.
+
+:Tape backup: For long-term archiving of data, Proxmox Backup Server also
+   provides extensive support for backing up to tape and managing tape
+   libraries.
+
+:Ransomware protection: :ref:`Protect your critical data from ransomware attacks
+   <ransomware_protection>` with Proxmox Backup Server's fine-grained access
+   control, data integrity verification, and off-site backup through remote sync
+   and tape backup.
 
-:Open Source: No secrets. You have access to the whole source tree.
+:Web interface: Manage the Proxmox Backup Server with the integrated, web-based
+   user interface.
 
-:Support: Commercial support options available from `Proxmox`_.
+:Open source: No secrets. Proxmox Backup Server is free and open-source
+   software. The source code is licensed under AGPL, v3.
 
+:No limits: Proxmox Backup Server has no artificial limits for backup storage or
+   backup-clients.
 
-Why Backup?
------------
+:Enterprise support: Proxmox Server Solutions GmbH offers enterprise support in
+   the form of `Proxmox Backup Server Subscription Plans
+   <https://www.proxmox.com/en/proxmox-backup-server/pricing>`_. Users at every
+   subscription level get access to the Proxmox Backup :ref:`Enterprise
+   Repository <sysadmin_package_repos_enterprise>`. In addition, with a Basic,
+   Standard or Premium subscription, users have access to the :ref:`Proxmox
+   Customer Portal <get_help_enterprise_support>`.
 
-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.
+Reasons for Data Backup?
+------------------------
 
-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.
+The main purpose of a backup is to protect against data loss. Data loss can be
+caused by both faulty hardware and human error.
 
-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.
+A common mistake is to accidentally delete a file or folder which is still
+required. Virtualization can even amplify this problem, as deleting a whole
+virtual machine can be as easy as pressing a single button.
 
+For administrators, backups can serve as a useful toolkit for temporarily
+storing data. For example, it is common practice to perform full backups before
+installing major software updates. If something goes wrong, you can easily
+restore the previous state.
 
-- value of data, importance for your business, legal regulations
+Another reason for backups are legal requirements. Some data, especially
+business records, must be kept in a safe place for several years by law, so
+that they can be accessed if required.
 
-- restore tests. to make sure backup/restore works
+In general, data loss is very costly as it can severely damage your business.
+Therefore, ensure that you perform regular backups and run restore tests.
 
 
 Software Stack
 --------------
 
+Proxmox Backup Server consists of multiple components:
+
+* A server-daemon providing, among other things, a RESTful API, super-fast
+  asynchronous tasks, lightweight usage statistic collection, scheduling
+  events, strict separation of privileged and unprivileged execution
+  environments
+* A JavaScript management web interface
+* A management CLI tool for the server (`proxmox-backup-manager`)
+* A client CLI tool (`proxmox-backup-client`) to access the server easily from
+  any `Linux amd64` environment
+
+Aside from the web interface, most parts of Proxmox Backup Server are written in
+the Rust programming language.
+
+ "The Rust programming language helps you write faster, more reliable software.
+ High-level ergonomics and low-level control are often at odds in programming
+ language design; Rust challenges that conflict. Through balancing powerful
+ technical capacity and a great developer experience, Rust gives you the option
+ to control low-level details (such as memory usage) without all the hassle
+ traditionally associated with such control."
+
+ -- `The Rust Programming Language <https://doc.rust-lang.org/book/ch00-00-introduction.html>`_
+
+.. _get_help:
+
+Getting Help
+------------
+
+.. _get_help_enterprise_support:
+
+Enterprise Support
+~~~~~~~~~~~~~~~~~~
+
+Users with a `Proxmox Backup Server Basic, Standard or Premium Subscription Plan
+<https://www.proxmox.com/en/proxmox-backup-server/pricing>`_ have access to the
+`Proxmox Customer Portal <https://my.proxmox.com>`_. The customer portal
+provides support with guaranteed response times from the Proxmox developers.
+For more information or for volume discounts, please contact sales@proxmox.com.
+
+Community Support Forum
+~~~~~~~~~~~~~~~~~~~~~~~
+
+We always encourage our users to discuss and share their knowledge using the
+`Proxmox Community Forum`_. The forum is moderated by the Proxmox support team.
+The large user base is spread out all over the world. Needless to say that such
+a large forum is a great place to get information.
+
+Mailing Lists
+~~~~~~~~~~~~~
+
+Proxmox Backup Server is fully open-source and contributions are welcome! Here
+is the primary communication channel for developers:
+
+:Mailing list for developers: `Proxmox Backup Server Development List`_
+
+Bug Tracker
+~~~~~~~~~~~
+
+Proxmox runs a public bug tracker at `<https://bugzilla.proxmox.com>`_. If an
+issue appears, file your report there. An issue can be a bug, as well as a
+request for a new feature or enhancement. The bug tracker helps to keep track
+of the issue and will send a notification once it has been solved.
 
 License
 -------
 
+|pbs-copyright|
+
+This software is written by Proxmox Server Solutions GmbH <support@proxmox.com>
+
+Proxmox Backup Server is free and open source software: you can use it,
+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
 -------
 
-history ...
+Backup is, and always has been, a central aspect of IT administration.
+The need to recover from data loss is fundamental and only increases with
+virtualization.
+
+For this reason, we've been shipping a backup tool with Proxmox VE, from the
+beginning. This tool is called ``vzdump`` and is able to make
+consistent snapshots of running LXC containers and KVM virtual
+machines.
+
+However, ``vzdump`` only allows for full backups. While this is fine
+for small backups, it becomes a burden for users with large VMs. Both
+backup duration and storage usage are too high for this case, especially
+for users who want to keep many backups of the same VMs. To solve these
+problems, we needed to offer deduplication and incremental backups.
+
+Back in October 2018, development started. We investigated
+several technologies and frameworks and finally decided to use
+:term:`Rust` as the implementation language, in order to provide high speed and
+memory efficiency. The 2018-edition of Rust seemed promising for our
+requirements.
+
+In July 2020, we released the first beta version of Proxmox Backup
+Server, followed by the first stable version in November 2020. With support for
+encryption and incremental, fully deduplicated backups, Proxmox Backup offers a
+secure environment, which significantly reduces network load and saves valuable
+storage space.