2. TrilioVault Deployment Guide

The purpose of this document is to help user understand the installation of TrilioVault backup and recovery service. The other documents that are created as a part of TrilioVault product covers the information mentioned in the table below.

TrilioVault Document Map
Document Information Covered
Installation/Deployment Guide Step by Step Installation procedures for the TrilioVault backup & recovery system.
Administration & User Guide Detailed documentation for performing TrilioVault administrative tasks along with troubleshooting.
API Guide Detailed documentation about CLI and API.
Release Notes Late breaking information about the specific version of TrilioVault.

TrilioVault, by TrilioData, is a native OpenStack service that provides policy-based comprehensive backup and recovery for OpenStack workloads. The solution captures point-in-time workloads (Application, OS, Compute, Network, Configurations, Data and Metadata of an environment) as full or incremental snapshots. These snapshots can be held in a variety of storage environments including NFS AWS S3 compatible storage. With TrilioVault and its single click recovery, organizations can improve Recovery Time Objectives (RTO) and Recovery Point Objectives (RPO). With TrilioVault, IT departments are enabled to fully deploy OpenStack solutions and provide business assurance through enhanced data retention, protection and integrity.

With the use of TrilioVault’s VAST (Virtual Snapshot Technology), Enterprise IT and Cloud Service Providers can now deploy backup and disaster recovery as a service to prevent data loss or data corruption through point-in-time snapshots and seamless one-click recovery. TrilioVault takes point-in-time backup of the entire workload consisting of compute resources, network configurations and storage data as one unit. It also takes incremental backups that only captures the changes that were made since last backup. Incremental snapshots save time and storage space as the backup only includes changes since the last backup. The benefits of using VAST for backup and restore could be summarized as below:

  1. Efficient capture and storage of snapshots. Since our full backups only include data that is committed to storage volume and the incremental backups only include changed blocks of data since last backup, our backup processes are efficient and storages backup images efficiently on the backup media
  2. Faster and reliable recovery. When your applications become complex that snap multiple VMs and storage volumes, our efficient recovery process will bring your application from zero to operational with just click of button
  3. Easy migration of workloads between clouds. TrilioVault captures all the details of your application and hence our migration includes your entire application stack without leaving any thing for guess work.
  4. Through policy and automation lower the Total Cost of Ownership. Our tenant driven backup process and automation eliminates the need for dedicated backup administrators, there by improves your total cost of ownership.

2.1. System Requirements

TrilioVault is a software only solution that is shipped as a VM image in a file format called QCOW2. The TrilioVault solution can be deployed as one or more TrilioVault virtual machines created from the TrilioVault QCOW2 images. The number of TrilioVault virtual machines needed is determined by the size of your OpenStack deployment.

2.2. Hardware Requirements

Hardware requirements for TrilioVault virtual appliance are mentioned below.

TrilioVault Appliance QCOW2
Flavor of TrilioVault Appliance Storage: 40 GB
Memory: 24 GB
vCPUs: 4

2.3. Software Requirements

TrilioVault Appliance QCOW2
Supported OpenStack Releases Upstream Kilo, Liberty, Mitaka, Newton or Ocata
RED HAT OPENSTACK PLATFORM 7 (Kilo), 8 (Liberty), 9 (Mitaka), or 10 (Newton)
Mirantis MOS 7.0, 8.0, 9.0, 9.1
Mirantis MCP 1.0, 1.1
SUSE Cloud 6, 7
Linux Distributions Ubuntu 14.04.4 LTS, Ubuntu 16.04 LTS
CentOS/Red Hat 7
SUSE Cloud 7
virsh libvirt 2.0.0 and above
QEMU 2.0.0 and above
qemu-img 2.6.0 and above
CentOS Requires addition KVM packages:
centos-release-qemu-ev qemu-kvm-ev
Please refer to qemu not supporting live snapshots and make sure live snapshots functionality is enabled on compute nodes.

2.4. TrilioVault Deployment Architecture

2.4.1. Backup-as-a-Service

Figure 1a: Backup as a Service

TrilioVault is an add on service to OpenStack cloud infrastructure and provides backup and disaster recovery functions for tenant workloads. TrilioVault is very similar to other openstack services including nova, cinder, glance, etc and adheres to all tenets of OpenStack. It is a stateless service that scales with your cloud.

2.4.2. Main Components

Figure 1b: TrilioVault Design Architecture.

TrilioVault has four main software components:

  1. TrilioVault ships as a QCOW2 image. User can instantiate one or more VMs from the QCOW2 image on a standalone KVM boxes.
  2. TrilioVault API is a python module that is an extension to nova api service. This module is installed on all OpenStack controller nodes
  3. TrilioVault Datamover is a python module that is installed on every OpenStack compute nodes
  4. TrilioVault horizon plugin is installed as an add on to horizon servers. This module is installed on every server that runs horizon service.

2.4.3. Service Endpoints

Figure 1c: TrilioVault Service Endpoints

TrilioVault is both a provider and consumer into OpenStack ecosystem. It uses other OpenStack services such as nova, cinder, glance, neutron, and keystone and provides its own service to OpenStack tenants. To accomodate all possible OpenStack deployments, TrilioVault can be configured to use either public or internal URLs of services. Likewise TrilioVault provides its own public, internal and admin URLs.

2.4.4. Network Topology

Figure 1d: Typical Network Topology

Figure 1d represents a typical network topology. TrilioVault exposes its public URL endpoint on public network and TrilioVault virtual appliances and data movers typically use either internal network or dedicated backup network for storing and retrieving backup images from backup store.

2.5. Deploying TrilioVault

2.5.1. Installation Overview

To install TrilioVault, follow these steps.

  1. Launch one or more TrilioVault Instance on KVM boxes
  2. Configure TrilioVault
  3. Install TrilioVault Nova Extension API on OpenStack Nova controller nodes
  4. Install TrilioVault Nova Extension on all OpenStack compute nodes
  5. Install TrilioVault Horizon dashboard plugin on Horizon server node

The above steps are described in detail in the following sections.

2.5.1.1. Additional Considerations

2.5.1.1.1. NFS Share for Storing Backup Images

TrilioVault uses one or more NFS shares for storing backup images. All NFS shares are mapped to OpenStack compute nodes as well as TrilioVault VMs. Different processes in TrilioVault VMs and OpenStack compute nodes write to NFS share(s) and hence it is important that all these processes have read/write permissions to all NFS shares. Incidentally, these processes are all running under the nova user account. Though the user accounts are the same, user IDs of these accounts on each of these hots may different. NFS implements file permissions based on user ids and group ids and hence mapping all nova user IDs in different machines into one common user ID for each NFS share will make sure that backup images can be written to and read from by these processes. TrilioVault VMs define nova user ID as 162. Nova user IDs on compute nodes differ from OpenStack distribution to distribution. Please check the nova ID on each compute node and map all those IDs and the TrilioVault nova user IDs to a common user ID on the NFS server. Failure to do so will result in either TrilioVault installation failure or backup operation failures.

2.5.1.1.2. Tenant Quotas

TrilioVault uses Cinder snapshots for calculating full and incremental backups. For full backups, TrilioVault creates Cinder snapshots for all the volumes in the backup job. It then leaves these Cinder snapshots behind for calculating the incremental backup image during next backup. During an incremental backup operation it creates new Cinder snapshots, calculates the changed blocks between the new snapshots and the old snapshots that were left behind during full/previous backups. It then deletes the old snapshots but leaves the newly created snapshots behind. So, it is important that each tenant who is availing TrilioVault backup functionality has sufficient Cinder snapshot quotas to accommodate these additional snapshots. The guideline is to add 2 snapshots for every volume that is added to backups to volume snapshot quotas for that tenant. You may also increase the volume quotas for the tenant by the same amount because TrilioVault briefly creates a volume from snapshot to read data from the snapshot for backup purposes. During a restore process, TrilioVault creates additional instances and Cinder volumes. To accommodate restore operations, a tenant should have sufficient quota for Nova instances and Cinder volumes. Otherwise restore operations will result in failures.

2.5.1.1.3. AWS S3 eventual consistency

AWS S3 object consistency model includes:

  1. Read-after-write
  2. Read-after-update
  3. Read-after-delete

Each of them describes how an object will reach its consistent state after an object is created/updated or deleted. None of them provides strong consistency and there is a lag time for an object to reach the consistent state. Though TrilioVault employed mechanisms to work around the limitations of eventual consistency of AWS S3, when an object reach its consistency state is not deterministic. There is no official statement from AWS on how long it takes for an object to reach consistent state. However read-after-write has a shorter time to reach consistency compared to other IO patterns. Our solution is designed to maximize read-after-write IO pattern. The time in which an object reaches eventual consistency also depends on the AWS region. For example, aws-standard region does not have strong consistency model compared to us-east or us-west. We suggest to use these regions when creating s3 buckets for TrilioVault. Though read-after-update IO pattern is hard to avoid completely, we employed ample delays in accessing objects to accommodate larger durations for objects to get into consistent state. However in rare occasions, backups may still fail and need to restarted.

2.5.1.1.4. TrilioVault Cluster

TrilioVault can be deployed as a single node or a three node cluster. It is highly recommended that TrilioVault is deployed as three node cluster for fault tolerance and load balancing. Starting with 3.0 release, TrilioVault requires additional IP for cluster and is required for both single node and three node deployments. Cluster ip a.k.a virtual ip is used for managing cluster and is used to register TrilioVault service endpoint in the keystone sevice catalog.

Figure 1d: Typical TrilioVault Deployment Models

2.5.2. Installing TrilioVault as a VM on a KVM box

This is the recommended deployment model for production OpenStack. KVM or Kernel Based Virtual Machine is a free virtualization tool on which TrilioVault can be installed. To install TrilioVault on KVM, follow these steps.

  1. Download the image TrilioVault 3.0 qcow2 and place it on a KVM appliance.
  2. Make sure that the KVM server has following resources available:
RAM 24 GB
VCPUS 4
Root Disk 40 GB
  1. If you are installing TrilioVault appliance over a DHCP, use the following command to create the virtual appliance
virt-install -n TrilioVault  --memory 24576 --vcpus 4 --os-type linux --os-variant ubuntu16.04 \
   --disk /opt/tvault-appliance-os-3.0.qcow2,device=disk,bus=virtio,size=40 -w  \
    bridge=br0,model=virtio --graphics none –-import
  1. If you are using static IP address, please refer to TrilioVault Configuration Network Settings Password on how to assign static IP address, network settings and hostname to TrilioVault VM.
  2. Firewall rules

Basic rules for TrilioVault cluster

Table 3a: Table to add Rules for IP Tables
Rule Port Direction Remote CIDR
Custom TCP Rule 80 (http) Ingress 0.0.0.0/0
Custom TCP Rule 443 (https) Ingress 0.0.0.0/0
Custom TCP Rule 3001 (tvault horizon) Ingress 0.0.0.0/0
Custom TCP Rule 8081 Ingress 0.0.0.0/0
Custom TCP Rule 8780 (tvault internal) Both 0.0.0.0/0
Custom TCP Rule 4369 Ingress 0.0.0.0/0
Custom TCP Rule 5672 Both 0.0.0.0/0
Custom TCP Rule 35197 Ingress 0.0.0.0/0
Custom TCP Rule 3306 (mysql) Both 0.0.0.0/0
Custom TCP Rule 53 (DNS) Both 0.0.0.0/0
Custom TCP Rule 5000 (Keystone) Both 0.0.0.0/0
Custom TCP Rule 8774 (Compute) Egress 0.0.0.0/0
Custom TCP Rule 8776 (Cinder) Egress 0.0.0.0/0
Custom TCP Rule 9292 (Glance) Egress 0.0.0.0/0
Custom TCP Rule 9696 (Neutron) Egress 0.0.0.0/0
Custom TCP Rule 35357 (Keystone) Both 0.0.0.0/0
Custom TCP Rule 8085 (Apache) Both 0.0.0.0/0
Custom TCP Rule 8086 (Apache) Both 0.0.0.0/0

Additional rules to use NFS as snapshot storage: (You should choose ports as per your NFS server settings)

Table 3b: Table to add Rules for NFS backup target.
Rule Port Direction Remote CIDR
Custom UDP,TCP Rule 111(rpcbind/sunrpc) Both 0.0.0.0/0
Custom UDP,TCP Rule 875 (rquotad) Both 0.0.0.0/0
Custom UDP,TCP Rule 892 (mountd) Both 0.0.0.0/0
Custom UDP,TCP Rule 2049 (nfs daemon) Both 0.0.0.0/0
Custom UDP,TCP Rule 10053 (statd) Both 0.0.0.0/0
Custom UDP Rule 32803 (lockd) Both 0.0.0.0/0
Custom TCP Rule 32769 (lockd) Both 0.0.0.0/0

Additional rules to use S3 as backup storage:

Table 3c: Table to add Rules for S3 as backup storage.
Rule Port Direction Remote CIDR
Custom TCP Rule 80 (Apache) Egress 0.0.0.0/0

2.5.3. Configuring TrilioVault Cluster

TrilioVault configuration process is completely rearchitected using ansible scripts. Ansible, in the last few years, has grown in popularity as a preferred configuration management tool and TrilioVault uses ansible play books extensively to configure TrilioVault cluster. To troubleshoot TrilioVault configuration issues, user should have basic understanding of ansible playbook output.

Ansible modules are inherently idempotent and hence TrilioVault configuration can run any number of times to change or reconfigure TrilioVault cluster.

Once the VM is booted, point your browser (Chrome or Firefox) to TrilioVault node IP address.

  1. The login screen of TrilioVault is displayed as shown in Figure 4.
_images/triliovault-login.png

Figure 4: TrilioVault login.

  1. Login as admin/password. If this is the first time login, change the password as shown in Figure 5.
_images/triliovault-login1.png

Figure 5: TrilioVault Change password.

Unlike previous versios of TrilioVault, the current version only requires you to configure the cluster once and the TrilioVault dashboard provides cluster wide management capability. TrilioVault Appliance Configuration screen is displayed as shown in following diagram. The required inputs are categorized into various sections.

_images/triliovault-hostdetails.png

This section includes input that is required to configure TrilioVault cluster.

Table 3a: TrilioVault cluster details
Field Description
Controller Nodes This is the list of TrilioVault virtual appliance IP addresses along with their hostnames. This is a comma separated list in the format ‘<TVM1 IP>=<TVM1 Hostname>,’. For example, a three node TrilioVault cluster is specified as ‘172.20.4.151=tvault-104-1,172.20.4.152=tvault-104-2,172.20.4.153=tvault-104-3’. Current release supports either one node or three node deployments.
Virtual IP Address This is the TrilioVault cluster IP address which is mandatory even for single node TrilioVault deployments.
Name Server List of nameservers, primarily used to resolve OpenStack service endpoints.
Domain Search Order Provide the name of the domain in which OpenStack service endpoints should be searched.
NTP Section This section identifies the Network Time Protocol information to automatically synchronize the time zone and time of the TrilioVault cluster. NTP information is highly recommended for synchronizing TrilioVault nodes and OpenStack controller and compute nodes. You may run into unexpected results including TrilioVault nodes marked dead or snapshot operations failure with timeout errors if clocks on TrilioVault nodes and OpenStack nodes are not synchronized.
Timezone Timezone for TrilioVault appliance.
_images/triliovault-workloadmgr.png

This section includes OpenStack credentials

Table 3b: OpenStack credentials
Field Description
Keystone Admin URL Provide the Keystone Admin URL.
Keystone Public/Internal URL Provide the Keystone Public/Internal URL. If keystone internal URL is specified then TrilioVault is configured to use internal URL of OpenStack services.
Administrator Provide the name of Administrator or Cloud Admin of OpenStack setup.
Password Provide the password for the Administrator.
Admin Tenant Provide the name of Admin Tenant of OpenStack setup.
Region Provide the region where user wants to deploy this application.
Domain ID For Keystone v3 endpoint domain ID is mandatory. Domain ID for v2 endpoint in default Domain ID identifies the Domain ID of the cloud admin domain. Domain ID is different than Domain Name and usually Domain ID is UUID if it is not ‘default’
Trustee Role Select the role to create the trust. All backup users must have this role defined on the project/tenant to perform backups and restores.
_images/triliovault-backupstoragenfs.png _images/triliovault-backupstorages3.png

TrilioVault supports NFS and S3 compatible storage as backup target.

Field Name Description
Storage NFS AWS S3
List of NFS exports separated by commas. By default, NFS is soft mounted. It is recommended to mount NFS shares in soft mode TrilioVault can be configured S3 or Ceph S3 as backup target. It requires Access Key, Secret Key, Region, Bucket Name. Ceph S3 and other S3 compatible storages requires additional parameter ‘Endpoint URL’ that identifies the S3 storage.
Import Workloads If you are upgrading either from older versions of TrilioVault or reinstalling the appliance for maintenance reasons, please check this box during the configuration. TrilioVault is a stateless appliance and all the state is securely saved on the NFS store. So, during the upgrade process, the user will need to import all backup job records back from the NFS store to the appliance MySQL database. By checking this box, the configuration automatically imports all backup records.
_images/triliovault-certificate.png

TrilioVault supports TLS enabled workloads endpoint starting from 2.5. User can enter the private key and the certificate for service to validate client certificate. Please refer to pki tutorial for more information on how to generate service side and client side certificates.

Click Finish when asked to continue. After configuration is successfully complete, the following screen is displayed as shown in Figure 8.

_images/triliovault-progress.png

Figure 8: TrilioVault Configuration complete.

‘Click Here’ link takes user to the TVM dashboard as shown in the following Figure.

_images/triliovault-dashboard1.png

Figure 8a: TrilioVault Dashboard

Once the configuration is successfully completed, the “Configure” menu option in the left side displays the following screen.

_images/triliovault-configure.png

“Configuration Details” tab includes all the input values user entered during the last configuration. User can change the input and reconfigure the cluster from this screen. The “Ansible Output” tab includes the ansible output of the last successful run. A typical ansible output of last configuration run looks as follows. This is pure ansible playbook output and is helpful for user to investigate and troubleshoot any potential configuration issues.

_images/triliovault-ansiblerun.png

2.5.4. Change TrilioVault Appliance Password

To change TrilioVault password, click on “Reset Password”.

_images/triliovault-changepassword.png

2.5.5. Change TrilioVault Service Account Password

Click on Service Password link to change TrilioVault keystone service password.

_images/triliovault-servicepassword.png

2.5.6. Installing TrilioVault Nova API Extension on Controller Node

The next step in the installation process is to install the TrilioVault Nova API extension on each of the Nova API controller nodes. The purpose of the API extension is to route RESTful API calls to a TrilioVault Data Mover (which will be discussed next). To install the TrilioVault Nova Extension on each Nova controller node, follow these steps.

Note

The values in RED are user-entered values.

  1. Navigate to http://<ipaddress-of-triliovault-controller> screen.
  2. Copy download link of tvault-contego-install.sh from Download tvault-contego-install.sh in the TrilioVault home page Figure 6.
  3. Login to nova controller node as root and use wget command to download tvault-contego-install script as shown below:
wget https://<ipaddress-of-triliovault-controller>/tvault-contego-install.sh --no-check-certificate
  1. Assign executable permissions to script.
chmod +x tvault-contego-install.sh
  1. Execute the script to install the tvault-contego API. You are required to run this script as linux root.
./tvault-contego-install.sh –help
_images/triliovault-contego-help.png
./tvault-contego-install.sh --install

Figure 9: tvault-contego-install usage.

_images/triliovault-install-controller.png

Figure 10: Installation at Controller node.

  1. A script will prompt you to enter the TrilioVault appliance IP shown in Figure 10.
  2. Enter the IP Address and press Enter. The screen as displayed in Figure 10 is displayed.
  3. You will see a message for selecting the Option as Controller or Compute.
  4. We want to use Controller. Type the number 1 and press Enter.

The TrilioVault Nova API extension is a download from TrilioVault appliance and installed on the controller node. After installation, the Nova-API service is restarted to load the TrilioVault Nova API extension into Nova-API process so Nova-API now can handle Data Mover requests from the TrilioVault appliance.

2.5.7. Installing TrilioVault Data Mover on Computer Node

To install a TrilioVault Data Mover on Compute node, follow these steps.

  1. Navigate to http://<ipaddress-of-triliovault-controller> screen.
  2. Copy download link of tvault-contego-install.sh from Download tvault-contego-install.sh.
  3. Login into each compute node as root and at the command prompt of the compute node use wget command to download tvault-contego-install script as shown below.
wget https://<ipaddress-of-triliovault-controller>/tvault-contego-install.sh --no-check-certificate
  1. Assign executable permissions to script as shown in Figure 11.
chmod +x tvault-contego-install.sh
  1. For NFS backup target, execute script to install tvault-contego as shown in Figure 11.
./tvault-contego-install.sh  --install
_images/triliovault-contego-nfs.png _images/triliovault-contego-nfs.png

Figure 11: Installation at Compute node with NFS as backend.

  1. You will see a message for entering the TrilioVault appliance IP.
  2. Enter the TrilioVault IP Address and press Enter.
  3. Choose Compute by typing 2 when prompted for Controller/Compute.
  4. Choose the right OpenStack distribution. They can be either RHEL based distribution or Debian based distribution. Please ask your OpenStack distribution vendor for the underlying OpenStack distribution details.
  5. Enter the NFS shares paths as entered in of Figure 11.
  6. Please follow these steps to install the TrilioVault Data Mover on all compute nodes in your OpenStack cluster.

Note

If you are configuring NFS as backup media, you need to install nfs-common package on each compute node

  1. For S3 compatible backup target, execute script to install tvault-contego as shown in Figure 12.
./tvault-contego-install.sh  --install
_images/triliovault-contego-s3.png

Figure 12: Installation at compute node with s3 as backend.

  1. You will see a message for entering the TrilioVault appliance IP.
  2. Enter the TrilioVault IP Address and press Enter.
  3. Choose Compute by typing 2 when prompted for Controller/Compute.
  4. Choose the right OpenStack distribution. They can be either RHEL based distribution or Debian based distribution. Please ask your OpenStack distribution vendor for the underlying OpenStack distribution details.
  5. Choose s3 as backup media.
  6. Choose the s3 authentication based on the s3 deployment. If you are using tempauth based authentication for s3, you need to manually edit /etc/tvault-contego.conf file to add swift password.
  7. Please follow these steps to install TrilioVault data mover on all compute nodes in your OpenStack cluster.
  1. Start tvault-contego service using following command.
_images/triliovault-contego-start.png
./tvault-contego-install.sh  --start

2.5.8. Unattended installation of TrilioVault Data Mover

The TrilioVault Data Mover can be installed in an unattended way using a configuration file. A configuration file contains all the data that is required while the script is being executed.

Download scripts on compute and controller nodes.

  1. Navigate to http://<ipaddress-of-triliovault-controller> screen.
  2. Copy download link of tvault-contego-install.sh from Download tvault-contego-install.sh.
  3. Navigate to the command prompt of the controller node and use wget command to download tvault-contego-install script as shown below.
wget https://<ipaddress-of-triliovault-controller>/tvault-contego-install.sh --no-check-certificate
  1. Now copy link of “tvault-contego-install.answers” file from same web page and download it on your compute and controller nodes. You can also download it on one node and copy it to all compute and controller nodes.
  2. Assign executable permissions to script as shown in Figure 11.
chmod +x tvault-contego-install.sh

Install TrilioVault Data Mover on controller nodes 1. Edit tvault-contego-install.answers file as required for controller node 2. Execute script as shown below

./tvault-contego-install.sh –install –file <Answers file path>

Install TrilioVault Data Mover on compute nodes

  1. Edit tvault-contego-install.answers file as required for compute node.
  2. On the command prompt of the Compute node execute the command
./tvault-contego-install.sh –install –file <Answers file path>

2.5.9. Install TrilioVault Horizon Plugin

Follow these steps and install plugin on all Horizon nodes

  1. Navigate to http://<ipaddress-of-triliovault-controller> screen.
  2. Copy download link of tvault-horizon-plugin-install.sh from Download tvault-horizon-plugin-install.sh
  3. Navigate to the command prompt of the controller node and use wget command to download tvault-contego-install script as shown below.
wget https://<ipaddress-of-triliovault-controller>/tvault-horizon-plugin-install.sh --no-check-certificate
  1. Assign executable permissions to script as shown in Figure 11.
chmod +x tvault-horizon-plugin-install.sh
  1. Execute script to install TrilioVault Horizon plugin as shown in below figure.
./tvault-horizon-plugin-install.sh

Note

tvault-horizon-plugin-install script restarts apache server at the end of successful installation

2.5.10. Post Installation Checklist

To ensure that the TrilioVault is installed successfully. Verify “tvault-contego” service is running on all compute nodes.

service tvault-contego status

Run nova service-list with admin credentials and TrilioVault Data Mover (contego) should be listed in the service list as shown here.

_images/nova-service-list.png

Figure 14: nova service-list with TrilioVault data mover service

  1. Login to TrilioVault Dashboard.

2.5.11. Adding Additional NFS Shares

Once an appliance is configured, the amount of backup storage can be scaled by adding additional NFS shares to TrilioVault. The following are steps to add additional NFS shares in an ordering fashion.

  1. Add additional NFS shares to compute nodes using tvault-contego-install.sh
./tvault-contego-install.sh --add 172.20.4.101:/home/centos/nfsshare
  1. Add additional NFS shares to TrilioVault nodes.
_images/triliovault-additional-nfs.png

Go to TrilioVault Dashboard and click Configure. Choose “Reconfigure” button in “Configure Appliance” tab and enter additional NFS shares in the storage section and configure the cluster.

2.6. Getting Started

2.6.1. Applying License

After all the installation steps are successfully executed, login to your OpenStack Horizon Dashboard as admin. You should see a “Backups-Admin” tab under “Admin” in the OpenStack Horizon dashboard. This Backups tab represents TrilioVault administration portal in Horizon tenant dashboard.

_images/horizon-admin-panel.png

Click “Apply License” button and upload valid license. Once the license is successfully applied, the License panel reflects the license and your consumption against the license capacity.

_images/horizon-valid-license.png

2.6.2. Introduction to TrilioVault User Interface

Login to TrilioVault using the login id and password. The User Interface as displayed in Figure 15.

_images/horizon-plugin.png

Figure 15: TrilioVault Tenant User Interface.

The table below lists the various fields in the OpenStack dialog box.

Panels in the TrilioVault dialog box.
Fields Description
Top Panel Displays the OpenStack logo, the project the user is logged into and the user role.
Left Panel The Left Panel of the browser displays the various menus. The description of the menu and sub-menus are displayed in Figure 15.
Right Panel Displays the information about the menu selected in the Left Panel.

Please refer to the Administrators Guide for more information about:

  • Creating Workload
  • Creating Snapshot
  • Restoring Snapshot

2.6.3. Uninstalling TrilioVault

TrilioVault can be uninstalled in two ways. Choose the approach carefully, otherwise it may result in data loss.

2.6.3.1. Approach 1

You may want to decommission TrilioVault as a service for your OpenStack. In this approach, you may not have the need to keep backups that were created and you would like to do complete uninstall of the product.

  1. Delete all instances of TrilioVault.
  2. On nova controller node, uninstall tvault-contego-api module.
  3. On each nova compute node, uninstall tvault-contego data mover.
  4. Uninstall tvault-horizon-plugin from the horizon dashboard node
  5. Login as Admin to horizon dashboard and delete triliovault user.
  6. You can also clear all the contents from the NFS share that is configured as backup target for TrilioVault.

2.6.3.2. Approach 2

You may want to refresh the solution without losing any backup data. Perhaps a tech refresh is due and you would like replace the TrilioVault underlying hardware. In this scenario, you can shut down all instances of TrilioVault and delete them.

2.6.4. Upgrading TrilioVault

To upgrade the TrilioVault application to the new available version follow these steps.

  1. Delete all instances of TrilioVault appliances
  2. Deploy latest TrilioVault appliance as mentioned in Deploying TrilioVault
  3. While configuring TrilioVault controller, check “import workloads” checkbox, this will import all old workload records from backup repository to new appliance.
  4. Install latest data mover on compute and nova api extension on controller nodes as described in Installing TrilioVault Data Mover on Computer Node and Installing TrilioVault Nova API Extension on Controller Node.
  5. Install latest TrilioVault Horizon plugin on Horizon nodes as described in Install TrilioVault Horizon Plugin.

2.6.5. Importing Data

TrilioVault always considers the backup store as the most reliable storage destination, hence it saves all data and metadata on the backup store itself. The TrilioVault appliance is a stateless VM but it maintains its own internal MySQL database for keeping track of its backup records. As described, TrilioVault includes a checkbox to import all workloads metadata from the backup store. Usually this option is sufficient to address your upgrade use case. However, in a scenario where you would like to manually import workloads from a backup store, follow the steps listed below.

  1. Login to TrilioVault node as root user.
  2. Create OpenStack authentication file say admin-openrc.sh in following format.
export OS_PROJECT_DOMAIN_ID=default
export OS_USER_DOMAIN_ID=default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=password
export OS_AUTH_URL=http://controller:35357/v2.0/
export OS_IMAGE_API_VERSION=2
export OS_VOLUME_API_VERSION=2
  1. Set environment for TrilioVault CLI using above openrc file.
source admin-openrc.sh
  1. Use the following command to import all the workloads.
workloadmgr workload-importworkloads
  1. To get the list of workloads on the backup store.
workload-get-importworkloads-list

2.6.6. Reinitializing TrilioVault

Reinitialize will adjust the TrilioVault application to its initial state as if it was freshly installed. Reinitialize will not remove any workload snapshots including data and metadata from the backup media. However, the operation resets the internal MySQL database resulting in the loss of all workloads and snapshot records in the database. To get back to a fully functional solution again, you will need to reconfigure the appliance with the option to import workloads from backup media option.

Click Reinitialize as shown in Figure 6 and follow the instructions.

_images/troubleshooting-reinitialize.png

Workloads can be imported from the backup media as mentioned in the section entitled Importing Data on page 36 after re-initialization.

2.6.7. Logs

Logs provide details related to TrilioVault which can be used for troubleshooting. These logs can be shared with the TrilioVault team for help in case the user encounters any issues. To view Logs, follow these steps. 1. Click Logs on TrilioVault Home Page. 2. The following logs can be viewed in Notepad when clicked as shown in Figure 19.

_images/troubleshooting-logs.png

Figure 19: TrilioVault Logs screen.

From this page, user can download a specific log from a single TrilioVault node, to all logs from a TrilioVault node to all logs of the cluster.

2.7. Glossary

Term Description
Instance An instance is a virtual server in OpenStack for running applications/Operating system on the OpenStack infrastructure.
Workload Workload is collection of work defined in TrilioVault for data protection process.
Snapshot Snapshot in TrilioVault is backup of your Virtual machine which you can use during failure or data loss.
QCOW2 QCOW2 is the format of the TrilioVault image used for the deployment of TrilioVault.
TrilioVault Image It is a collection of files for a specific OS. TrilioVault Image is the image created with the help of the QCOW2 file provided to the user for deployment.
Flavor Flavor is the set of resources that are made available to the user for performing backup and restore.
Controller Node Controller node of your OpenStack.
Compute Node Compute node of your OpenStack.
TrilioVault IP TrilioVault IP is the IP created on the fly to launch an instance. This IP is associated with the project so that the user can work on the same instance each time it logs in.
tvault-contego tvault-contego is TrilioVault Nova Extension which should be installed on all OpenStack Controller and Compute node.
Tenant It is the user in OpenStack. We use admin tenant for configuring TrilioVault.