Search…
TVO-4.2
Multi-IP NFS Backup target mapping file configuration

Introduction

Filename and location:
1
triliovault-cfg-scripts/common/triliovault_nfs_map_input.yml
Copied!
This file is used only when the user wants to configure 'multiple IP/endpoints based NFS share' as a backup target for TrilioVault. In all other cases like single IP NFS, S3 this file does not get used. Follow regular install doc.
If the user is using multiple-IP/endpoints based NFS share as a backup target for triliovault then triliovault mounts any one IP/endpoint on a given compute node for a given NFS share. Users can distribute NFS share IPs/endpoints across compute nodes.
'triliovault_nfs_map_input.yml' file is a tool that users can use to distribute/load balance NFS share endpoints across compute nodes in a given cloud.
Note: Two IPs/endpoints of same NFS share on single compute node is invalid scenario and not required because in backend it stores data at same place.

Examples

Using hostnames

Here, the User has ‘one’ NFS share exposed with three IP addresses. 192.168.1.34, 192.168.1.35, 192.168.1.33 Share directory path is: /var/share1
So, this NFS share supports the following full paths that clients can mount:
1
192.168.1.33:/var/share1
2
192.168.1.34:/var/share1
3
192.168.1.35:/var/share1
Copied!
There are 32 compute nodes in the OpenStack cloud. 30 node hostnames have the following naming pattern
1
prod-compute-1.trilio.demo
2
prod-compute-2.trilio.demo
3
prod-compute-3.trilio.demo
4
.
5
.
6
.
7
prod-compute-30.trilio.demo
Copied!
The remaining 2 node hostnames do not follow any format/pattern.
1
compute_bare.trilio.demo
2
compute_virtual
Copied!
Now the mapping file will look like this
1
multi_ip_nfs_shares:
2
- "192.168.1.34:/var/share1": ['prod-compute-[1:10].trilio.demo', 'compute_bare.trilio.demo']
3
"192.168.1.35:/var/share1": ['prod-compute-[11:20].trilio.demo', 'compute_virtual']
4
"192.168.1.33:/var/share1": ['prod-compute-[21:30].trilio.demo']
5
6
single_ip_nfs_shares: []
Copied!

Using IPs

Compute node IP range used here: 172.30.3.11-40 and 172.30.4.40, 172.30.4.50 Total of 32 compute nodes
1
multi_ip_nfs_shares:
2
- "192.168.1.34:/var/share1": ['172.30.3.[11:20]', '172.30.4.40']
3
"192.168.1.35:/var/share1": ['172.30.3.[21:30]', '172.30.4.50']
4
"192.168.1.33:/var/share1": ['172.30.3.[31:40]']
5
6
single_ip_nfs_shares: []
Copied!

Getting the correct compute hostnames/IPs

RHOSP or TripleO

Use the following command to get compute hostnames. Check the ‘Name' column. Use these exact hostnames in 'triliovault_nfs_map_input.yml' file.
In the following command output, ‘overcloudtrain1-novacompute-0' and ‘overcloudtrain1-novacompute-1' are correct hostnames.
Run this command on undercloud by sourcing 'stackrc'.
1
(undercloud) [[email protected] ~]$ openstack server list
2
+--------------------------------------+-------------------------------+--------+----------------------+----------------+---------+
3
| ID | Name | Status | Networks | Image | Flavor |
4
+--------------------------------------+-------------------------------+--------+----------------------+----------------+---------+
5
| 8c3d04ae-fcdd-431c-afa6-9a50f3cb2c0d | overcloudtrain1-controller-2 | ACTIVE | ctlplane=172.30.5.18 | overcloud-full | control |
6
| 103dfd3e-d073-4123-9223-b8cf8c7398fe | overcloudtrain1-controller-0 | ACTIVE | ctlplane=172.30.5.11 | overcloud-full | control |
7
| a3541849-2e9b-4aa0-9fa9-91e7d24f0149 | overcloudtrain1-controller-1 | ACTIVE | ctlplane=172.30.5.25 | overcloud-full | control |
8
| 74a9f530-0c7b-49c4-9a1f-87e7eeda91c0 | overcloudtrain1-novacompute-0 | ACTIVE | ctlplane=172.30.5.30 | overcloud-full | compute |
9
| c1664ac3-7d9c-4a36-b375-0e4ee19e93e4 | overcloudtrain1-novacompute-1 | ACTIVE | ctlplane=172.30.5.15 | overcloud-full | compute |
10
+--------------------------------------+-------------------------------+--------+----------------------+----------------+---------+
Copied!

Kolla-Ansible OpenStack

Compute hostnames/IPs should match in kolla-ansible inventory file and triliovault_nfs_map_input.yml.
If IP addresses are sued in kolla-ansible inventory file then the same IP addresses should be used in ‘triliovault_nfs_map_input.yml' file too. If the kolla-ansible deploy command looks like the following,
kolla-ansible -i multinode deploy
then, the inventory file is 'multinode'. Generally, it is available at “/root/multinode“.

OpenStack Ansible

Compute hostnames/IPs should match in the Openstack Ansible inventory file and triliovault_nfs_map_input.yml
If IP addresses have been used in the Openstack-ansible inventory file then you should use the same IP addresses in the ‘triliovault_nfs_map_input.yml' file too.
Generally inventory file available at /etc/openstack_deploy/openstack_user_config.yml
Openstack Ansible deploy command looks like following,
openstack-ansible os-tvault-install.yml
Openstack Ansible automatically picks up values that the user has set in the file openstack_user_config.yml