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 (NFS, 3rd party Arrays, and Swift API 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.

2.1. TrilioVault Design Architecture

Figure 1: TrilioVault Design Architecture.

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. TrilioVault 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.2. System Requirements

TrilioVault is available 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.3. 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.4. 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.5. Deploying TrilioVault

2.5.1. Installation Overview

To install TrilioVault, follow these steps.

  1. Pre-installation tasks (preparing OpenStack/KVM environment).
  2. Create Image, Create Flavor, and Create Security Group (Only when deploying TrilioVault as OpenStack instances).
  3. Launch TrilioVault Instance.
  4. Configuring TrilioVault.
  5. Install TrilioVault Nova Extension API on OpenStack Nova controller nodes.
  6. Install TrilioVault Nova Extension on all OpenStack compute nodes.
  7. Install TrilioVault Horizon dashboard plugin on Horizon server node.

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

2.5.2. TrilioVault Pre-Install Tasks

You can deploy TrilioVault in one of two ways:

  1. As one or more instances in OpenStack admin tenant. Though this is not recommended for production deployments and TrilioVault deployments in this configuration are not supported.
  2. As one or more VMs on one or more standalone KVM box(es)

2.5.2.1. Additional Considerations

2.5.2.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.2.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.2.1.3. Swift Manifest Segments Count

TrilioVault supports Swift as a backup target. Swift is an OpenStack object store. As with any object store, Swift has its default limitations on the maximum size of an object and the number of segments of an object. By default the object size is limited to 5GB and the number of object segments is set to 1000. TrilioVault employs SLOs (Static Large Objects) to create backup images in Swift storage. It uses a segment size of 32 MB, so with the segment size of 32 MB and with default max segments count, TrilioVault can only store maximum size of upto 32GB back up image. For practical purposes this limit is too small and hence Trilio Data recommends to increase the segments count to a larger number, perhaps 1000000 which will be suffice to create a backup image of 32TB. Another parameter that needs to be set is the manifest size which by defaut is set to 2 MB. It should be changed to 512MB. So a recommended slo section in /etc/swift/proxy-server.conf looks as follows:

[filter:slo]

use = egg:swift#slo
delete_concurrency = 5
max_get_time = 86400
min_segment_size = 1048576
max_manifest_size = 536870912
max_manifest_segments = 1000000
rate_limit_after_segment = 10
rate_limit_segments_per_sec = 0

2.5.3. Installing TrilioVault as one or more OpenStack Instances

Warning

This mode of deployment is only for testing/evaluating purposes and is not supported in production deployments.

Login to OpenStack using an Administrator login ID and Password, and follow these steps.

2.5.3.1. Create TrilioVault Glance Image

  1. On the Admin Menu click System and then click Images.
  2. Click Create Image.
  3. Create the image with Image name as Tvault2.6, Image source as image file, browse and select the QCOW2 file from the location where it is extracted. Select the file with format as QCOW2.
  4. Click Create Image.
  5. Verify that the image is created in Images under System in Admin menu.

2.5.3.2. Create Flavor

  1. From Admin Menu, navigate to System, click Flavors and then click Create Flavor.
  2. Create flavor with name as triliovault, VCPUs as 4, RAM(MB) as 24576 and disk(GB) as 40
  3. Verify that the flavor is created in Flavors under System in Admin menu.

2.5.3.3. Create Security Group

  1. From Project Menu, navigate to Compute, click Access & Security and then click Create Security Group.
  2. Create Security Group with name as tvault-secgrp.
  3. Verify that the Security Group is created in Access & Security under Proect menu.
  4. Click Manage Rules corresponding to the Security group created in step 10.
  5. Click Add Rule on Manage Security Group Rules.
  6. Create the following Rules as mentioned in the table below.
Table 3: Table to add Rules for Security Group.
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

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

Table 4: 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
  1. Verify that the above Rules are created on Manage Security Group Rules page.

2.5.3.4. Launch TrilioVault Instance

  1. To launch Instance, use the image created in step 3. From Project Menu, navigate to Compute, click Instances and then click Launch Instance.
  2. Launch Instance with Instance name as tvault-instance, Flavor as tvault created in step 7, Instance Count as 1, Instance Boot Source as Boot from image, Image Name as Tvault2.6 created in step 3.
  3. Verify the flavor details that are highlighted in Figure 2 are the same as was entered in step 7 under Create Flavor.
  4. Click Access & Security tab and “uncheck” the default checkbox.
  5. Select the checkbox corresponding to the Security Group tvault-secgrp created in step 10.
  6. Click Launch.
  7. Verify that the instance is created under Instances in Project menu with Active status.
_images/launch-instance.png

Figure 2: Launch Instance.

  1. Click the dropdown corresponding to the instance launched in step 17, and select Associate Floating IP.
  2. Verify that the Floating IP is displayed under column Floating IP against tvault-instance.

2.5.4. Installing TrilioVault as 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 2.6 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-2.6.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.5.5. Configuring TrilioVault

Once the instance is successfully launched, point your web browser to the TrilioVault appliance. For this, open a new Browser with the url http://<ipaddress-of-triliovault-controller> (Floating IP Address was created in step 23 or the Public IP address). A landing page for TrilioVault is displayed as shown in Figure 3. Follow the instructions as given on the page to proceed with configuration.

_images/triliovault-configuration1.png _images/triliovault-configuration2.png

Figure 3: TrilioVault Configuration.

  1. Right-click the hyperlink http://<ipaddress-of-tvault-node>/home under Configure TrilioVault Appliance to open the link in new browser. 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. Change Password screen is displayed as shown in Figure 5.
_images/triliovault-login1.png

Figure 5: TrilioVault Change password.

  1. Change the password and click Submit. TrilioVault home page is displayed as shown in Figure 6.
_images/triliovault-homepage.png

Figure 6: TrilioVault Home Page.

Click the Configure Appliance link. TrilioVault Appliance Configuration wizard screen is displayed as shown in following diagram.

_images/triliovault-hostname.png
Table 3: Configurator fields
Field Description
TrilioVault Controller IP Address Provide the public IP address of TrilioVault appliance.
Host Name Provide the new name for the TrilioVault appliance.
Name Server Provide the IP address of Name Server.
Domain Search Order Provide the name of the domain in which workload VMs should be searched.
_images/triliovault-os-credentials.png
Table 3: Configurator fields
Field Description
Keystone Admin URL Provide the Keystone Admin URL.
Keystone Public/Internal URL Provide the Keystone Public/Internal URL. Public URL is relevant for TrilioVault deployed as a tenant instance. When deploying TrilioVault as a standalone VM on a KVM box, the supply Internal URL of Keystone.
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.
_images/triliovault-trustee-role.png
Table 3: Configurator fields
Field Description
Trustee Role Select the role to create the trust. All backup users must have this role defined for the project/tenant to perform snapshots and restores.
_images/triliovault-ntp-servers.png
Table 3: Configurator fields
Field Description
NTP Section This section identifies the Network Time Protocol information to automatically synchronize the time zone and time of the appliance. NTP information is highly recommended for a multi-node TrilioVault deployment to keep the nodes clocks synchronized. If the clocks are not synchronized, additional TrilioVault nodes may be marked dead and snapshots operations won’t be scheduled on these nodes.
_images/triliovault-backend-storage.png
Field Name Description
Storage NFS Swift
List of NFS exports separated by commas. By default, NFS is soft mounted. It is recommended to mount NFS shares in soft mode If Swift is part of OpenStack deployment, choose Keystone option. No other information is needed. If Swift is deployed as a standalone service, choose TempAuth and provide authurl, user name and credentials

2.5.5.1. Swift

Swift can be deployed as a standalone service or part of OpenStack deployment. When Swift is deployed as part of OpenStack, Swift service registers its own service endpoints with Keystone and authorizes user tokens based on Keystone. When Swift is deployed as a standalone service, it uses TempAuth based authentication. TrilioVault supports both kinds of Swift deployments.

Keystone based Authentication

_images/triliovault-swift-keystone.png

TempAuth

_images/triliovault-swift-tempauth.png _images/triliovault-import.png
Table 3: Configurator fields
Field Description
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.

2.5.6. Change TrilioVault Appliance Password

To change TrilioVault password, click on “Reset Configurator Password”. If it is a multi-node deployment, you need to change TrilioVault password on all nodes.

_images/triliovault-changepassword.png

2.5.7. Change TrilioVault Service Account Password

Click on Update TrilioVault Service password link to change TrilioVault service password.

_images/triliovault-servicepassword.png

2.5.8. 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.9. 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 Swift backup target, execute script to install tvault-contego as shown in Figure 12.
./tvault-contego-install.sh  --install
_images/triliovault-contego-swift.png

Figure 12: Installation at compute node with Swift 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 Swift as backup media.
  6. Choose the Swift authentication based on the Swift deployment. If you are using tempauth based authentication for Swift, 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.10. 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.11. Configuring an Additional Node

Additional Node is an extension of the footprint of OpenStack (scalability and availability). However, there must be at least one controller node. Additional Node helps to process TrilioVault operations faster thereby distributing its load across nodes. It has same interface that of the controller node, apart from adding an extra compute engine. To configure Additional Node, follow these steps.

  1. Launch a new instance of TrilioVault appliance as described in Deploying TrilioVault.
  2. Launch TrilioVault with this new floating ip by login as Admin.
  3. Right-click the hyperlink http://<ipaddress-of-tvault-node>/home under Configure TrilioVault Appliance to open the link in new browser. The login screen of TrilioVault is displayed as shown in Figure 4.
  4. Click the Configuration link. TrilioVault Appliance Configuration screen is displayed as shown in Figure 13.
  5. Select the checkbox Additional Node.
  6. Please fill in rest of the details as you entered when configuring Controller Node as shown in Figure 7
_images/triliovault-additional-node.png

Figure 13: Configuring Additional TrilioVault Node.

  1. Continue the wizard and fill rest of the information as in controller node. After configuration is over, the following screen is displayed as shown in Figure 8.

2.5.12. 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

2.5.13. 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.14. 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 192.168.1.138:/home/ubuntu/nfsshare3
  1. Add additional NFS shares to TrilioVault nodes.
_images/triliovault-additional-nfs.png

Open the configuration page of each TrilioVault nodes, add additional NFS shares in the storage section and configure the node.

2.6. Getting Started

2.6.1. Launching TrilioVault

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

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. Troubleshooting

This section provides help for resolving the issue of connectivity through ‘Ping’ functionality between the TrilioVault appliance nodes and the OpenStack infrastructure such as OpenStack Controller and Compute Nodes. 1. To use this functionality, click Troubleshooting on the TrilioVault Home page. 2. Enter the Hostname / IP Address to troubleshoot and 3. Click Ping.

_images/troubleshooting-ping.png

Figure 16: Troubleshooting screen.

Figure 16 displays the problem when pinged to IP address 192.168.1.51. To get more help on Troubleshooting contact our Technical Support at support@triliodata.com.

2.6.7. 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.

  1. Click Reinitialize TrilioVault Database in the TrilioVault Home Page as shown in Figure 6.
  2. A message box is displayed as shown in Figure 17.
_images/troubleshooting-reinitialize.png

Figure 17: Message for Reinitializing.

  1. Click OK when asked to proceed with reinitialize.
_images/troubleshooting-reinitialize-success.png

Figure 18: Reinitialize successful.

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

2.6.8. 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 TrilioVault Logs on TrilioVault Home Page. 2. The following logs can be viewed in Notepad when clicked as shown in Figure 19.

  • workloadmgr-api.log
  • workloadmgr-scheduler.log
  • workloadmgr-workloads.log
  • tvault-config.log
_images/troubleshooting-logs.png

Figure 19: TrilioVault Logs screen.

2.6.9. Workloadmgr Services

Workloadmgr Services displays the information about the running services on TrilioVault appliance. To view the services’ status

  1. Click Workloadmgr Services on the TrilioVault Home Page.
  2. The screen as displayed below is shown in Figure 20.
_images/troubleshooting-services.png

Figure 20: Running TrilioVault Service screen.

The services as mentioned in the table below are part of TrilioVault’s application.

Table 6: Service Name and Description.

Service Name Description Status
tVault API Service This service runs on the TrilioVault controller node and is responsible for handling the API requests from CLI, REST or from the Horizon plugin. Running
tVault Scheduler Service This service runs on the TrilioVault controller node and is responsible for proper scheduling of workload snapshots. Running
tVault Workload Service This service runs on the TrilioVault controller node and is responsible for snapshot/restore of workloads. Running

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.