Der Client ist verfügbar aktuell für
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
Aktuell gibt es noch keine offiziellen Client für Ubuntu. Dieser Funktioniert jedoch. Getestet unter 20.04
wget http://download.proxmox.com/debian/pve/dists/buster/pvetest/binary-amd64/proxmox-backup-client_1.0.8-1_amd64.deb apt update apt install ./proxmox-backup-client_1.0.8-1_amd64.deb
Auf andere Clients warte ich noch…
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%) │ └───────────────────────────────────┴───────────────────┘
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"
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
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
Es gibt verschiedene Möglichkeiten einen Restore zu machen.
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
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
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
Einen Restore über PVE (einer ganzen VM) macht man einfach wie üblich über das PVE GUI.
Dazu gibt es zwei Arten
Hier kann eine neue VMID vergeben werden damit wird die alte VM nicht überschrieben.
Wenn man gleich über die alte oder defekte VM restoren möchte muss man diese Weg gehen
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.
Ich habe das ganze aus der Sicht der Remote Seite durchgeführt. Primär = Aktive Backups / Remote = Sync
Configuration –> Remotes –> Add
Nach der Einrichtung ist die Serververbindung zwischen den beiden Backupservern nur in einem GUI sichtbar.
Datastore → Sync Jobs → Add
Nach einem erfolgreichen Sync sieht an schon die Daten unter “Content”.
Hat man “Remove vanished” nicht gesetzt bleiben die Daten auf ewig liegen. Daher muss man sich eine Prune & GC Policy überlegen.