TrilioVault Data Protection¶
Overview¶
TrilioVault is a data protection solution that integrates with OpenStack. It allows end-users to backup and restore point-in-time snapshots of their own workloads (cloud instances). TrilioVault is implemented via the Trilio charms.
Note
TrilioVault is not part of the OpenStack project. It is a commercially supported propriety product.
Prerequisites¶
Ubuntu 18.04 LTS or 20.04 LTS
OpenStack Queens, Stein, Train or Ussuri
an NFS server for snapshot storage
a license (see the project’s homepage)
Deployment¶
The TrilioVault solution consists of three core services:
TrilioVault Workload Manager: the main API - used to manage snapshots (e.g. creation and restores). This is implemented with the trilio-wlm charm.
TrilioVault Data Mover: deployed alongside OpenStack Nova - responsible for managing the instance snapshot process at the cloud level. This is implemented with the trilio-data-mover charm.
TrilioVault Data Mover API: the API for managing the TrilioVault Data Mover services - used by the Workload Manager. This is implemented with the trilio-dm-api charm.
An OpenStack Dashboard plugin is also provided, allowing for snapshot management to take place via a Web UI. This is implemented with the trilio-horizon-plugin charm.
An overlay bundle is used to deploy to an existing OpenStack cloud. An example is provided below.
Note
Ensure that the value for openstack-origin
matches the currently
deployed OpenStack release.
The ceph-mon:client
relation is only needed if the cloud is already
configured to use Ceph-backed VM images (via either Cinder or Nova).
series: bionic
applications:
trilio-wlm:
charm: cs:~openstack-charmers/trilio-wlm
num_units: 1
options:
openstack-origin: cloud:bionic-train
triliovault-pkg-source: 'deb [trusted=yes] https://apt.fury.io/triliodata-4-1/ /'
trilio-data-mover:
charm: cs:~openstack-charmers/trilio-data-mover
options:
triliovault-pkg-source: 'deb [trusted=yes] https://apt.fury.io/triliodata-4-1/ /'
trilio-dm-api:
charm: cs:~openstack-charmers/trilio-dm-api
num_units: 1
options:
openstack-origin: cloud:bionic-train
triliovault-pkg-source: 'deb [trusted=yes] https://apt.fury.io/triliodata-4-1/ /'
trilio-horizon-plugin:
charm: cs:~openstack-charmers/trilio-horizon-plugin
options:
triliovault-pkg-source: 'deb [trusted=yes] https://apt.fury.io/triliodata-4-1/ /'
relations:
- - trilio-horizon-plugin:dashboard-plugin
- openstack-dashboard:dashboard-plugin
- - trilio-dm-api:identity-service
- keystone:identity-service
- - trilio-dm-api:shared-db
- percona-cluster:shared-db
- - trilio-dm-api:amqp
- rabbitmq-server:amqp
- - trilio-data-mover:amqp
- rabbitmq-server:amqp
- - trilio-data-mover:juju-info
- nova-compute:juju-info
- - trilio-wlm:shared-db
- percona-cluster:shared-db
- - trilio-wlm:amqp
- rabbitmq-server:amqp
- - trilio-wlm:identity-service
- keystone:identity-service
- - trilio-data-mover:ceph
- ceph-mon:client
- - trilio-data-mover:shared-db
- percona-cluster:shared-db
Note
The trilio-wlm and trilio-dm-api charms must be deployed with
openstack-origin
>= ‘cloud:bionic-train’ - even for Queens deployments.
These parts of the TrilioVault deployment are Python 3 only and have
dependency version requirements that are only supported from Train onwards.
NFS¶
Once the deployment completes the trilio-wlm and trilio-data-mover applications will be in a blocked state (see juju status). To rectify this, both applications must be configured with a valid NFS share (on the provided NFS server). For example:
juju config trilio-wlm nfs-shares=10.40.3.20:/srv/triliovault
juju config trilio-data-mover nfs-shares=10.40.3.20:/srv/triliovault
Both services must be configured with the same NFS share.
Licensing¶
The TrilioVault deployment must be licensed. This is done by uploading the
license file (attaching it as a charm resource) and running the trilio-wlm
charm’s create-license
action:
juju attach trilio-wlm license=mycorp_tv.lic
juju run-action trilio-wlm/leader create-license
The trilio-wlm and trilio-data-mover applications should now be in the ‘active’ state and ready for use.