]> git.proxmox.com Git - proxmox-backup.git/blob - docs/introduction.rst
docs: typo fixes
[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 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.
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 :No Limits: Proxmox Backup Server has no artificial limits for backup storage or
80 backup-clients.
81
82 :Enterprise Support: Proxmox Server Solutions GmbH offers enterprise support in
83 form of `Proxmox Backup Server Subscription Plans
84 <https://www.proxmox.com/en/proxmox-backup-server/pricing>`_. Users at every
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>`.
89
90
91 Reasons for Data Backup?
92 ------------------------
93
94 The main purpose of a backup is to protect against data loss. Data loss can be
95 caused by both faulty hardware and human error.
96
97 A common mistake is to accidentally delete a file or folder which is still
98 required. Virtualization can even amplify this problem, as deleting a whole
99 virtual machine can be as easy as pressing a single button.
100
101 For administrators, backups can serve as a useful toolkit for temporarily
102 storing data. For example, it is common practice to perform full backups before
103 installing major software updates. If something goes wrong, you can easily
104 restore the previous state.
105
106 Another reason for backups are legal requirements. Some data, especially
107 business records, must be kept in a safe place for several years by law, so
108 that they can be accessed if required.
109
110 In general, data loss is very costly as it can severely damage your business.
111 Therefore, ensure that you perform regular backups and run restore tests.
112
113
114 Software Stack
115 --------------
116
117 Proxmox Backup Server consists of multiple components:
118
119 * A server-daemon providing, among other things, a RESTful API, super-fast
120 asynchronous tasks, lightweight usage statistic collection, scheduling
121 events, strict separation of privileged and unprivileged execution
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
127
128 Aside from the web interface, most parts of Proxmox Backup Server are written in
129 the Rust programming language.
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
140 .. _get_help:
141
142 Getting Help
143 ------------
144
145 .. _get_help_enterprise_support:
146
147 Enterprise Support
148 ~~~~~~~~~~~~~~~~~~
149
150 Users 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
152 `Proxmox Customer Portal <https://my.proxmox.com>`_. The customer portal
153 provides support with guaranteed response times from the Proxmox developers.
154 For more information or for volume discounts, please contact office@proxmox.com.
155
156 Community Support Forum
157 ~~~~~~~~~~~~~~~~~~~~~~~
158
159 We 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.
161 The large user base is spread out all over the world. Needless to say that such
162 a large forum is a great place to get information.
163
164 Mailing Lists
165 ~~~~~~~~~~~~~
166
167 Proxmox Backup Server is fully open-source and contributions are welcome! Here
168 is the primary communication channel for developers:
169
170 :Mailing list for developers: `PBS Development List`_
171
172 Bug Tracker
173 ~~~~~~~~~~~
174
175 Proxmox runs a public bug tracker at `<https://bugzilla.proxmox.com>`_. If an
176 issue appears, file your report there. An issue can be a bug as well as a
177 request for a new feature or enhancement. The bug tracker helps to keep track
178 of the issue and will send a notification once it has been solved.
179
180 License
181 -------
182
183 Copyright (C) 2019-2021 Proxmox Server Solutions GmbH
184
185 This software is written by Proxmox Server Solutions GmbH <support@proxmox.com>
186
187 Proxmox Backup Server is free and open source software: you can use it,
188 redistribute it, and/or modify it under the terms of the GNU Affero General
189 Public License as published by the Free Software Foundation, either version 3
190 of the License, or (at your option) any later version.
191
192 This 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
195 Affero General Public License for more details.
196
197 You should have received a copy of the GNU Affero General Public License
198 along with this program. If not, see AGPL3_.
199
200
201 History
202 -------
203
204 Backup is, and always has been, a central aspect of IT administration.
205 The need to recover from data loss is fundamental and only increases with
206 virtualization.
207
208 For this reason, we've been shipping a backup tool with Proxmox VE, from the
209 beginning. This tool is called ``vzdump`` and is able to make
210 consistent snapshots of running LXC containers and KVM virtual
211 machines.
212
213 However, ``vzdump`` only allows for full backups. While this is fine
214 for small backups, it becomes a burden for users with large VMs. Both
215 backup duration and storage usage are too high for this case, especially
216 for users who want to keep many backups of the same VMs. To solve these
217 problems, we needed to offer deduplication and incremental backups.
218
219 Back in October 2018, development started. We investigated
220 several technologies and frameworks and finally decided to use
221 :term:`Rust` as the implementation language, in order to provide high speed and
222 memory efficiency. The 2018-edition of Rust seemed promising for our
223 requirements.
224
225 In July 2020, we released the first beta version of Proxmox Backup
226 Server, followed by the first stable version in November 2020. With support for
227 incremental, fully deduplicated backups, Proxmox Backup significantly reduces
228 network load and saves valuable storage space.