]> git.proxmox.com Git - proxmox-backup.git/blame - docs/introduction.rst
docs: fix references to changed refs
[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
32dc4c46 68:Encryption: Backups can be encrypted on the client-side, using AES-256 in
44a5f38b
DW
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.
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
0c136efe
TL
79:Support: Enterprise support will be available from `Proxmox`_ once the beta
80 phase is over.
59b9c7ef 81
2501c57c 82
d2c7ef09
TL
83Reasons for Data Backup?
84------------------------
6253aa50 85
d2c7ef09 86The main purpose of a backup is to protect against data loss. Data loss can be
32dc4c46 87caused by both faulty hardware and human error.
6253aa50 88
d2c7ef09 89A common mistake is to accidentally delete a file or folder which is still
32dc4c46
DW
90required. Virtualization can even amplify this problem, as deleting a whole
91virtual machine can be as easy as pressing a single button.
6253aa50 92
d2c7ef09
TL
93For administrators, backups can serve as a useful toolkit for temporarily
94storing data. For example, it is common practice to perform full backups before
95installing major software updates. If something goes wrong, you can easily
96restore the previous state.
6253aa50 97
d2c7ef09
TL
98Another reason for backups are legal requirements. Some data, especially
99business records, must be kept in a safe place for several years by law, so
100that they can be accessed if required.
6253aa50 101
d2c7ef09
TL
102In general, data loss is very costly as it can severely damage your business.
103Therefore, ensure that you perform regular backups and run restore tests.
6253aa50
DM
104
105
2501c57c
DM
106Software Stack
107--------------
108
7ba2c1c3
TL
109Proxmox Backup Server consists of multiple components:
110
3bbb70b3 111* A server-daemon providing, among other things, a RESTful API, super-fast
7ba2c1c3
TL
112 asynchronous tasks, lightweight usage statistic collection, scheduling
113 events, strict separation of privileged and unprivileged execution
32dc4c46
DW
114 environments
115* A JavaScript management web interface
116* A management CLI tool for the server (`proxmox-backup-manager`)
117* A client CLI tool (`proxmox-backup-client`) to access the server easily from
118 any `Linux amd64` environment
7ba2c1c3 119
32dc4c46 120Aside from the web interface, everything is written in the Rust programming
7ba2c1c3
TL
121language.
122
123 "The Rust programming language helps you write faster, more reliable software.
124 High-level ergonomics and low-level control are often at odds in programming
125 language design; Rust challenges that conflict. Through balancing powerful
126 technical capacity and a great developer experience, Rust gives you the option
127 to control low-level details (such as memory usage) without all the hassle
128 traditionally associated with such control."
129
130 -- `The Rust Programming Language <https://doc.rust-lang.org/book/ch00-00-introduction.html>`_
131
bb26843c 132.. _get_help:
e1dfcddc 133
56b814e3
TL
134Getting Help
135------------
136
137Community Support Forum
138~~~~~~~~~~~~~~~~~~~~~~~
139
140We always encourage our users to discuss and share their knowledge using the
141`Proxmox Community Forum`_. The forum is moderated by the Proxmox support team.
142The large user base is spread out all over the world. Needless to say that such
143a large forum is a great place to get information.
144
145Mailing Lists
146~~~~~~~~~~~~~
147
148Proxmox Backup Server is fully open-source and contributions are welcome! Here
149is the primary communication channel for developers:
4cda7603 150
56b814e3
TL
151:Mailing list for developers: `PBS Development List`_
152
153Bug Tracker
154~~~~~~~~~~~
155
156Proxmox runs a public bug tracker at `<https://bugzilla.proxmox.com>`_. If an
157issue appears, file your report there. An issue can be a bug as well as a
158request for a new feature or enhancement. The bug tracker helps to keep track
159of the issue and will send a notification once it has been solved.
160
2501c57c
DM
161License
162-------
163
04cec92e 164Copyright (C) 2019-2021 Proxmox Server Solutions GmbH
fdd471d5
DM
165
166This software is written by Proxmox Server Solutions GmbH <support@proxmox.com>
167
d2c7ef09
TL
168Proxmox Backup Server is free and open source software: you can use it,
169redistribute it, and/or modify it under the terms of the GNU Affero General
170Public License as published by the Free Software Foundation, either version 3
171of the License, or (at your option) any later version.
fdd471d5
DM
172
173This program is distributed in the hope that it will be useful, but
174``WITHOUT ANY WARRANTY``; without even the implied warranty of
175``MERCHANTABILITY`` or ``FITNESS FOR A PARTICULAR PURPOSE``. See the GNU
176Affero General Public License for more details.
177
178You should have received a copy of the GNU Affero General Public License
179along with this program. If not, see AGPL3_.
180
6253aa50 181
7e688b71
DM
182History
183-------
184
6cd84960
DW
185Backup is, and always has been, a central aspect of IT administration.
186The need to recover from data loss is fundamental and only increases with
e1dfcddc
DM
187virtualization.
188
6cd84960
DW
189For this reason, we've been shipping a backup tool with Proxmox VE, from the
190beginning. This tool is called ``vzdump`` and is able to make
e1dfcddc
DM
191consistent snapshots of running LXC containers and KVM virtual
192machines.
193
6cd84960 194However, ``vzdump`` only allows for full backups. While this is fine
e1dfcddc 195for small backups, it becomes a burden for users with large VMs. Both
6cd84960
DW
196backup duration and storage usage are too high for this case, especially
197for users who want to keep many backups of the same VMs. To solve these
198problems, we needed to offer deduplication and incremental backups.
e1dfcddc 199
6cd84960 200Back in October 2018, development started. We investigated
e1dfcddc 201several technologies and frameworks and finally decided to use
6cd84960
DW
202:term:`Rust` as the implementation language, in order to provide high speed and
203memory efficiency. The 2018-edition of Rust seemed promising for our
204requirements.
205
206In July 2020, we released the first beta version of Proxmox Backup
207Server, followed by the first stable version in November 2020. With support for
208incremental, fully deduplicated backups, Proxmox Backup significantly reduces
209network load and saves valuable storage space.