]>
Commit | Line | Data |
---|---|---|
7e688b71 DM |
1 | Introduction |
2 | ============ | |
3 | ||
d9f365d7 | 4 | What is Proxmox Backup Server? |
2357744b | 5 | ------------------------------ |
7e688b71 | 6 | |
34407477 AZ |
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, | |
e1dc2d22 SI |
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. | |
6a1cb691 | 13 | |
d9f365d7 | 14 | It supports deduplication, compression, and authenticated |
717ce406 DW |
15 | encryption (AE_). Using :term:`Rust` as the implementation language guarantees |
16 | high performance, low resource usage, and a safe, high-quality codebase. | |
6a1cb691 | 17 | |
44a5f38b | 18 | Proxmox Backup uses state of the art cryptography for both client-server |
a98e2287 | 19 | communication and backup content :ref:`encryption <client_encryption>`. All |
44a5f38b DW |
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. | |
0c56b0e6 | 24 | |
d2a8d597 DM |
25 | Architecture |
26 | ------------ | |
27 | ||
d2c7ef09 | 28 | Proxmox Backup Server uses a `client-server model`_. The server stores the |
092378ba | 29 | backup data and provides an API to create and manage datastores. With the |
32dc4c46 | 30 | API, it's also possible to manage disks and other server-side resources. |
d2a8d597 | 31 | |
717ce406 | 32 | The backup client uses this API to access the backed up data. You can use the |
8c83b75a | 33 | ``proxmox-backup-client`` command-line tool to create and restore file backups. |
717ce406 DW |
34 | For QEMU_ and LXC_ within `Proxmox Virtual Environment`_, we deliver an |
35 | integrated client. | |
d2a8d597 | 36 | |
d2c7ef09 | 37 | A single backup is allowed to contain several archives. For example, when you |
e1dc2d22 SI |
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 | |
6481fd24 | 40 | an extra file. This way, it's easy to access and restore only the important |
e1dc2d22 | 41 | parts of the backup, without the need to scan the whole backup. |
7ee2198e | 42 | |
0c56b0e6 | 43 | |
4f3db187 | 44 | Main Features |
6253aa50 | 45 | ------------- |
3147e56a | 46 | |
28589126 TL |
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 | |
e1dc2d22 | 49 | :term:`container<Container>`\ s. |
3147e56a | 50 | |
d2c7ef09 | 51 | :Performance: The whole software stack is written in :term:`Rust`, |
32dc4c46 | 52 | in order to provide high speed and memory efficiency. |
3147e56a | 53 | |
d2c7ef09 | 54 | :Deduplication: Periodic backups produce large amounts of duplicate |
32dc4c46 DW |
55 | data. The deduplication layer avoids redundancy and minimizes the storage |
56 | space used. | |
d2c7ef09 TL |
57 | |
58 | :Incremental backups: Changes between backups are typically low. Reading and | |
32dc4c46 | 59 | sending only the delta reduces the storage and network impact of backups. |
3147e56a | 60 | |
b8e78fae | 61 | :Data integrity: The built-in `SHA-256`_ checksum algorithm ensures accuracy |
28589126 | 62 | and consistency in your backups. |
efd3e76b | 63 | |
b8e78fae | 64 | :Remote sync: It is possible to efficiently synchronize data to remote |
4f3db187 | 65 | sites. Only deltas containing new data are transferred. |
3147e56a | 66 | |
32dc4c46 | 67 | :Compression: The ultra-fast Zstandard_ compression is able to compress |
efd3e76b | 68 | several gigabytes of data per second. |
3147e56a | 69 | |
51f83548 TL |
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. | |
2501c57c | 74 | |
717ce406 DW |
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 | ||
b8e78fae NU |
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 | ||
32dc4c46 | 84 | :Web interface: Manage the Proxmox Backup Server with the integrated, web-based |
0c136efe | 85 | user interface. |
d2c7ef09 | 86 | |
b8e78fae | 87 | :Open source: No secrets. Proxmox Backup Server is free and open-source |
0c136efe | 88 | software. The source code is licensed under AGPL, v3. |
59b9c7ef | 89 | |
b8e78fae | 90 | :No limits: Proxmox Backup Server has no artificial limits for backup storage or |
654db565 TL |
91 | backup-clients. |
92 | ||
b8e78fae | 93 | :Enterprise support: Proxmox Server Solutions GmbH offers enterprise support in |
717ce406 | 94 | the form of `Proxmox Backup Server Subscription Plans |
313e5e20 | 95 | <https://www.proxmox.com/en/proxmox-backup-server/pricing>`_. Users at every |
5847a6bd TL |
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>`. | |
59b9c7ef | 100 | |
2501c57c | 101 | |
d2c7ef09 TL |
102 | Reasons for Data Backup? |
103 | ------------------------ | |
6253aa50 | 104 | |
d2c7ef09 | 105 | The main purpose of a backup is to protect against data loss. Data loss can be |
32dc4c46 | 106 | caused by both faulty hardware and human error. |
6253aa50 | 107 | |
d2c7ef09 | 108 | A common mistake is to accidentally delete a file or folder which is still |
32dc4c46 DW |
109 | required. Virtualization can even amplify this problem, as deleting a whole |
110 | virtual machine can be as easy as pressing a single button. | |
6253aa50 | 111 | |
d2c7ef09 TL |
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. | |
6253aa50 | 116 | |
d2c7ef09 TL |
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. | |
6253aa50 | 120 | |
d2c7ef09 TL |
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. | |
6253aa50 DM |
123 | |
124 | ||
2501c57c DM |
125 | Software Stack |
126 | -------------- | |
127 | ||
7ba2c1c3 TL |
128 | Proxmox Backup Server consists of multiple components: |
129 | ||
3bbb70b3 | 130 | * A server-daemon providing, among other things, a RESTful API, super-fast |
7ba2c1c3 TL |
131 | asynchronous tasks, lightweight usage statistic collection, scheduling |
132 | events, strict separation of privileged and unprivileged execution | |
32dc4c46 DW |
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 | |
7ba2c1c3 | 138 | |
84982908 TL |
139 | Aside from the web interface, most parts of Proxmox Backup Server are written in |
140 | the Rust programming language. | |
7ba2c1c3 TL |
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 | ||
bb26843c | 151 | .. _get_help: |
e1dfcddc | 152 | |
56b814e3 TL |
153 | Getting Help |
154 | ------------ | |
155 | ||
5847a6bd TL |
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 | |
e7e3d736 TL |
163 | `Proxmox Customer Portal <https://my.proxmox.com>`_. The customer portal |
164 | provides support with guaranteed response times from the Proxmox developers. | |
bee53cbb | 165 | For more information or for volume discounts, please contact sales@proxmox.com. |
5847a6bd | 166 | |
56b814e3 TL |
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: | |
4cda7603 | 180 | |
db10278b | 181 | :Mailing list for developers: `Proxmox Backup Sever Development List`_ |
56b814e3 TL |
182 | |
183 | Bug Tracker | |
184 | ~~~~~~~~~~~ | |
185 | ||
186 | Proxmox runs a public bug tracker at `<https://bugzilla.proxmox.com>`_. If an | |
717ce406 | 187 | issue appears, file your report there. An issue can be a bug, as well as a |
56b814e3 TL |
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 | ||
2501c57c DM |
191 | License |
192 | ------- | |
193 | ||
96a7169e | 194 | |pbs-copyright| |
fdd471d5 DM |
195 | |
196 | This software is written by Proxmox Server Solutions GmbH <support@proxmox.com> | |
197 | ||
d2c7ef09 TL |
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. | |
fdd471d5 DM |
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 | ||
6253aa50 | 211 | |
7e688b71 DM |
212 | History |
213 | ------- | |
214 | ||
6cd84960 DW |
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 | |
e1dfcddc DM |
217 | virtualization. |
218 | ||
6cd84960 DW |
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 | |
e1dfcddc DM |
221 | consistent snapshots of running LXC containers and KVM virtual |
222 | machines. | |
223 | ||
6cd84960 | 224 | However, ``vzdump`` only allows for full backups. While this is fine |
e1dfcddc | 225 | for small backups, it becomes a burden for users with large VMs. Both |
6cd84960 DW |
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. | |
e1dfcddc | 229 | |
6cd84960 | 230 | Back in October 2018, development started. We investigated |
e1dfcddc | 231 | several technologies and frameworks and finally decided to use |
6cd84960 DW |
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 | |
717ce406 DW |
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. |