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