Server 2.5.25/Client 2.5.19 (updated)

New settings handling

The major change with server 2.5.x and client 2.5.x is a complete redesign how settings are handled. The goal is to make it more explicit and consistent.

  • Each setting has a button next to it which switches between inheriting the setting from the group, using the configuration value on the configuration page and using the value from the client, and for some setting merging client and server settings together
  • File backup paths are now a normal setting just like any other. No more separation between paths to backup configured on the client and default directories to backup

This is a critical area of UrBackup and as such needs a lot of testing. Also focus should be on if the 2.4.x client still more or less works with the 2.5.x server (and especially doesn’t loose its connection settings for Internet servers).

Connect via web sockets

With 2.5.x clients can connect via web sockets to the server. Setup should be easy. Instead of “Internet server name/IP” of e.g. “example.com” use “ws://example.com:55414/socket”. The real advantage comes into play if a real web server with SSL is setup in front. Either proxy the whole page, or serve the files and only proxy “/x” via FastCGI (see manual), additionally proxy “/socket” via web socket to “ws://127.0.0.1:55414/socket”. Then setup the clients to connect to “Internet server name” “wss://example.com/socket”. Basic authentication, a different name and a different port should also work, e.g. “wss://username:password@example.com/socket”.

On Debian install apache2, then:

a2enmod proxy
a2enmod proxy_wstunnel

then to your apache (SSL) site configuration add e.g.

Alias /urbackup /usr/share/urbackup/www
ProxyPass "/urbackup/x" "fcgi://localhost:55413"
ProxyPass "/urbackup/socket"  "ws://localhost:55414/socket"

Comeback of macOS client

A test version of the macOS client is here. Please add your feedback!

Linux image backups

2.5.x can backup Linux clients (via dattobd or Linux device mapper snapshots). The use case is e.g. backing up a DigitalOcean instance. It is explicitly not to create image backups of all possible configurations e.g. LVM, mdraid, btrfs, …
It can “live restore” a root volume, i.e., overwrite the root volume of a currently running machine. So one can image backup e.g. a DigitalOcean droplet. To restore create a new instance (tested with Debian 10/buster) then run the restore script which overwrites the current instance with the backed up instance using a trick to put the currently running system files into (compressed) memory.
Dattobd and the Linux device mapper supports Changed Block Tracking (CBT), so image (and file) backups are done with CBT.

The Linux device mapper snapshots scripts are currently only tested on Debian 10 and with the root volume. It needs to hook into the boot sequence (initramfs) to backup the root volume. For other volumes it probably needs to hook into udev. Help getting it running on other distributions/with non-root volumes would be welcome!

Linux image backup howto

Backup:

  • To only backup used space install partclone (e.g. apt install partclone). This is currently supported for ext* and xfs. If partclone is not present it’ll backup unused space.
  • Install the (binary) client and select either dattobd or the Linux device mapper for snapshotting
  • If you are using dattobd: Install dattobd https://github.com/datto/dattobd/blob/master/INSTALL.md

Restore:

  • On the server browse to the image backup to restore
  • Click on “Restore Linux image”
  • Copy & paste the command into a new instance and follow the instructions (the command has a timeout (token), so after a while it should not work anymore)

Testing (image backup + file backup with CBT)

To test if CBT works correctly with file backups please enable Debugging: Verify file backups using client side hashes (for Internet clients with client-side hashing) or Debugging: End-to-end verification of all file backups in the advanced settings.

To test image backups enable md5sums creation on the client via touch /usr/local/var/create_md5sums_imagebackup. The client will then create a file (with date+time in the name) at /usr/local/var/md5sums-* for each image backup listing all files in the image plus their md5sum. Copy that file to server, mount the image backup then verify the md5sums with cd /backup/client/image_mnt; md5sums --quiet -c /path/to/md5sums-file.txt. The only files with checksum errors should be the .datto-*/.overlay-* files in the root directory and swap files (those get automatically excluded from backup).


Thanks for any help with testing and feedback!

Upgrade process

As always: Replace the executables (via the installers) and the database of the server/client will be updated on first running it.

Downgrade process (server)

Stop the UrBackup server, restore C:\Program Files\UrBackupServer\urbackup or /var/urbackup from a backup before upgrade and then install the previous version over the beta release.


On testing

Please see Having problems with UrBackup? Please read before posting for what kind of information to add when reporting issues. Reports such as “X does not work” are useless. In general, at the very least, think about what kind of information one would need to reproduce the problem in a different environment. Best case you debug the problem yourself and then post the fix.


Changes with client 2.5.19

  • Fix saving backupdirs if there are server default dirs (tray icon UI + command line)
  • Properly initialize server_default value to fix added backup paths not saving via command line
  • Make added backuppath absolute if necessary when adding backup paths via command line

Changes with client 2.5.18

  • Mariadb password param fix
  • Fix dattobd snapshot script quoting
  • Properly free local encryption/compression
  • Don’t try to connect if there are no servers to connect to
  • Skip saving settings only used on client when replacing settings
  • Fix issue mapping groups to internal ids
  • Use proper default use value for settings

Changes with client 2.5.17

  • Fix unintialized error value on chunked file load
  • Ignore case when looking at websocket headers
  • Add uninstall of initramfs script to Linux client uninstall
  • Add switches for some settings to urbackupclientctl set-settings
  • Correctly set client settings if set via command line
  • Add MariaDB per detabase backup (by Alexander Zaitsev)
  • Add panic with proper error message when root device is snapshot on Linux boot
  • Use vcpkg for Windows dependencies

Changes with server 2.5.25

  • Fix missing newline after use value when settings are transferred
  • Fix command channel connection with local encryption (issue introduced with last release 2.5.24)

Changes with server 2.5.24

  • Add timestamp to server keyadd
  • Fix client download escaping issue
  • Don’t write EICAR file if it is configured to not show the error
  • Add reset all settings use switch
  • Fix VHDX bat entry calculation leading to corrupted VHDX files
  • Fix vhdx handling in remove unknown
  • Handle vhdx when mounting images
  • Re-authenticate with client if needed when local encryption is enabled
  • Fix alert.lua detection of the right interval
  • Start re-authentication from channel thread if necessary
  • Remove potentially confusing umlaut char in restore client
  • Fix VHDX mounting on Linux
  • Properly initialize mutex (was leading to crashes in multi-threaded VHD(X) compression)
  • Protect against corrupted file lists

Changes with server 2.5.23

  • Use vcpkg for Windows dependencies
  • Ignore case when looking at websocket headers
  • Fix getting archival prefix + index
  • Fix encoding issues on adding client
  • Show passive settings/correct name in settings tab
  • Fix vhdx entry key/value check
  • Fix vhdx backing file destruction
  • Fix vhdx handling of default number of compression threads
  • Fix connecting to list of servers
  • Use new settings switches when showing client config
  • Add new config options for only binding to localhost to defaults file
  • Add winbtrfs support
  • Fix vhdx restore

Downloads

3 Likes

Hello,

after i’ve updated the server i’ve noticed that on our servers the client was updated and all the backup paths configured are lost.

I’ve read here that you have reworked the settings but why all settings i’ve configured is lost? Can i recover them?

We leave in all our installations the backup path settings on clients. Now what i have to do to not lost settings in others installations?

Best regards

UPDATE:
Here is what the client show. I’ve tried to switch with the new icon but the list is always empty

Same issue here.
The paths are there, but they aren´t visible from GUI.
If you go with command line: urbackupclient_cmd list-backupdirs they appear

1 Like

Thanks. I will configure them in this manner waiting a fix

Another problem.

When i modify the backup interval separately isn’t working correctly. It saves one interval for all after reload the page and reenter in the client options.

Here are the examples before and after save and reload (Some time after same appear work but is not and some times reload directly with the wrong configuration)


Is it possible to have the rpm to be installed on centos7 for version 2.4.15? I can’t find it in the repo to do a roll back. I need to restore a version without this bugs cause the server is in production.

Thanks

1 Like

Hi:
after upgrade Urbackup server to 2.5.25 (from 2.4), i noticed that all Windows 7 clients were not working. I downgraded Windows 7 clients to 2.4.11 (and 2.4.10), after downgrade clients are conected to server but when i try to start a backup i get message “Starting backup failed” on any Windows 7, i checked the log files there is nothing there about this error.
Please help me, what should i do to get Windows 7 clients working with server 2.5.25?

It’s just my guess but if they changed the structure it is likely that there are incompatibilities between the 2.5 server and the 2.4 clients

i found that actually it was an authentication issue, the key from server is not valid anymore. So i deleted the client and made a new one, installed 2.4.10 client and made all the configuration manually: it conects to server, no authentication issues, now i’m trying to do 1 backup it’s stuck at indexing for an hour, we’ll see how it goes…

Faced the same. Also, you cannot set separate interval settings for new groups.

And after updating the container to the uroni/urbackup-server:latest_2208.0.0 version, the archiving settings for all clients were reset.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.