X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=docs%2Fintroduction.rst;h=fa232e46de373629b5af5848c83d5b6d2277fe0b;hb=HEAD;hp=0ea5ce03b7914b10f24fcf75083eced5cc9a1bfb;hpb=fdd471d590d0280e50805cb35968d856b6eed1e9;p=proxmox-backup.git diff --git a/docs/introduction.rst b/docs/introduction.rst index 0ea5ce03..fc38b2b1 100644 --- a/docs/introduction.rst +++ b/docs/introduction.rst @@ -1,103 +1,204 @@ 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`\ s, +:term:`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 `. All +client-server communication uses `TLS +`_, 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`, 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`\ s and + :term:`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 + ` 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 + `_. Users at every + subscription level get access to the Proxmox Backup :ref:`Enterprise + Repository `. In addition, with a Basic, + Standard or Premium subscription, users have access to the :ref:`Proxmox + Customer Portal `. -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 `_ + +.. _get_help: + +Getting Help +------------ + +.. _get_help_enterprise_support: + +Enterprise Support +~~~~~~~~~~~~~~~~~~ + +Users with a `Proxmox Backup Server Basic, Standard or Premium Subscription Plan +`_ have access to the +`Proxmox Customer Portal `_. 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 ``_. 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 ------- -Copyright (C) 2019 Proxmox Server Solutions GmbH +|pbs-copyright| 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. +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 @@ -108,8 +209,32 @@ 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.