]>
Commit | Line | Data |
---|---|---|
7e688b71 DM |
1 | Introduction |
2 | ============ | |
3 | ||
d2c7ef09 TL |
4 | What is Proxmox Backup Server |
5 | ----------------------------- | |
7e688b71 | 6 | |
d2c7ef09 TL |
7 | Proxmox Backup Server is an enterprise-class client-server backup software that |
8 | backups :term:`virtual machine`\ s, :term:`container`\ s, and physical hosts. | |
9 | It is specially optimized for the `Proxmox Virtual Environment`_ platform and | |
10 | allows you to backup your data securely, even between remote sites, providing | |
11 | easy management with a web-based user interface. | |
6a1cb691 | 12 | |
d2c7ef09 TL |
13 | Proxmox Backup Server supports deduplication, compression, and authenticated |
14 | encryption (AE_). Using :term:`Rust` as implementation language guarantees high | |
6a1cb691 DM |
15 | performance, low resource usage, and a safe, high quality code base. |
16 | ||
d2c7ef09 TL |
17 | It features strong encryption done on the client side. Thus, it's possible to |
18 | backup data to not fully trusted targets. | |
6a1cb691 | 19 | |
0c56b0e6 | 20 | |
d2a8d597 DM |
21 | Architecture |
22 | ------------ | |
23 | ||
d2c7ef09 TL |
24 | Proxmox Backup Server uses a `client-server model`_. The server stores the |
25 | backup data and provides an API to create backups and restore data. With the | |
26 | API it's also possible to manage disks and other server side resources. | |
d2a8d597 | 27 | |
d2c7ef09 TL |
28 | The backup client uses this API to access the backed up data. With the command |
29 | line tool ``proxmox-backup-client`` you can create backups and restore data. | |
30 | For QEMU_ with `Proxmox Virtual Environment`_ we deliver an integrated client. | |
d2a8d597 | 31 | |
d2c7ef09 TL |
32 | A single backup is allowed to contain several archives. For example, when you |
33 | backup a :term:`virtual machine`, each disk is stored as a separate archive | |
34 | inside that backup. The VM configuration itself is stored as an extra file. | |
35 | This way, it is easy to access and restore only important parts of the backup | |
36 | without the need to scan the whole backup. | |
7ee2198e | 37 | |
0c56b0e6 | 38 | |
4f3db187 | 39 | Main 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 TL |
46 | :Performance: The whole software stack is written in :term:`Rust`, |
47 | to provide high speed and memory efficiency. | |
3147e56a | 48 | |
d2c7ef09 TL |
49 | :Deduplication: Periodic backups produce large amounts of duplicate |
50 | data. The deduplication layer avoids redundancy and minimizes the used | |
51 | storage space. | |
52 | ||
53 | :Incremental backups: Changes between backups are typically low. Reading and | |
54 | sending only the delta reduces storage and network impact of backups. | |
3147e56a | 55 | |
0c136efe | 56 | :Data Integrity: The built-in `SHA-256`_ checksum algorithm assures the |
22b20d04 | 57 | accuracy and consistency of 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 | |
d2c7ef09 | 62 | :Compression: The ultra fast Zstandard_ compression is able to compress |
efd3e76b | 63 | several gigabytes of data per second. |
3147e56a | 64 | |
d2c7ef09 | 65 | :Encryption: Backups can be encrypted on the client-side using AES-256 in |
0c136efe TL |
66 | Galois/Counter Mode (GCM_) mode. This authenticated encryption (AE_) mde |
67 | provides very high performance on modern hardware. | |
2501c57c | 68 | |
0c136efe TL |
69 | :Web interface: Manage the Proxmox Backup Server with the integrated web-based |
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 |
79 | Reasons for Data Backup? |
80 | ------------------------ | |
6253aa50 | 81 | |
d2c7ef09 TL |
82 | The main purpose of a backup is to protect against data loss. Data loss can be |
83 | caused by faulty hardware but also by human error. | |
6253aa50 | 84 | |
d2c7ef09 TL |
85 | A common mistake is to accidentally delete a file or folder which is still |
86 | required. Virtualization can even amplify this problem; it easily happens that | |
87 | a whole virtual machine is deleted by just pressing a single button. | |
6253aa50 | 88 | |
d2c7ef09 TL |
89 | For administrators, backups can serve as a useful toolkit for temporarily |
90 | storing data. For example, it is common practice to perform full backups before | |
91 | installing major software updates. If something goes wrong, you can easily | |
92 | restore the previous state. | |
6253aa50 | 93 | |
d2c7ef09 TL |
94 | Another reason for backups are legal requirements. Some data, especially |
95 | business records, must be kept in a safe place for several years by law, so | |
96 | that they can be accessed if required. | |
6253aa50 | 97 | |
d2c7ef09 TL |
98 | In general, data loss is very costly as it can severely damage your business. |
99 | Therefore, ensure that you perform regular backups and run restore tests. | |
6253aa50 DM |
100 | |
101 | ||
2501c57c DM |
102 | Software Stack |
103 | -------------- | |
104 | ||
7ba2c1c3 TL |
105 | Proxmox Backup Server consists of multiple components: |
106 | ||
107 | * server-daemon providing, among others, a RESTfull API, super-fast | |
108 | asynchronous tasks, lightweight usage statistic collection, scheduling | |
109 | events, strict separation of privileged and unprivileged execution | |
110 | environments, ... | |
111 | * JavaScript management webinterface | |
112 | * management CLI tool for the server (`proxmox-backup-manager`) | |
113 | * client CLI tool (`proxmox-backup-client`) to access the server easily from | |
114 | any `Linux amd64` environment. | |
115 | ||
116 | Everything besides the web interface are written in the Rust programming | |
117 | language. | |
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 |
130 | Getting Help |
131 | ------------ | |
132 | ||
133 | Community Support Forum | |
134 | ~~~~~~~~~~~~~~~~~~~~~~~ | |
135 | ||
136 | We 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. | |
138 | The large user base is spread out all over the world. Needless to say that such | |
139 | a large forum is a great place to get information. | |
140 | ||
141 | Mailing Lists | |
142 | ~~~~~~~~~~~~~ | |
143 | ||
144 | Proxmox Backup Server is fully open-source and contributions are welcome! Here | |
145 | is the primary communication channel for developers: | |
146 | :Mailing list for developers: `PBS Development List`_ | |
147 | ||
148 | Bug Tracker | |
149 | ~~~~~~~~~~~ | |
150 | ||
151 | Proxmox runs a public bug tracker at `<https://bugzilla.proxmox.com>`_. If an | |
152 | issue appears, file your report there. An issue can be a bug as well as a | |
153 | request for a new feature or enhancement. The bug tracker helps to keep track | |
154 | of the issue and will send a notification once it has been solved. | |
155 | ||
2501c57c DM |
156 | License |
157 | ------- | |
158 | ||
8a258095 | 159 | Copyright (C) 2019-2020 Proxmox Server Solutions GmbH |
fdd471d5 DM |
160 | |
161 | This software is written by Proxmox Server Solutions GmbH <support@proxmox.com> | |
162 | ||
d2c7ef09 TL |
163 | Proxmox Backup Server is free and open source software: you can use it, |
164 | redistribute it, and/or modify it under the terms of the GNU Affero General | |
165 | Public License as published by the Free Software Foundation, either version 3 | |
166 | of the License, or (at your option) any later version. | |
fdd471d5 DM |
167 | |
168 | This program is distributed in the hope that it will be useful, but | |
169 | ``WITHOUT ANY WARRANTY``; without even the implied warranty of | |
170 | ``MERCHANTABILITY`` or ``FITNESS FOR A PARTICULAR PURPOSE``. See the GNU | |
171 | Affero General Public License for more details. | |
172 | ||
173 | You should have received a copy of the GNU Affero General Public License | |
174 | along with this program. If not, see AGPL3_. | |
175 | ||
6253aa50 | 176 | |
7e688b71 DM |
177 | History |
178 | ------- | |
179 | ||
bd61cafc DM |
180 | .. todo:: Add development History of the product |
181 |