trilio data mover #39

Supports: xenial bionic focal groovy

Description

TrilioVault provides a backup and recovery solution that natively integrates with OpenStack Clouds. . This charm provides the TrilioVault Data Mover Service which forms part of the TrilioVault solution.


Overview

This charm provides the TrilioVault Data Mover Service which forms part of the TrilioVault Cloud Backup solution.

Usage

The TrilioVault Data Mover relies on a database service, nova-compute service and RabbitMQ messaging:

juju deploy trilio-data-mover --config user-config.yaml
juju deploy nova-compute
juju deploy rabbitmq-server
juju add-relation trilio-data-mover:amqp rabbitmq-server:amqp
juju add-relation trilio-data-mover:juju-info nova-compute:juju-info
juju add-relation trilio-data-mover:shared-db percona-cluster:shared-db

TrilioVault will also need to be deployed with other services in order to provide a fully functional TrilioVault backup solution. Refer to the TrilioVault Data Protection section in the deployment guide for more information.

Storage Options

TrilioVault supports NFS and S3 backends for storing workload backups. The storage type used by TrilioVault is determined by the value in the backup-target-type charm config option.

NFS

To configure the TrilioVault Data Mover to access backups in an NFS share, set the backup-target-type option of the charm to nfs and set the nfs-shares option of the charm to specify a valid NFS share.

juju config trilio-data-mover backup-target-type=nfs
juju config trilio-data-mover nfs-shares=10.40.3.20:/srv/triliovault

Mount settings for the NFS shares can be configured using the nfs-options config option.

The TrilioVault Workload Manager application will also need to be configured to use the same nfs-share.

S3

To configure the TrilioVault Data Mover to access store backups in an S3 share, set the backup-target-type option of the charm to s3 and set the following configuration options to provide information regarding the S3 service:

  • tv-s3-endpoint-url the URL of the s3 storage (can be omitted if using AWS)
  • tv-s3-secret-key the secret key for accessing the s3 storage
  • tv-s3-access-key the access key for accessing the s3 storage
  • tv-s3-region-name the region for accessing the s3 storage
  • tv-s3-bucket the s3 bucket to use to storage backups in
  • tv-s3-ssl-cert the SSL CA to use when connecting to the s3 service

    juju config trilio-data-mover tv-s3-endpoint-url=http://s3.example.com/ juju config trilio-data-mover tv-s3-secret-key=superSecretKey juju config trilio-data-mover tv-s3-access-key=secretAccessKey juju config trilio-data-mover tv-s3-region-name=RegionOne juju config trilio-data-mover tv-s3-bucket=backups

The configuration options need to be updated based on the S3 specific requirements and the parameters that are not needed can be omitted.

TrilioVault Packages

TrilioVault Packages are downloaded from the repository added in below config parameter. Please change this only if you wish to download TrilioVault Packages from a different source.

triliovault-pkg-source: Repository address of triliovault packages

Bugs

Please report bugs on Launchpad.


Configuration

backup-target-type
(string) backup target type - nfs or s3
nfs
cinder-http-retries
(int) This is the number of times datamover will try to connect to the cinder service. This option is ignored if Trilio is before 4.1.94
10
debug
(boolean) Enable debug logging
nfs-options
(string) NFS Options
nolock,soft,timeo=180,intr,lookupcache=none
nfs-shares
(string) NFS Shares mount source path
python-version
(int) THIS OPTION IS DEPRECATED AND HAS NO EFFECT
3
ssl_ca
(string) TLS CA to use to communicate with other components in a deployment. . __NOTE__: This configuration option will take precedence over any certificates received over the ``certificates`` relation.
ssl_cert
(string) TLS certificate to install and use for any listening services. . __NOTE__: This configuration option will take precedence over any certificates received over the ``certificates`` relation.
ssl_key
(string) TLS key to use with certificate specified as ``ssl_cert``. . __NOTE__: This configuration option will take precedence over any certificates received over the ``certificates`` relation.
triliovault-pkg-source
(string) Repository address of triliovault packages
deb [trusted=yes] https://apt.fury.io/triliodata-4-0/ /
tv-data-dir
(string) TrilioVault data mount point
/var/triliovault-mounts
tv-data-dir-old
(string) Old TrilioVault data dir
/var/triliovault
tv-datamover-max-commit-pending
(int) max_commit_pending parameter value in /etc/tvault-contego/tvault-contego.conf
3
tv-datamover-max-uploads-pending
(int) max_uploads_pending parameter value in /etc/tvault-contego/tvault-contego.conf
3
tv-datamover-qemu-agent-ping-timeout
(int) qemu_agent_ping_timeout parameter value in /etc/tvault-contego/tvault-contego.conf
600
tv-s3-access-key
(string) S3 access key
tv-s3-bucket
(string) S3 bucket name
tv-s3-endpoint-url
(string) S3 endpoint URL
tv-s3-region-name
(string) S3 region name
tv-s3-secret-key
(string) S3 secret access key
tv-s3-ssl-cert
(string) SSL CA to use when connecting to S3
use-internal-endpoints
(boolean) Openstack mostly defaults to using public endpoints for internal communication between services. If set to True this option will configure services to use internal endpoints where possible.
use-syslog
(boolean) Setting this to True will allow supporting services to log to syslog.
verbose
(boolean) Enable verbose logging