5.2 KiB
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.
Authorisation
The TrilioVault service account must be granted the authorisation to
access resources from across users and projects to perform backups. This
will involve providing it with the cloud's admin password (set up by the
keystone application). This is done with the trilio-wlm charm's
create-cloud-admin-trust
action:
juju run-action trilio-wlm/leader create-cloud-admin-trust password=cloudadminpassword
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.