Backup solutions

How to integrate software to optimize backup and recovery

Introduction

This page describes solutions för running backups against The Vault object storage.

The goal is to create an efficient backup solution especially when you have many small files that you need to backup. This will reduce the number of objects stored and the number of requests needed against The Vault to a minimum.

Juicefs

This solution is a High-Performance, Cloud-Native, Distributed File System. In this case we will primarily use it to reduce the number of requests against The Vault. This is a good solution if you want to backup a large number of small files. Juicefs handles all metadata in a database so all requests during a sync are handled against the database instead of requests in The Vault.

Setup

Install the juicefs binary in a Linux instance.

curl -sSL https://d.juicefs.com/install | sh -

Install sqllite

apt-get install sqlite3

Setup the drive using The Vault and SQLite

juicefs format --storage minio --bucket https://vault.elastx.cloud/<bucket> --access-key <access> --secret-key <secret> "sqlite3://thevaultfs.db" thevaultfs

Mount drive

mkdir /thevaultfs
juicefs mount sqlite3://thevaultfs.db /thevaultfs -d

Now you can sync data using rclone or other tools and to compare content between the primary and The Vault through juicefs does not require any requests on The Vault.

Setup using Swift as storage

Setup the drive using swift s3 (ec2 credentials) and SQLite

juicefs format --storage swift --bucket https://<container>.swift.elastx.cloud --access-key <access> --secret-key <secret> sqlite3://swiftfs.db swiftfs

Mount drive

mkdir /swiftfs
juicefs mount sqlite3://swiftfs.db /swiftfs -d

Veeam

Install a Veeam backup server to take backups of object storage or other resources and store those backups in The Vault.

Create a Bucket in The Vualt with immutable support.

mc mb --with-lock thevault/<bucket-name>

Setup

This is an instruction on how to install the Veeam Software Appliance in Openstack IaaS. Download the VeeamSoftwareAppliance iso file from Veeam. Create an account if you don’t have one and start a trial if you want to test.

Create an openstack image from the iso file using the openstack cli.

openstack image create  --container-format bare --disk-format iso --property hw_firmware_type=uefi --file VeeamSoftwareAppliance_13.0.1.1071_20251217.iso VeeamSoftwareAppliance_13.0.1.1071_20251217-iso

Create a volume from the iso file and place the volume in the availability zone where you want to run the Veeam server.

openstack volume create --image VeeamSoftwareAppliance_13.0.1.1071_20251217-iso --availability-zone <az> --type v2-1k --size 15 veeam-iso

Create a boot volume, a data volume and then create an instance that attaches the boot volume, the data volume and the volume with the Veeam iso image. All must be located in the same availability zone. Both the boot and data volume needs to be at least 240 GB in size.

On the boot volume set the following property to make the instance use uefi.

openstack volume set --image-property hw_firmware_type=uefi <veeam-iso-volume-id>

Create the backup server instance.

openstack server create --flavor <flavor-id> --availability-zone <az> --volume <boot-volume-id> --block-device uuid=<data-volume-id>,source_type=volume,destination_type=volume --block-device uuid=<veeam-iso-volume-id>,source_type=volume,destination_type=volume,boot_index=1,device_type=cdrom,disk_bus=sata --nic net-id=<network-id> veeam-server

Follow the instructions and install the Veeam Server Appliance.