]> git.proxmox.com Git - pve-docs.git/blame - pve-storage-pbs.adoc
pbs storage: consistently talk about the storage key
[pve-docs.git] / pve-storage-pbs.adoc
CommitLineData
93e1d33e
TL
1[[storage_pbs]]
2Proxmox Backup Server
3---------------------
4ifdef::wiki[]
5:pve-toplevel:
6:title: Storage: Proxmox Backup Server
7endif::wiki[]
8
9Storage pool type: `pbs`
10
11This backend allows direct integration of a Proxmox Backup Server into {pve}
12like any other storage.
13A Proxmox Backup storage can be added directly through the {pve} API, CLI or
14the webinterface.
15
16Configuration
17~~~~~~~~~~~~~
18
19The backend supports all common storage properties, except the shared flag,
20which is always set. Additionally, the following special properties to Proxmox
21Backup Server are available:
22
23server::
24
25Server IP or DNS name. Required.
26
27username::
28
29The username for the Proxmox Backup Server storage. Required.
30
31TIP: Do not forget to add the realm to the username. For example, `root@pam` or
32`archiver@pbs`.
33
34password::
35
36The user password. The value will be saved in a file under
92192603
TL
37`/etc/pve/priv/storage/<STORAGE-ID>.pw` with access restricted to the root
38user. Required.
93e1d33e
TL
39
40datastore::
41
42The ID of the Proxmox Backup Server datastore to use. Required.
43
44fingerprint::
45
46The fingerprint of the Proxmox Backup Server API TLS certificate. You can get
47it in the Servers Dashboard or using the `proxmox-backup-manager cert info`
48command. Required for self-signed certificates or any other one where the host
49does not trusts the servers CA.
50
51encryption-key::
52
53A key to encrypt the backup data from the client side. Currently only
54non-password protected (no key derive function (kdf)) are supported. Will be
92192603
TL
55saved in a file under `/etc/pve/priv/storage/<STORAGE-ID>.enc` with access
56restricted to the root user. Use the magic value `autogen` to automatically
57generate a new one using `proxmox-backup-client key create --kdf none <path>`.
58Optional.
93e1d33e
TL
59
60.Configuration Example (`/etc/pve/storage.cfg`)
61----
62pbs: backup
63 datastore main
64 server enya.proxmox.com
65 content backup
66 fingerprint 09:54:ef:..snip..:88:af:47:fe:4c:3b:cf:8b:26:88:0b:4e:3c:b2
67 maxfiles 0
68 username archiver@pbs
69----
70
71Storage Features
72~~~~~~~~~~~~~~~~
73
74Proxmox Backup Server only supports backups, they can be block-level or
75file-level based. {pve} uses block-level for virtual machines and file-level for
76container.
77
78.Storage features for backend `cifs`
79[width="100%",cols="m,4*d",options="header"]
80|===============================================================
81|Content types |Image formats |Shared |Snapshots |Clones
82|backup |n/a |yes |n/a |n/a
83|===============================================================
84
1658c673
FE
85[[storage_pbs_encryption]]
86Encryption
87~~~~~~~~~~
88
55ebc079
TL
89[thumbnail="screenshot/storage-pbs-encryption-with-key.png"]
90
1658c673
FE
91Optionally, you can configure client-side encryption with AES-256 in GCM mode.
92Encryption can be configured either via the web interface, or on the CLI with
93the `encryption-key` option (see above). The key will be saved in the file
94`/etc/pve/priv/storage/<STORAGE-ID>.enc`, which is only accessible by the root
95user.
96
97WARNING: Without their key, backups will be inaccessible. Thus, you should
98keep keys ordered and in a place that is separate from the contents being
99backed up. It can happen, for example, that you back up an entire system, using
100a key on that system. If the system then becomes inaccessible for any reason
101and needs to be restored, this will not be possible as the encryption key will be
102lost along with the broken system.
103
f1edca2e 104It is recommended that you keep your key safe, but easily accessible, in
1658c673
FE
105order for quick disaster recovery. For this reason, the best place to store it
106is in your password manager, where it is immediately recoverable. As a backup to
107this, you should also save the key to a USB drive and store that in a secure
108place. This way, it is detached from any system, but is still easy to recover
109from, in case of emergency. Finally, in preparation for the worst case scenario,
f1edca2e
FE
110you should also consider keeping a paper copy of your key locked away in a safe
111place. The `paperkey` subcommand can be used to create a QR encoded version of
112your key. The following command sends the output of the `paperkey` command to
113a text file, for easy printing.
1658c673
FE
114
115----
f1edca2e 116# proxmox-backup-client key paperkey /etc/pve/priv/storage/<STORAGE-ID>.enc --output-format text > qrkey.txt
1658c673
FE
117----
118
119Because the encryption is managed on the client side, you can use the same
120datastore on the server for unencrypted backups and encrypted backups, even
121if they are encrypted with different keys. However, deduplication between
122backups with different keys is not possible, so it is often better to create
123separate datastores.
124
125NOTE: Do not use encryption if there is no benefit from it, for example, when
126you are running the server locally in a trusted network. It is always easier to
127recover from unencrypted backups.
128
2309c050
TL
129Example: Add Storage over CLI
130~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
93e1d33e
TL
131
132// TODO: FIXME: add once available
133//You can get a list of exported CIFS shares with:
134//
135//----
136//# pvesm scan pbs <server> [--username <username>] [--password]
137//----
138
139Then you could add this share as a storage to the whole {pve} cluster
140with:
141
142----
143# pvesm add pbs <id> --server <server> --datastore <datastore> --username <username> --fingerprint 00:B4:... --password
144----
145
146ifdef::wiki[]
147
148See Also
149~~~~~~~~
150
151* link:/wiki/Storage[Storage]
152
153endif::wiki[]