]> git.proxmox.com Git - proxmox-backup.git/blame - docs/introduction.rst
docs: conf: fix conf for new alabaster theme version
[proxmox-backup.git] / docs / introduction.rst
CommitLineData
7e688b71
DM
1Introduction
2============
3
d2c7ef09
TL
4What is Proxmox Backup Server
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
d2c7ef09 13Proxmox Backup Server 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
65418a07 17It features strong client-side encryption. Thus, it's possible to
32dc4c46 18backup data to targets that are not fully trusted.
6a1cb691 19
0c56b0e6 20
d2a8d597
DM
21Architecture
22------------
23
d2c7ef09 24Proxmox Backup Server uses a `client-server model`_. The server stores the
092378ba 25backup data and provides an API to create and manage datastores. With the
32dc4c46 26API, it's also possible to manage disks and other server-side resources.
d2a8d597 27
d2c7ef09
TL
28The backup client uses this API to access the backed up data. With the command
29line tool ``proxmox-backup-client`` you can create backups and restore data.
30For QEMU_ with `Proxmox Virtual Environment`_ we deliver an integrated client.
d2a8d597 31
d2c7ef09
TL
32A single backup is allowed to contain several archives. For example, when you
33backup a :term:`virtual machine`, each disk is stored as a separate archive
34inside that backup. The VM configuration itself is stored as an extra file.
32dc4c46 35This way, it's easy to access and restore only important parts of the backup,
d2c7ef09 36without the need to scan the whole backup.
7ee2198e 37
0c56b0e6 38
4f3db187 39Main Features
6253aa50 40-------------
3147e56a 41
d2c7ef09
TL
42:Support for Proxmox VE: The `Proxmox Virtual Environment`_ is fully
43 supported and you can easily backup :term:`virtual machine`\ s and
3147e56a
DM
44 :term:`container`\ s.
45
d2c7ef09 46:Performance: The whole software stack is written in :term:`Rust`,
32dc4c46 47 in order to provide high speed and memory efficiency.
3147e56a 48
d2c7ef09 49:Deduplication: Periodic backups produce large amounts of duplicate
32dc4c46
DW
50 data. The deduplication layer avoids redundancy and minimizes the storage
51 space used.
d2c7ef09
TL
52
53:Incremental backups: Changes between backups are typically low. Reading and
32dc4c46 54 sending only the delta reduces the storage and network impact of backups.
3147e56a 55
32dc4c46
DW
56:Data Integrity: The built-in `SHA-256`_ checksum algorithm ensures accuracy and
57 consistency in your backups.
efd3e76b 58
4f3db187
AL
59:Remote Sync: It is possible to efficiently synchronize data to remote
60 sites. Only deltas containing new data are transferred.
3147e56a 61
32dc4c46 62:Compression: The ultra-fast Zstandard_ compression is able to compress
efd3e76b 63 several gigabytes of data per second.
3147e56a 64
32dc4c46 65:Encryption: Backups can be encrypted on the client-side, using AES-256 in
65418a07 66 Galois/Counter Mode (GCM_) mode. This authenticated encryption (AE_) mode
0c136efe 67 provides very high performance on modern hardware.
2501c57c 68
32dc4c46 69:Web interface: Manage the Proxmox Backup Server with the integrated, web-based
0c136efe 70 user interface.
d2c7ef09
TL
71
72:Open Source: No secrets. Proxmox Backup Server is free and open-source
0c136efe 73 software. The source code is licensed under AGPL, v3.
59b9c7ef 74
0c136efe
TL
75:Support: Enterprise support will be available from `Proxmox`_ once the beta
76 phase is over.
59b9c7ef 77
2501c57c 78
d2c7ef09
TL
79Reasons for Data Backup?
80------------------------
6253aa50 81
d2c7ef09 82The main purpose of a backup is to protect against data loss. Data loss can be
32dc4c46 83caused by both faulty hardware and human error.
6253aa50 84
d2c7ef09 85A common mistake is to accidentally delete a file or folder which is still
32dc4c46
DW
86required. Virtualization can even amplify this problem, as deleting a whole
87virtual machine can be as easy as pressing a single button.
6253aa50 88
d2c7ef09
TL
89For administrators, backups can serve as a useful toolkit for temporarily
90storing data. For example, it is common practice to perform full backups before
91installing major software updates. If something goes wrong, you can easily
92restore the previous state.
6253aa50 93
d2c7ef09
TL
94Another reason for backups are legal requirements. Some data, especially
95business records, must be kept in a safe place for several years by law, so
96that they can be accessed if required.
6253aa50 97
d2c7ef09
TL
98In general, data loss is very costly as it can severely damage your business.
99Therefore, ensure that you perform regular backups and run restore tests.
6253aa50
DM
100
101
2501c57c
DM
102Software Stack
103--------------
104
7ba2c1c3
TL
105Proxmox Backup Server consists of multiple components:
106
32dc4c46 107* A server-daemon providing, among other things, a RESTfull API, super-fast
7ba2c1c3
TL
108 asynchronous tasks, lightweight usage statistic collection, scheduling
109 events, strict separation of privileged and unprivileged execution
32dc4c46
DW
110 environments
111* A JavaScript management web interface
112* A management CLI tool for the server (`proxmox-backup-manager`)
113* A client CLI tool (`proxmox-backup-client`) to access the server easily from
114 any `Linux amd64` environment
7ba2c1c3 115
32dc4c46 116Aside from the web interface, everything is written in the Rust programming
7ba2c1c3
TL
117language.
118
119 "The Rust programming language helps you write faster, more reliable software.
120 High-level ergonomics and low-level control are often at odds in programming
121 language design; Rust challenges that conflict. Through balancing powerful
122 technical capacity and a great developer experience, Rust gives you the option
123 to control low-level details (such as memory usage) without all the hassle
124 traditionally associated with such control."
125
126 -- `The Rust Programming Language <https://doc.rust-lang.org/book/ch00-00-introduction.html>`_
127
128.. todo:: further explain the software stack
2501c57c 129
56b814e3
TL
130Getting Help
131------------
132
133Community Support Forum
134~~~~~~~~~~~~~~~~~~~~~~~
135
136We always encourage our users to discuss and share their knowledge using the
137`Proxmox Community Forum`_. The forum is moderated by the Proxmox support team.
138The large user base is spread out all over the world. Needless to say that such
139a large forum is a great place to get information.
140
141Mailing Lists
142~~~~~~~~~~~~~
143
144Proxmox Backup Server is fully open-source and contributions are welcome! Here
145is the primary communication channel for developers:
4cda7603 146
56b814e3
TL
147:Mailing list for developers: `PBS Development List`_
148
149Bug Tracker
150~~~~~~~~~~~
151
152Proxmox runs a public bug tracker at `<https://bugzilla.proxmox.com>`_. If an
153issue appears, file your report there. An issue can be a bug as well as a
154request for a new feature or enhancement. The bug tracker helps to keep track
155of the issue and will send a notification once it has been solved.
156
2501c57c
DM
157License
158-------
159
8a258095 160Copyright (C) 2019-2020 Proxmox Server Solutions GmbH
fdd471d5
DM
161
162This software is written by Proxmox Server Solutions GmbH <support@proxmox.com>
163
d2c7ef09
TL
164Proxmox Backup Server is free and open source software: you can use it,
165redistribute it, and/or modify it under the terms of the GNU Affero General
166Public License as published by the Free Software Foundation, either version 3
167of the License, or (at your option) any later version.
fdd471d5
DM
168
169This program is distributed in the hope that it will be useful, but
170``WITHOUT ANY WARRANTY``; without even the implied warranty of
171``MERCHANTABILITY`` or ``FITNESS FOR A PARTICULAR PURPOSE``. See the GNU
172Affero General Public License for more details.
173
174You should have received a copy of the GNU Affero General Public License
175along with this program. If not, see AGPL3_.
176
6253aa50 177
7e688b71
DM
178History
179-------
180
bd61cafc
DM
181.. todo:: Add development History of the product
182