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