This document explains the concepts of Backup Targets and Backup Target Types in Trilio, their purpose, and how they provide additional flexibility and control for backup storage management.
1. Backup Targets (BTs)
Definition:
Backup Targets are storage backends where backups are stored. These can be any of the supported storage systems such as NFS (Network File System) or S3 (Simple Storage Service). Backup Targets act as the foundational layer for storing backup data.
Key Characteristics of Backup Targets:
They are storage systems connected to Trilio.
Supported storage types include:
NFS: A shared file system accessible over a network.
S3: An object storage service typically offered by cloud providers.
Multiple Backup Targets can be defined within a single environment to provide storage flexibility.
How to configure Backup Target(s):
The Admin user will have to plan and make the desired Backup Targets available before deploying Trilio. Backup Targets need to be configured during the deployment of Trilio that will get mounted on the required hosts.
The below-mentioned entries need to be defined in the configuration file of the workloadmgrservices to enable the required Backup Targets, however, these parameters need not be populated manually. The deployment scripts will take care of it.
Define all the enabled backup target names separated by a comma under the DEFAULTsection of the config file and the config parameter enabled_backends
where, NFS_BT1, S3_BT1, S3_BT2, and S3_BT3 are unique names of the Backup Targets and will have their own config sections with the same names in the configuration file, as mentioned below.
Define each of the Backup Target sections using all required parameters. These required parameters are based on the type of storage.
In the case of AWS S3, only the bucket name should be provided.
immutable = 1
If the Object-Lockis enabled on the S3 Bucket, else this parameter can be set to 0
Apart from the above-mentioned storage-specific parameters, the user must mention which among these Backup Targets should be the default one by defining the below parameter under that storage section:
is_default = 1
Example:
# NFS Backup Target-1 as a default backup target[NFS_BT1]vault_storage_type=nfsvault_storage_filesystem_export=192.168.1.35:/mnt/trilio/share1vault_storage_nfs_options=nolock,soft,timeo=600,intr,lookupcache=none,retrans=10is_default=1# Ceph S3 Backup Target-2[S3_BT2]vault_storage_type=s3vault_s3_endpoint_url=https://cephs3.triliodata.demovault_s3_bucket=trilio-test-bucketvault_storage_filesystem_export=cephs3.triliodata.demo/trilio-test-bucketimmutable=0is_default=0# Ceph S3 Backup Target-3 with Object-lock enabled bucket[S3_BT3]vault_storage_type=s3vault_s3_endpoint_url=https://cephs3.triliodata.demovault_s3_bucket=object-locked-cephs3-bucketimmutable=1vault_storage_filesystem_export=cephs3.triliodata.demo/object-locked-cephs3-bucket# AWS S3 Backup Target-4 with Object-lock enabled bucket[S3_BT4]vault_storage_type=s3vault_s3_endpoint_url=vault_s3_bucket=object-locked-aws-s3-01immutable=1vault_storage_filesystem_export=object-locked-aws-s3-01
List & Show Configured BTs
Using Horizon Dashboard
Log in to the OpenStack Horizon Dashboard as an Admin user.
Navigate to the Admin-> Backups-Admin -> Backup Targets
On the page, click the Backup Targets tab to see the list of Backup Target Types.
Using CLI
List the available Backup Targets:
Command:
workloadmgr backup-target-list
Alias:
openstack backup target list
Options:
# workloadmgr help backup-target-listusage:workloadmgrbackup-target-list [-h] [-f {csv,json,table,value,yaml}] [-c COLUMN] [--quote {all,minimal,none,nonnumeric}] [--noindent] [--max-width <integer>] [--fit-width] [--print-empty] [--sort-column SORT_COLUMN] [--sort-ascending | --sort-descending]Listallthebackuptargets.options:-h,--helpshowthishelpmessageandexitoutputformatters:outputformatteroptions-f{csv,json,table,value,yaml},--format{csv,json,table,value,yaml}theoutputformat,defaultstotable-cCOLUMN,--columnCOLUMNspecifythecolumn(s) toinclude,canberepeatedtoshowmultiplecolumns--sort-columnSORT_COLUMNspecifythecolumn(s) tosortthedata (columnsspecifiedfirsthaveapriority,non-existingcolumnsareignored), can be repeated--sort-ascendingsortthecolumn(s) inascendingorder--sort-descendingsortthecolumn(s) indescendingorderCSVFormatter:--quote{all,minimal,none,nonnumeric}whentoincludequotes,defaultstononnumericjsonformatter:--noindentwhethertodisableindentingtheJSONtableformatter:--max-width<integer>Maximumdisplaywidth,<1todisable.YoucanalsousetheCLIFF_MAX_TERM_WIDTHenvironmentvariable,buttheparametertakesprecedence.--fit-widthFitthetabletothedisplaywidth.Impliedif--max-widthgreaterthan0.Settheenvironmentvariable CLIFF_FIT_WIDTH=1toalwaysenable--print-emptyPrintemptytableifthereisnodatatoshow.
Backup Target Types are an abstraction layer over Backup Targets. They provide additional administrative controls and can be categorized based on their scope and access permissions.
Types of Backup Target Types:
Public:
Accessible by all users and projects in the system.
Suitable for shared storage scenarios where multiple teams or tenants use the same backup infrastructure.
Private:
Restricted to specific projects.
Private Backup Target Types can be assigned to one or multiple projects, allowing project-specific control over backup storage.
Relationship Between Backup Targets and Backup Target Types:
A many-to-one relationship exists between Backup Target Types and Backup Targets.
Multiple Backup Target Types can map to a single Backup Target.
This allows administrators to define different policies or access levels for a shared storage backend.
Pre-created Backup Target Types
Trilio creates the BTTs of all the Backup Targets that are configured during deployment with the same name as the Backup Targets.
It inherits the provided configuration options for each Backup Target and creates the Public Backup Target Types by default.
List Available BTTs
Using Horizon Dashboard
Log in to the OpenStack Horizon Dashboard as an Admin user.
Navigate to the Admin-> Backups-Admin -> Backup Targets
On the page, click the Backup Target Types tab to see the list of Backup Target Types.
Modification of the Default Backup Target Type is not allowed.
Using Horizon Dashboard
Log in to the OpenStack Horizon Dashboard as an Admin user.
Navigate to the Admin-> Backups-Admin -> Backup Targets
On the page, click the Backup Target Types tab to see the list of Backup Target Types.
Once the required changes are done, click on the Edit button on the wizard to save the changes.
Using CLI
Command:
workloadmgr backup-target-type-modify
Alias:
openstack backup target type modify
Options:
# workloadmgr help backup-target-type-modifusage:workloadmgrbackup-target-type-modify [-h] [-f {json,shell,table,value,yaml [--print-empty] [--name <name>] [--de (--public |--project-ids <project-id [--backup-target-type-id <backup_targModify existing backup target typeoptions:-h, --help show this help message and exit --name <name> Optional BTT name. (Default=None) --default denotes whether BTT is default --description <description> Optional BTT description. (Default=None) --public denotes whether BTT is of public type --project-ids <project-ids> [<project-ids> ...] Required to assign BTT to projects --metadata <key=key-name> Specify a key value pairs to include in the BTT metadata S --backup-target-type-id <backup_target_type_id> ID of the backup target type for which given projects willoutput formatters: output formatter options-f {json,shell,table,value,yaml}, --format {json,shell,table,value,yaml} the output format, defaults to table-c COLUMN, --column COLUMN specify the column(s) to include, can be repeated to showjson formatter: --noindent whether to disable indenting the JSONshell formatter: a format a UNIX shell can parse (variable="value") --prefix PREFIX add a prefix to all variable namestable formatter: --max-width <integer> Maximum display width, <1 to disable. You can also use the --fit-width Fit the table to the display width. Implied if --max-width --print-empty Print empty table if there is no data to show.
Example:
Assign/Unassign Project(s) to/from a BTT
Project assignment is allowed only to the Private Backup Target Types.
Using Horizon Dashboard
Log in to the OpenStack Horizon Dashboard as an Admin user.
Navigate to the Admin-> Backups-Admin -> Backup Targets
On the page, click the Backup Target Types tab to see the list of Backup Target Types.
Select the Projects to be assigned, unselect the projects to be unassigned, and click on the Save button on the wizard to save the changes.
Removing Backup Target Types from an active Workload can lead to inconsistent behavior and potential backup operation failures.
Using Horizon Dashboard
Log in to the OpenStack Horizon Dashboard as an Admin user.
Navigate to the Admin-> Backups-Admin -> Backup Targets
On the page, click the Backup Target Types tab to see the list of Backup Target Types.
Using CLI
Command:
workloadmgr backup-target-type-delete
Alias:
openstack backup target type delete
Options:
# workloadmgr help backup-target-type-deleteusage:workloadmgrbackup-target-type-delete [-h] <backup_target_type_id>Deleteexistingbackuptargettypepositionalarguments:<backup_target_type_id>IDofthebackuptargettypetodelete.optionalarguments:-h,--helpshowthishelpmessageandexit
Example:
3. User Interaction with Backup Target Types
How Users Choose Backup Storage:
Any user can select a Public Backup Target Type for storing backups, as these are universally accessible.
For Private Backup Target Types, users can only select them if the Backup Target Type is explicitly assigned to their project.
The user will have the option to select these Backup Target Types while creating a workload.
Please note that once the workload is created with the chosen Backup Target Type, it can not be modified. The user has to recreate the workload if the Backup Target Type needs to be changed.
Click on the button to open the Backup Target Type Create wizard, and follow the instructions to create the BTT.
Click on the button under the Actions column of the BTT List table of the desired BTT to open the Edit Backup Target Type wizard.
Click the dropdown button under the Actions column of the BTT List table of the desired Private BTT and click on the button to open the Edit Backup Target Type Access wizard.
Click the dropdown button under the Actions column of the BTT List table of the desired Private BTT, click on the button, and confirm the deletion once prompted.
Deletion of multiple BTTs can be done by selecting the check boxes of the desired BTTs and then clicking the button at the top-right corner.