This is an old revision of the document!
Table of Contents
Proxmox Backup Server Client
Der Client ist verfügbar aktuell für
- Debian
- ???
- ???
Client Installation
Debian
Non Sub Client
echo "deb http://download.proxmox.com/debian/pbs buster pbs-no-subscription" >> /etc/apt/sources.list.d/pbs.list apt update apt install proxmox-backup-client
Sub Client
echo "deb http://download.proxmox.com/debian/pbs buster pbs-enterprise" >> /etc/apt/sources.list.d/pbs.list apt update apt install proxmox-backup-client
Auf andere Clients warte ich noch…
Client Benchmark
Um zu sehen wie schnell der Client auf dem System arbeiten kann, kann ein kleiner Benchmark durchgeführt werden.
root@debian01:~# proxmox-backup-client benchmark SHA256 speed: 121.24 MB/s Compression speed: 160.03 MB/s Decompress speed: 313.62 MB/s AES256/GCM speed: 63.00 MB/s Verify speed: 79.98 MB/s ┌───────────────────────────────────┬───────────────────┐ │ Name │ Value │ ╞═══════════════════════════════════╪═══════════════════╡ │ TLS (maximal backup upload speed) │ not tested │ ├───────────────────────────────────┼───────────────────┤ │ SHA256 checksum computation speed │ 121.24 MB/s (6%) │ ├───────────────────────────────────┼───────────────────┤ │ ZStd level 1 compression speed │ 160.03 MB/s (21%) │ ├───────────────────────────────────┼───────────────────┤ │ ZStd level 1 decompression speed │ 313.62 MB/s (26%) │ ├───────────────────────────────────┼───────────────────┤ │ Chunk verification speed │ 79.98 MB/s (11%) │ ├───────────────────────────────────┼───────────────────┤ │ AES256 GCM encryption speed │ 63.00 MB/s (2%) │ └───────────────────────────────────┴───────────────────┘
Environment Variablen
- PBS_REPOSITORY → Default Backup Repo
- PBS_PASSWORD → Passwort zum Backup Server
- PBS_ENCRYPTION_PASSWORD → Wenn Verschlüsselung verwendet wird muss hier das Secret eingetragen werden
- PBS_FINGERPRINT → Wird nur verwendet bei Cert Auth
Setzt man die ENV Vars muss man bei den einzelnen Befehlen für den Backup Client nicht immer alle Parameter mit geben.
Dies erleichtet einem das ganze schon sehr. Hier ein Bespiel für meine Testinstallation
export PBS_PASSWORD="asdf1234" export PBS_REPOSITORY="192.168.134.150:backup01"
Backup mit dem Client erstellen
proxmox-backup-client backup root.pxar:<Folder> --repository <servername>:<datastore> proxmox-backup-client backup root.pxar:/ --repository 192.168.134.150:backup01
Um ein Backup periodisch zu machen kann man hier einfach ein Script schreiben und dieses via cron einbinden
Backup Snashots anzeigen
Anzeigen der Backups die auf dem Server liegen
proxmox-backup-client snapshots --repository 192.168.134.150:backup01
Anzeigen der Files im Snapshot Zeigt alle Files von diesem Backup an. Achtung → lange Liste
proxmox-backup-client catalog dump --repository <servername>:<datastore> <snapshot> proxmox-backup-client catalog dump --repository 192.168.134.150:backup01 host/debian01/2020-10-30T09:40:18Z
Restore mit dem Client
Es gibt verschiedene Möglichkeiten einen Restore zu machen.
Restore eines Snapshots
Hier werden alle Daten in das angegeben Zielverzeichnis Restored
Restore von einem Archiv (alle Files die da drin sind) proxmox-backup-client restore --repository <backupserver>:<datastore> <backupset> root.pxar <restore path> proxmox-backup-client restore --repository 192.168.134.150:backup01 host/debian01/2020-10-30T09:40:18Z root.pxar /root/bla_restore.txt
Single File Restore
Dies ist mit dem Interaktiven Restore recht einfach
proxmox-backup-client catalog shell --repository <backupserver>:<datastore> <backupset> root.pxar
Hier ein Beispiel Restore von zwei Files
root@debian01:~# proxmox-backup-client catalog shell --repository 192.168.134.150:backup01 host/debian01/2020-11-19T10:25:34Z root.pxar Starting interactive shell pxar:/ > ls bin boot dev etc home initrd.img initrd.img.old lib lib32 lib64 libx32 lost+found media mnt opt proc root run sbin srv sys tmp usr var vmlinuz vmlinuz.old pxar:/ > select /root/bla.txt added path: "/root/bla.txt" pxar:/ > select /etc/hosts added path: "/etc/hosts" pxar:/ > list-selected /etc/hosts /root/bla.txt pxar:/ > restore-selected /home/restore/ pxar:/ > exit root@debian01:~# ls -la /home/restore/etc/hosts -rw-r--r-- 1 root root 188 Okt 30 10:18 /home/restore/etc/hosts root@debian01:~# cat /home/restore/root/bla.txt bla bla bla
Mounten eines Snapshots
Man kann via FUSE einen Snapshot mounten und direkt da drin arbeiten bzw. sich seine Files suchen
proxmox-backup-client mount --repository <backupserver:datastore> <backupset> root.pxar <mountpoint>
Hier ein Beispiel
root@debian01:~# proxmox-backup-client mount --repository 192.168.88.150:backup01 host/debian01/2020-11-19T10:25:34Z root.pxar /mnt/x FUSE library version: 3.4.1 root@debian01:~# cat /mnt/x/root/bla.txt bla bla bla root@debian01:~# ls -la /mnt/x/ insgesamt 4 drwxr-xr-x 2 root root 0 Okt 30 10:22 . drwxr-xr-x 3 root root 4096 Nov 19 11:46 .. lrwxrwxrwx 1 root root 0 Okt 30 10:18 bin -> usr/bin drwxr-xr-x 2 root root 0 Okt 30 10:24 boot drwxr-xr-x 2 root root 0 Okt 30 10:25 dev drwxr-xr-x 2 root root 0 Nov 19 10:23 etc drwxr-xr-x 2 root root 0 Okt 30 10:25 home lrwxrwxrwx 1 root root 0 Okt 30 10:22 initrd.img -> boot/initrd.img-4.19.0-12-amd64 lrwxrwxrwx 1 root root 0 Okt 30 10:19 initrd.img.old -> boot/initrd.img-4.19.0-11-amd64 lrwxrwxrwx 1 root root 0 Okt 30 10:18 lib -> usr/lib lrwxrwxrwx 1 root root 0 Okt 30 10:18 lib32 -> usr/lib32 lrwxrwxrwx 1 root root 0 Okt 30 10:18 lib64 -> usr/lib64 lrwxrwxrwx 1 root root 0 Okt 30 10:18 libx32 -> usr/libx32 drwx------ 2 root root 0 Okt 30 10:18 lost+found drwxr-xr-x 2 root root 0 Okt 30 10:18 media drwxr-xr-x 2 root root 0 Okt 30 10:18 mnt drwxr-xr-x 2 root root 0 Okt 30 10:18 opt dr-xr-xr-x 2 root root 0 Okt 30 10:25 proc drwx------ 2 root root 0 Nov 19 11:24 root drwxr-xr-x 2 root root 0 Nov 19 11:03 run lrwxrwxrwx 1 root root 0 Okt 30 10:18 sbin -> usr/sbin drwxr-xr-x 2 root root 0 Okt 30 10:18 srv dr-xr-xr-x 2 root root 0 Okt 30 10:25 sys drwxrwxrwt 2 root root 0 Nov 19 09:54 tmp drwxr-xr-x 2 root root 0 Okt 30 10:18 usr drwxr-xr-x 2 root root 0 Okt 30 10:18 var lrwxrwxrwx 1 root root 0 Okt 30 10:22 vmlinuz -> boot/vmlinuz-4.19.0-12-amd64 lrwxrwxrwx 1 root root 0 Okt 30 10:19 vmlinuz.old -> boot/vmlinuz-4.19.0-11-amd64
Restore über PVE
Einen Restore über PVE (einer ganzen VM) macht man einfach wie üblich über das PVE GUI.
Dazu gibt es zwei Arten
Restore der VM neben die alte
Hier kann eine neue VMID vergeben werden damit wird die alte VM nicht überschrieben.
- Auf den PBS Datastore gehen
- Content
- Backup auswählen
- Restore Button
- Storage: Wo der Restore abgelegt werden soll
- VMID: Hier kann eine neue VMID vergeben werden
- Read Limit: Restore Durchsatz
- Unique: Vergabe neuer Mac Adresse (wird normal nicht benötigt oder gewollt)
Restore der VM über die alte
Wenn man gleich über die alte oder defekte VM restoren möchte muss man diese Weg gehen
- VM auswählen
- Backup
- Storage: PBS Datastore auswählen
- Backup auswählen
- Restore Button
- Storage: Wo der Restore abgelegt werden soll
- VMID: Diese ist jetzt fix auswählt und zeigt auf die alte bzw. bestehende
- Read Limit: Restore Durchsatz
- Unique: Vergabe neuer Mac Adresse (wird normal nicht benötigt oder gewollt)
Remote Backup Server & Sync
Man kann an einem zweiten Standort einen zweiten Backup Server stehen haben haben die Daten auf den anderen Standort spielgen.
Dazu muss man die Server zuerst verbinden.
Remote Backup Server hinzufügen
Configuration –> Remotes –> Add
- Remote: Name des Servers im GUI
- Host: IP oder FQDN
- Auth ID: <user>@<domain> (vermutlich öfters root@pam)
- Password: PW vom User
- Fingerprint: SSH Fingerprint vom Server
Nach der Einrichtung ist die Serververbindung zwischen den beiden Backupservern nur in einem GUI sichtbar.
Sync Job
Jetzt kann ein Sync Job eingerichtet werden.
