]> git.proxmox.com Git - proxmox-backup.git/blame - docs/introduction.rst
docs: client: add "Backup" to "Repository Locations" heading to avoid confusion
[proxmox-backup.git] / docs / introduction.rst
CommitLineData
7e688b71
DM
1Introduction
2============
3
d9f365d7 4What is Proxmox Backup Server?
2357744b 5------------------------------
7e688b71 6
65418a07
DW
7Proxmox Backup Server is an enterprise-class, client-server backup software
8package that backs up :term:`virtual machine`\ s, :term:`container`\ s, and
9physical hosts. It is specially optimized for the `Proxmox Virtual Environment`_
10platform and allows you to back up your data securely, even between remote
11sites, providing easy management with a web-based user interface.
6a1cb691 12
d9f365d7 13It supports deduplication, compression, and authenticated
65418a07
DW
14encryption (AE_). Using :term:`Rust` as the implementation language guarantees high
15performance, low resource usage, and a safe, high-quality codebase.
6a1cb691 16
44a5f38b 17Proxmox Backup uses state of the art cryptography for both client-server
a98e2287 18communication and backup content :ref:`encryption <client_encryption>`. All
44a5f38b
DW
19client-server communication uses `TLS
20<https://en.wikipedia.org/wiki/Transport_Layer_Security>`_, and backup data can
21be encrypted on the client-side before sending, making it safer to back up data
22to targets that are not fully trusted.
0c56b0e6 23
d2a8d597
DM
24Architecture
25------------
26
d2c7ef09 27Proxmox Backup Server uses a `client-server model`_. The server stores the
092378ba 28backup data and provides an API to create and manage datastores. With the
32dc4c46 29API, it's also possible to manage disks and other server-side resources.
d2a8d597 30
d2c7ef09
TL
31The backup client uses this API to access the backed up data. With the command
32line tool ``proxmox-backup-client`` you can create backups and restore data.
33For QEMU_ with `Proxmox Virtual Environment`_ we deliver an integrated client.
d2a8d597 34
d2c7ef09
TL
35A single backup is allowed to contain several archives. For example, when you
36backup a :term:`virtual machine`, each disk is stored as a separate archive
37inside that backup. The VM configuration itself is stored as an extra file.
32dc4c46 38This way, it's easy to access and restore only important parts of the backup,
d2c7ef09 39without the need to scan the whole backup.
7ee2198e 40
0c56b0e6 41
4f3db187 42Main Features
6253aa50 43-------------
3147e56a 44
d2c7ef09
TL
45:Support for Proxmox VE: The `Proxmox Virtual Environment`_ is fully
46 supported and you can easily backup :term:`virtual machine`\ s and
3147e56a
DM
47 :term:`container`\ s.
48
d2c7ef09 49:Performance: The whole software stack is written in :term:`Rust`,
32dc4c46 50 in order to provide high speed and memory efficiency.
3147e56a 51
d2c7ef09 52:Deduplication: Periodic backups produce large amounts of duplicate
32dc4c46
DW
53 data. The deduplication layer avoids redundancy and minimizes the storage
54 space used.
d2c7ef09
TL
55
56:Incremental backups: Changes between backups are typically low. Reading and
32dc4c46 57 sending only the delta reduces the storage and network impact of backups.
3147e56a 58
32dc4c46
DW
59:Data Integrity: The built-in `SHA-256`_ checksum algorithm ensures accuracy and
60 consistency in your backups.
efd3e76b 61
4f3db187
AL
62:Remote Sync: It is possible to efficiently synchronize data to remote
63 sites. Only deltas containing new data are transferred.
3147e56a 64
32dc4c46 65:Compression: The ultra-fast Zstandard_ compression is able to compress
efd3e76b 66 several gigabytes of data per second.
3147e56a 67
51f83548
TL
68:Encryption: Backups can be encrypted on the client-side, using AES-256 GCM_.
69 This authenticated encryption (AE_) mode provides very high performance on
70 modern hardware. In addition to client-side encryption, all data is
71 transferred via a secure TLS connection.
2501c57c 72
32dc4c46 73:Web interface: Manage the Proxmox Backup Server with the integrated, web-based
0c136efe 74 user interface.
d2c7ef09
TL
75
76:Open Source: No secrets. Proxmox Backup Server is free and open-source
0c136efe 77 software. The source code is licensed under AGPL, v3.
59b9c7ef 78
654db565
TL
79:No Limits: Proxmox Backup Server has no artifical limits for backup storage or
80 backup-clients.
81
5847a6bd
TL
82:Enterprise Support: Proxmox Server Solutions GmbH offers enterprise support in
83 form of `Proxmox Backup Server Subscription Plans
313e5e20 84 <https://www.proxmox.com/en/proxmox-backup-server/pricing>`_. Users at every
5847a6bd
TL
85 subscription level get access to the Proxmox Backup :ref:`Enterprise
86 Repository <sysadmin_package_repos_enterprise>`. In addition, with a Basic,
87 Standard or Premium subscription, users have access to the :ref:`Proxmox
88 Customer Portal <get_help_enterprise_support>`.
59b9c7ef 89
2501c57c 90
d2c7ef09
TL
91Reasons for Data Backup?
92------------------------
6253aa50 93
d2c7ef09 94The main purpose of a backup is to protect against data loss. Data loss can be
32dc4c46 95caused by both faulty hardware and human error.
6253aa50 96
d2c7ef09 97A common mistake is to accidentally delete a file or folder which is still
32dc4c46
DW
98required. Virtualization can even amplify this problem, as deleting a whole
99virtual machine can be as easy as pressing a single button.
6253aa50 100
d2c7ef09
TL
101For administrators, backups can serve as a useful toolkit for temporarily
102storing data. For example, it is common practice to perform full backups before
103installing major software updates. If something goes wrong, you can easily
104restore the previous state.
6253aa50 105
d2c7ef09
TL
106Another reason for backups are legal requirements. Some data, especially
107business records, must be kept in a safe place for several years by law, so
108that they can be accessed if required.
6253aa50 109
d2c7ef09
TL
110In general, data loss is very costly as it can severely damage your business.
111Therefore, ensure that you perform regular backups and run restore tests.
6253aa50
DM
112
113
2501c57c
DM
114Software Stack
115--------------
116
7ba2c1c3
TL
117Proxmox Backup Server consists of multiple components:
118
3bbb70b3 119* A server-daemon providing, among other things, a RESTful API, super-fast
7ba2c1c3
TL
120 asynchronous tasks, lightweight usage statistic collection, scheduling
121 events, strict separation of privileged and unprivileged execution
32dc4c46
DW
122 environments
123* A JavaScript management web interface
124* A management CLI tool for the server (`proxmox-backup-manager`)
125* A client CLI tool (`proxmox-backup-client`) to access the server easily from
126 any `Linux amd64` environment
7ba2c1c3 127
84982908
TL
128Aside from the web interface, most parts of Proxmox Backup Server are written in
129the Rust programming language.
7ba2c1c3
TL
130
131 "The Rust programming language helps you write faster, more reliable software.
132 High-level ergonomics and low-level control are often at odds in programming
133 language design; Rust challenges that conflict. Through balancing powerful
134 technical capacity and a great developer experience, Rust gives you the option
135 to control low-level details (such as memory usage) without all the hassle
136 traditionally associated with such control."
137
138 -- `The Rust Programming Language <https://doc.rust-lang.org/book/ch00-00-introduction.html>`_
139
bb26843c 140.. _get_help:
e1dfcddc 141
56b814e3
TL
142Getting Help
143------------
144
5847a6bd
TL
145.. _get_help_enterprise_support:
146
147Enterprise Support
148~~~~~~~~~~~~~~~~~~
149
150Users with a `Proxmox Backup Server Basic, Standard or Premium Subscription Plan
151<https://www.proxmox.com/en/proxmox-backup-server/pricing>`_ have access to the
152Proxmox Customer Portal. The Customer Portal provides support with guaranteed
153response times from the Proxmox developers.
154For more information or for volume discounts, please contact office@proxmox.com.
155
56b814e3
TL
156Community Support Forum
157~~~~~~~~~~~~~~~~~~~~~~~
158
159We always encourage our users to discuss and share their knowledge using the
160`Proxmox Community Forum`_. The forum is moderated by the Proxmox support team.
161The large user base is spread out all over the world. Needless to say that such
162a large forum is a great place to get information.
163
164Mailing Lists
165~~~~~~~~~~~~~
166
167Proxmox Backup Server is fully open-source and contributions are welcome! Here
168is the primary communication channel for developers:
4cda7603 169
56b814e3
TL
170:Mailing list for developers: `PBS Development List`_
171
172Bug Tracker
173~~~~~~~~~~~
174
175Proxmox runs a public bug tracker at `<https://bugzilla.proxmox.com>`_. If an
176issue appears, file your report there. An issue can be a bug as well as a
177request for a new feature or enhancement. The bug tracker helps to keep track
178of the issue and will send a notification once it has been solved.
179
2501c57c
DM
180License
181-------
182
04cec92e 183Copyright (C) 2019-2021 Proxmox Server Solutions GmbH
fdd471d5
DM
184
185This software is written by Proxmox Server Solutions GmbH <support@proxmox.com>
186
d2c7ef09
TL
187Proxmox Backup Server is free and open source software: you can use it,
188redistribute it, and/or modify it under the terms of the GNU Affero General
189Public License as published by the Free Software Foundation, either version 3
190of the License, or (at your option) any later version.
fdd471d5
DM
191
192This program is distributed in the hope that it will be useful, but
193``WITHOUT ANY WARRANTY``; without even the implied warranty of
194``MERCHANTABILITY`` or ``FITNESS FOR A PARTICULAR PURPOSE``. See the GNU
195Affero General Public License for more details.
196
197You should have received a copy of the GNU Affero General Public License
198along with this program. If not, see AGPL3_.
199
6253aa50 200
7e688b71
DM
201History
202-------
203
6cd84960
DW
204Backup is, and always has been, a central aspect of IT administration.
205The need to recover from data loss is fundamental and only increases with
e1dfcddc
DM
206virtualization.
207
6cd84960
DW
208For this reason, we've been shipping a backup tool with Proxmox VE, from the
209beginning. This tool is called ``vzdump`` and is able to make
e1dfcddc
DM
210consistent snapshots of running LXC containers and KVM virtual
211machines.
212
6cd84960 213However, ``vzdump`` only allows for full backups. While this is fine
e1dfcddc 214for small backups, it becomes a burden for users with large VMs. Both
6cd84960
DW
215backup duration and storage usage are too high for this case, especially
216for users who want to keep many backups of the same VMs. To solve these
217problems, we needed to offer deduplication and incremental backups.
e1dfcddc 218
6cd84960 219Back in October 2018, development started. We investigated
e1dfcddc 220several technologies and frameworks and finally decided to use
6cd84960
DW
221:term:`Rust` as the implementation language, in order to provide high speed and
222memory efficiency. The 2018-edition of Rust seemed promising for our
223requirements.
224
225In July 2020, we released the first beta version of Proxmox Backup
226Server, followed by the first stable version in November 2020. With support for
227incremental, fully deduplicated backups, Proxmox Backup significantly reduces
228network load and saves valuable storage space.