Notable changes:
-
Restores are now multi-threaded just like backups. This should speed things up quite a bit.
-
Multi-threaded removal of blocks was implemented. This should speed up
benji cleanup
with B2. Due to a simplification in the codebenji cleanup
for S3 based storages is probably slower than before. Try increasingsimultaneousRemovals
in your configuration if you're affected by this. If this doesn't help, please open an issue. -
The backup scripts got another major overhaul:
- It is now possible to hook into strategic points in the backup process with custom
bash
functions. - Prometheus metrics were reimplemented with these hooks and are now specific to the
benji-k8s
Docker image. - The foundations for freezing the filesystem before a Ceph snapshot were laid.
- The scripts in the
benji-k8s
Docker image now generate Kubernetes events about backup failure or success. These events are attached to the affected PersistentVolumeClain and can for example be viewed withkubectl describe pvc
. benji-backup-pvc
was renamed tobenji-pvc-backup
.- Support for the try/catch construct based on the
bash-oo-framework
was removed. It had limitations and was causing problems with certain IDEs.
- It is now possible to hook into strategic points in the backup process with custom
-
The default for simultaneous read and writes was increased from one to three to get better out-of-the-box performance. The default for the simultaneous removals was set to five.
-
Left over locks due to power outages are similar events can now be overridden. This applies to
benji rm
andbenji cleanup
. -
A typo was fixed in the
metadata-backup
command. It is now correctly spelledmetadata-backup
and notnetadata-backup
as before. User action might be required if you're using this command in your scripts. -
A bug was fixed where blocks where not properly cleaned up when multiple storages were in use.
-
The documentation was updated, but we're still not up-to-date at all fronts.