Backup solutions
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.