NetBackup105_AdminGuide_OpenStack
NetBackup105_AdminGuide_OpenStack
Administrator's Guide
Release 10.5
NetBackup™ for OpenStack Administrator's Guide
Last updated: 2024-09-20
Legal Notice
Copyright © 2024 Veritas Technologies LLC. All rights reserved.
Veritas, the Veritas Logo, Veritas Alta, and NetBackup for OpenStack are trademarks or
registered trademarks of Veritas Technologies LLC or its affiliates in the U.S. and other
countries. Other names may be trademarks of their respective owners.
This product may contain third-party software for which Veritas is required to provide attribution
to the third party (“Third-party Programs”). Some of the Third-party Programs are available
under open source or free software licenses. The License Agreement accompanying the
Software does not alter any rights or obligations you may have under those open source or
free software licenses. Refer to the Third-party Legal Notices document accompanying this
Veritas product or available at:
https://www.veritas.com/about/legal/license-agreements
The product described in this document is distributed under licenses restricting its use, copying,
distribution, and decompilation/reverse engineering. No part of this document may be
reproduced in any form by any means without prior written authorization of Veritas Technologies
LLC and its licensors, if any.
The Licensed Software and Documentation are deemed to be commercial computer software
as defined in FAR 12.212 and subject to restricted rights as defined in FAR Section 52.227-19
"Commercial Computer Software - Restricted Rights" and DFARS 227.7202, et seq.
"Commercial Computer Software and Commercial Computer Software Documentation," as
applicable, and any successor regulations, whether delivered by Veritas as on premises or
hosted services. Any use, modification, reproduction release, performance, display or disclosure
of the Licensed Software and Documentation by the U.S. Government shall be solely in
accordance with the terms of this Agreement.
http://www.veritas.com
Technical Support
Technical Support maintains support centers globally. All support services will be delivered
in accordance with your support agreement and the then-current enterprise technical support
policies. For information about our support offerings and how to contact Technical Support,
visit our website:
https://www.veritas.com/support
You can manage your Veritas account information at the following URL:
https://my.veritas.com
If you have questions regarding an existing support agreement, please email the support
agreement administration team for your region as follows:
Japan [email protected]
Documentation
Make sure that you have the current version of the documentation. Each document displays
the date of the last update on page 2. The latest documentation is available on the Veritas
website:
https://sort.veritas.com/documents
Documentation feedback
Your feedback is important to us. Suggest improvements or report errors or omissions to the
documentation. Include the document title, document version, chapter title, and section title
of the text on which you are reporting. Send feedback to:
You can also see documentation information or ask a question on the Veritas community site:
http://www.veritas.com/community/
https://sort.veritas.com/data/support/SORT_Data_Sheet.pdf
Contents
■ Efficient capture and storage of snapshots. Since our full backups only include
the data that is committed to storage volume and the incremental backups only
include changed blocks of data since the last backup, our backup processes
are efficient and stores backup images efficiently on the backup media.
■ Faster and reliable recovery. When your applications become complex that snap
multiple virtual machines and storage volumes, our efficient recovery process
brings your application from zero to operational with the click of a button.
■ Through policy and automation lower the total cost of ownership. Our
tenant-driven backup process and automation eliminates the need for dedicated
backup administrators, and improves your total cost of ownership.
Backup as a Service
Figure 1-1 Data protection project providing Backup as a Service
Your Applications
APIs
OpenStack Dashboard
NetBackup™
for OpenStack
Keystone Nova Neutron Glance Cinder
Introduction 11
NetBackup for OpenStack Architecture
Main Components
Figure 1-2 NetBackup for OpenStack architecture overview
NetBackup for CONTROLLER 1 CONTROLLER 2 CONTROLLER 3
OpenStack
VM VM VM VM VM VM VM VM VM VM VM VM
Service Endpoints
Figure 1-3 Service endpoints overview
NetBackup
RabbitMQ Neutron internal URL
Neutron API Compute Node 2
NBOS VM
(Additional Node 2)
Nova internal URL OpenStack Rabbit MQ
Nova API Compute Node n
NFS Traffic
(Internal Network)
ex: 10.0.0.0/24
Universal Share
NetBackup for OpenStack is both a provider and consumer into the OpenStack
ecosystem. It uses other OpenStack services such as nova, cinder, glance, neutron,
and keystone and provides its own service to OpenStack tenants. To accommodate
all possible OpenStack deployments, NetBackup for OpenStack can be configured
to use either public URLs or internal URLs of services. Likewise NetBackup for
OpenStack provides its own public, internal, and admin URLs.
Introduction 13
NetBackup for OpenStack Architecture
Network topology
Figure 1-4 Example network topology
eth1 eth1
CEPH-1 CEPH-2
eth1 eth1 eth1
CINDER STORAGE
Public Network
OpenStack Tenant Network
OpenStack Internal Network
This figure represents a typical network topology. NetBackup for OpenStack exposes
its public URL endpoint on the public network and NetBackup for OpenStack virtual
appliances. The datamovers typically use either the internal network or a dedicated
backup network for storing and retrieving backup images from the backup store.
Introduction 14
NetBackup for OpenStack Architecture
8000 heat
{public} 8784
ssh (22) NBOSVM 2 nbosdmapi
MQ (5672/amqp)
pcsd (2224/efi-mg)
443
erlang RMQ (25672/4369/epmd) horizon
nbosjmapi load-balancer- nginx (8780) {public}
https (443) nbosjmapi - WSGI server (8781) nginx (8780) {public}
mysql/mysqld (3306/4567) 8774
https (443)
NBOSVM 1 nova
nfs (940)
Client {public}
portmapper (111) 8004
(Web browser) nfs (2049) heat
rpc (111)
mountd (20048) NBOSVM 3
{public} 8778 placement
■ Requirements
Requirements
NetBackup for OpenStack has four main software components:
Deploying NetBackup for OpenStack 16
Requirements
1. NetBackup for OpenStack ships as a QCOW2 image. You can instantiate one
or more virtual machines from the QCOW2 image on standalone KVM boxes.
2. NetBackup for OpenStack Datamover API is a python module that is an
extension to Nova API service. This module is installed on all OpenStack
controller nodes.
3. NetBackup for OpenStack datamover is a python module that is installed on
every OpenStack compute node.
4. NetBackup for OpenStack horizon plug-in is installed as an add-on to horizon
servers. This module is installed on every server that runs horizon service.
See “System requirements for NetBackup for OpenStack virtual machine”
on page 16.
See “Software Requirements ” on page 16.
Note: The NetBackup for OpenStack virtual machine is not supported as an instance
inside NetBackup for OpenStack.
The recommended size of the virtual machine for the NetBackup for OpenStack
appliance is:
Resource Value
vCPU 8
RAM 24 GB
The QCOW2 image itself defines the 40GB disk size of the virtual machine.
If the NetBackup for OpenStack virtual machine database or log files get larger
than 40GB disk, contact or open a ticket with Veritas customer support to attach
another drive to the NetBackup for OpenStack virtual machine.
Software Requirements
NetBackup for OpenStack is tested and verified.
Deploying NetBackup for OpenStack 17
NetBackup for OpenStack network considerations
Software Version
from the Cinder or Nova storage and transferring this data as QCOW2 image to
the backup target. Each datamover service is hereby responsible for the virtual
machines running on its compute node.
The network requirements are therefore:
■ The NetBackup for OpenStack appliance needs access to the backup target.
■ Every compute node needs access to the backup target.
Public
Firewall
internal
admin
backup
Public
Firewall
internal
admin
backup
You can combine networks as necessary. As long as the required network access
is available NetBackup for OpenStack works.
Public 1
Firewall
Public 2
internal
WWW
admin
storage
deployment
Firewall
The second example is from a financial institute that wanted to be sure that the
OpenStack Users have no direct uncontrolled network access to the OpenStack
infrastructure. Following this example requires additional work as the internal
HA-Proxy needs to be configured to correctly translate the API calls towards the
NetBackup for OpenStack
Backup
HA-Proxy Extern
HA-Proxy Intern
WWW
Target
Public
Net
Horizon
backup
internal
admin
Out of Band
OoB
The third example is from a service company that was forced to treat NetBackup
for OpenStack as an external 3rd party solution, as we require a virtual machine
Deploying NetBackup for OpenStack 22
Preparing the installation
Mgmt_ControlPlane
Backup
Target
Mgmt_Server
Mgmt_API
Mgmt_Storage
Firewall
Net
Mgmt_External_API
Mgmt_Tenant
Prod_Storage
Tenant quotas
NetBackup for OpenStack uses Cinder snapshots for calculating full and incremental
backups. For full backups, NetBackup for OpenStack 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 the 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 the full/previous backups. It then deletes the old snapshots but leaves
the newly created snapshots behind. So, it is important that each tenant that avails
NetBackup for OpenStack backup functionality has sufficient Cinder snapshot
quotas to accommodate these additional snapshots. The guideline is to add two
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 NetBackup for OpenStack briefly creates a volume from a snapshot
to read data from the snapshot for backup purposes. During a restore process,
Deploying NetBackup for OpenStack 23
Spinning up the NetBackup for OpenStack virtual machine
Needed tools
To create the cloud-init image it is required to have genisoimage available.
#For RHEL
yum install genisoimage
dns-nameservers 11.11.0.51
local-hostname: nbos-controller.domain.org
Warning: The instance-id has to match the virtual machine name in virsh.
The second file is called user-data and it contains little scripts and information for
a setup. For example, the user passwords. The following is an example of this file.
You can spin up the NetBackup for OpenStack appliance without a cloud-init
iso-image. It spins up with default values.
Or
touch /etc/cloud/cloud-init.disabled
Deploying NetBackup for OpenStack 26
About NetBackup for OpenStack backup target types
Subnet: 10.210.128.0/20
Note: Ensure that the compute nodes and NetBackup for OpenStackvirtual machines
are accessible from the media server to mount the universal share on the compute
nodes and NetBackup for OpenStackvirtual machines.
For the better performance, you can allocate the dedicated backup network to the
compute nodes and use this network to mount the universal share.
Installing on RHOSP
The Red Hat OpenStack Platform Director is the supported and recommended
method to deploy and maintain any RHOSP installation.
NetBackup for OpenStack integrates natively into the RHOSP Director. Manual
deployment methods are not supported for RHOSP.
Perform the following steps to install NetBackup for OpenStack on RHOSP.
3 Update overcloud roles data file See “Updating the overcloud roles data file to
to include NetBackup for include NetBackup for OpenStack services”
OpenStack services. on page 28.
cd /home/stack
cp <image location>/nbos-cfg-scripts.tar.gz /home/stack
gunzip /home/stack/nbos-cfg-scripts.tar.gz
tar xvf /home/stack/nbos-cfg-scripts.tar
cd nbos-cfg-scripts/redhat-director-scripts/<RHOSP_release_directory>/
./upload_puppet_module.sh
If the roles_data.yaml is not customized, you can find it on the undercloud at the
following location:
/usr/share/openstack-tripleo-heat-templates/roles_data.yaml
'OS::TripleO::Services::nbosdmapi'
'OS::TripleO::Services::nbosdm'
NetBackup for OpenStack uses the local registry on the undercloud to house
packages.
NetBackup for OpenStack provides a shell script, which pushes the containers to
the undercloud and updates the nbos_env.yaml.
cd
/home/stack/nbos-cfg-scripts/redhat-director-scripts/<RHOSP_release_directory>/scripts
resource_registry:
OS::TripleO::Services::nbosdm: ../services/nbosdm.yaml
OS::TripleO::Services::nbosdmapi: ../services/nbosdmapi.yaml
Deploying NetBackup for OpenStack 31
Installing NetBackup for OpenStack Components
parameter_defaults:
2. roles_data.yaml
3. Use correct NetBackup OpenStack endpoint map file as per available Keystone
endpoint configuration
Deploying NetBackup for OpenStack 32
Installing NetBackup for OpenStack Components
/usr/share/openstack-tripleo-heat-templates/tools/process-templates.py
-p /usr/share/openstack-tripleo-heat-templates -r
/home/stack/templates/roles_data.yaml -n
/home/stack/templates/default-network-isolation.yaml -o
/home/stack/templates/generated-openstack-tripleo-heat-templates
--safe
2. Specify the generated template path with the overcloud deploy command.
Deploying NetBackup for OpenStack 33
Installing NetBackup for OpenStack Components
For example,
openstack overcloud deploy --stack overcloud --templates
/home/stack/templates/generated-openstack-tripleo-heat-templates
If the containers are in restarting state or not listed by the following commands,
your deployment is not done correctly.
■ On the controller node:
Ensure that the NetBackup for OpenStack datamover API and horizon containers
are in a running state and no other NetBackup for OpenStack container is
deployed on controller nodes. When the role for these containers is not
controller, check on the respective nodes according to configured
roles_data.yaml.
Note: The Horizon container is replaced with NetBackup for OpenStack Horizon
container. This container has the latest OpenStack horizon + NetBackup for
OpenStack horizon plug-in.
## Execute the shell script to change 'nova' user and group id to '42436'
$ ./home/stack/nova_userid.sh
## Ignore any errors and verify that 'nova' user and group id has
changed to '42436'
$ id nova
uid=42436(nova) gid=42436(nova) groups=42436(nova),990(libvirt),36(kvm)
■ tail -f /var/log/containers/nbosdmapi/nbosdmapi.log
If the nbosdm container does not start or is in the restarting state, run the following
commands to get the logs to troubleshoot.
■ podman logs nbosdm
■ tail -f /var/log/containers/nbosdm/nbosdm.log
2 Change the nova user ID on the See “Changing the nova user ID on the
NetBackup for OpenStack Nodes NetBackup for OpenStack Nodes”
on page 36.
5 Verify the NetBackup for OpenStack See “Verifying the NetBackup for
deployment OpenStack deployment” on page 41.
'verbose': {
'format': '%(asctime)s %(process)d %(levelname)s %(name)s %(message)s'
},
■ Handlers: Add a file handler to write log information to the log file.
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/var/log/horizon/horizon.log',
'formatter': 'verbose',
},
■ Loggers: Update each OpenStack component in use with the file handler
information to the log file.
For example, OpenStack dashboard, Horizon, Nova client, Cinder client,
Keystone client, Glance client, Neutron client, OpenStack authorization, Django,
and so on.
'horizon': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': False,
}
It is recommended that you enable log rotation to restrict the volume of the log data
to avoid overflowing the record store. For more information about logging and
configuring log rotation, see Django documentation.
5. Verify that nova user and group ID has changed to the desired value.
#id nova
cd nbos-cfg-scripts/
cp -R ansible/roles/* /opt/openstack-ansible/playbooks/roles/
cp ansible/main-install.yml /opt/openstack-ansible/playbooks/
os-nbos-install.yml
cp ansible/environments/group_vars/all/vars.yml /etc/openstack_
deploy/user_nbos_vars.yml
- import_playbook: os-nbos-install.yml
Deploying NetBackup for OpenStack 38
Installing NetBackup for OpenStack Components
container_skel:
nbosdmapi_container:
belongs_to:
- nbos-nbosdmapi_containers
contains:
- nbosdmapi_api
physical_skel:
nbos-nbosdmapi_containers:
belongs_to:
- all_containers
nbos-nbosdmapi_hosts:
belongs_to:
- hosts
Deploying NetBackup for OpenStack 39
Installing NetBackup for OpenStack Components
#nbosdmapi
nbos-nbosdmapi_hosts: # Add controller details in this section as
# nbos-dmapi is resides on controller nodes.
infra1: # Controller host name
ip: <controller_ip> # IP address of controller
infra2: # For multiple controller nodes add controller node
# details in same manner as shown in infra2
ip: <controller_ip>
#nbos-datamover
nbos_compute_hosts: # Add compute details in this section as nbosdm
# resides on compute nodes.
infra-1: # Compute host name
ip: <compute_ip> # IP address of compute
infra2: # For multiple compute nodes add compute node
# details in same manner as shown in infra2
ip: <compute_ip>
Append the required details like NetBackup for OpenStack Appliance IP address,
NetBackup for OpenStack package version, OpenStack distribution, snapshot
storage backend, SSL related information and so on.
###details of nbosdmapi
##If SSL is enabled "NBOSDMAPI_ENABLED_SSL_APIS" value should be nbosdmapi.
#NBOSDMAPI_ENABLED_SSL_APIS: nbosdmapi
##If SSL is disabled "NBOSDMAPI_ENABLED_SSL_APIS" value should be empty.
NBOSDMAPI_ENABLED_SSL_APIS: ""
NBOSDMAPI_SSL_CERT: ""
NBOSDMAPI_SSL_KEY: ""
#Set verbosity level and run playbooks with -vvv option to display
custom debug messages
verbosity_level: 3
cd /opt/openstack-ansible/playbooks
If Ansible OpenStack is not already deployed, run the native OpenStack deployment
commands to deploy OpenStack and NetBackup for OpenStack components
together. An example for the native deployment command is given below:
Verify that the NetBackup for OpenStack datamover service is deployed and has
started on compute nodes. Run the following command on compute nodes.
Verify that the NetBackup for OpenStack horizon plugin, nbosdmclient, and
nbosjmclient are installed on the Horizon container.
Run the following command on Horizon container.
lxc-attach -n controller_horizon_container-1d9c055c
# To login on horizon container
apt list | egrep 'nbos-horizon-plugin|nbosjmclient|nbosdmclient '
# For ubuntu based container
yum list installed |egrep 'nbos-horizon-plugin|nbosjmclient|
nbosdmclient '
# For RHEL based container
Installing on Kolla
Perform the following steps to install NetBackup for OpenStack on Kolla.
1 Changing the nova user ID on the See “Changing the nova user ID on the
NetBackup for OpenStack Nodes NetBackup for OpenStack Nodes”
on page 42.
3 Copy the NetBackup for OpenStack See “Copying the NetBackup for
deployment scripts OpenStack deployment scripts”
on page 43.
4 Copy the NetBackup for OpenStack See “Copying the NetBackup for
deployment scripts to Kolla-ansible OpenStack deployment scripts to
deploy scripts Kolla-ansible deploy scripts” on page 44.
5 Push the NetBackup for OpenStack See “Pushing NetBackup for OpenStack
images to the local registry images to the local registry” on page 45.
5. Verify that nova user and group ID has changed to the desired value.
#id nova
cd nbos-cfg-scripts/
Deploying NetBackup for OpenStack 44
Installing NetBackup for OpenStack Components
NetBackupOpenStack_keystone_password: <password>
NetBackupOpenStack_database_password: <password>
Deploying NetBackup for OpenStack 45
Installing NetBackup for OpenStack Components
3 Append the NetBackup for OpenStack’s YAML file content to the kolla ansible’s
site.yml file.
Note: Before you append the YAML file content, take the backup of the site.yml
file.
cp /path/to/venv/share/kolla-ansible/ansible/site.yml /opt/
For example,
cat kolla/NetBackupOpenStack_inventory.txt >> /root/multinode
Table 2-4
Step Task Description
2 Load the images from tar and push See “Loading the images from tar and
them to the local repository pushing them to the local repository”
on page 46.
Loading the images from tar and pushing them to the local repository
Ensure that the proper tar files of nbosdmapi, nbosdm and nbos-horizon-plugin are
available on the deployment node.
kolla-base-distro Ubuntu
To load the images from tar and push them to the local repository
1 Load NetBackup for OpenStack images from the tar file.
Run the following commands:
■ nbosdmapi
docker load --input nbosdmapi-{{ kolla-base-distro }}:{{
NBOS_version }}-ussuri.tar
For example,
docker load --input
nbosdmapi-ubuntu-9.1.2.20211021104525-ussuri.tar
■ nbosdm
docker load i-input nbosdm-{{ kolla-base-distro }}:{{
NBOS_version }}-ussuri.tar
For example,
docker load --input
nbosdm-ubuntu-9.1.2.20211021104525-ussuri.tar
■ nbos-horizon-plugin
docker load --input nbos-horizon-plugin-{{ kolla-install-type
}}-{{ kolla-base-distro }}:{{ NBOS_version }}-ussuri.tar
Deploying NetBackup for OpenStack 47
Installing NetBackup for OpenStack Components
For example,
docker load --input
nbos-horizon-plugin-source-ubuntu-9.1.2.20211021104525-ussuri.tar
■ nbosdm
■ docker tag nbosdm-{{ kolla-base-distro }}:{{ NBOS_version
}}-ussuri
nbos/nbosdm-<kolla-base-distro>:<NBOS_version>-ussuri
■ nbos-horizon-plugin
■ docker tag nbos-horizon-plugin-{{ kolla-install-type }}-{{
kolla-base-distro }}:{{ NBOS_version }}-ussuri
nbos/nbos-horion-plugin-{{ kolla-install-type }}-{{
kolla-base-distro }}:{{ NBOS_version }}-ussuri
Deploying NetBackup for OpenStack 48
Installing NetBackup for OpenStack Components
■ docker tag
nbos-horizon-plugin-source-ubuntu:9.1.2.20211021104525-ussuri
deployment-vm.vxindia.veritas.com:5001/nbos/nbos-horizon-plugin-source-ubuntu:9.1.2.20211021104525-ussuri
■ nbosdm
docker push FQDN:5001/nbos/nbosdm-{{ kolla-base-distro }}:{{
NBOS_version }}-ussuri
For example,
docker push
deployment-vm.vxindia.veritas.com:5001/nbos/nbosdm-ubuntu:9.1.2.20211021104525-ussuri
■ nbos-horizon-plugin
docker push FQDN:5001/nbos/nbos-horizon-plugin-{{
kolla-install-type }}-{{ kolla-base-distro }}:{{ NBOS_version
}}-ussuri
For example,
docker push
deployment-vm.vxindia.veritas.com:5001/nbos/nbos-horizon-plugin-source-ubuntu:9.1.2.20211021104525-ussuri
Deploying NetBackup for OpenStack 49
Installing NetBackup for OpenStack Components
cat /etc/docker/daemon.json
{
"log-opts": {
"max-file": "5",
"max-size": "50m"
},
"registry-mirrors": [
"http://<deployment node ip>:4000"
],
"insecure-registries": [
"FQDN:5001"
]
}
cat /etc/docker/daemon.json
{ "insecure-registries":["FQDN:5001"] }
Sample output:
Deploying NetBackup for OpenStack 50
Installing NetBackup for OpenStack Components
Parameter Description
nova_libvirt_default_volumes:
- "{{ node_config_directory }}/nova-libvirt/:{{ container_config_
directory }}/:ro"
- "/etc/localtime:/etc/localtime:ro"
- "{{ '/etc/timezone:/etc/timezone:ro' if ansible_os_family
== 'Debian' else '' }}"
- "/lib/modules:/lib/modules:ro"
- "/run/:/run/:shared"
- "/dev:/dev"
- "/sys/fs/cgroup:/sys/fs/cgroup"
- "kolla_logs:/var/log/kolla/"
- "libvirtd:/var/lib/libvirt"
- "{{ nova_instance_datadir_volume }}:/var/lib/nova/"
- "{% if enable_shared_var_lib_nova_mnt | bool %}/var/lib/nova/mnt:
/var/lib/nova/mnt:shared{% endif %}"
- "nova_libvirt_qemu:/etc/libvirt/qemu"
- "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/
kolla/venv/lib/python' ~ distro_python_version ~ '
/site-packages/nova' if nova_dev_mode | bool else '' }
- "/var/nbos:/var/nbos:shared"
Next, find the variable nova_compute_default_volumes in the same file and append
the mount bind /var/nbos:/var/nbos:shared to the list.
After the change, the variable will look as follows for a default Kolla installation :
nova_compute_default_volumes:
- "{{ node_config_directory }}/nova-compute/:{{ container_config_
directory }}/:ro"
- "/etc/localtime:/etc/localtime:ro"
- "{{ '/etc/timezone:/etc/timezone:ro' if ansible_os_family
== 'Debian' else '' }}"
- "/lib/modules:/lib/modules:ro"
- "/run:/run:shared"
- "/dev:/dev"
- "kolla_logs:/var/log/kolla/"
- "{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}"
Deploying NetBackup for OpenStack 52
Installing NetBackup for OpenStack Components
- "libvirtd:/var/lib/libvirt"
- "{{ nova_instance_datadir_volume }}:/var/lib/nova/"
- "{% if enable_shared_var_lib_nova_mnt | bool %}/var/lib/nova/mnt:/
var/lib/nova/mnt:shared{% endif %}"
- "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/
lib/python' ~ distro_python_version ~ '/site-packages/nova'
if nova_dev_mode | bool else '' }}"
- "/var/nbos:/var/nbos:shared"
In case of using Ironic compute nodes one more entry need to be adjusted in the
same file. Find the variable nova_compute_ironic_default_volumes and append
NBOS mount /var/nbos:/var/nbos:shared to the list.
After the changes the variable will looks like the following:
nova_compute_ironic_default_volumes:
- "{{ node_config_directory }}/nova-compute-ironic/:{{ container_config_
directory }}/:ro"
- "/etc/localtime:/etc/localtime:ro"
- "{{ '/etc/timezone:/etc/timezone:ro' if ansible_os_family == 'Debian'
else '' }}"
- "kolla_logs:/var/log/kolla/"
- "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/
python' ~ distro_python_version ~ '/site-packages/nova' if nova_dev
_mode | bool else '' }}"
- "/var/nbos:/var/nbos:shared"
For example,
kolla-ansible -i multinode pull --tags netbackup
For example,
Deploying NetBackup for OpenStack 53
Configuring NetBackup for OpenStack
Sample output:
3107046dce84 r7515-090-vm51.vxindia.veritas.com:
5001/nbos/nbosdmapi-ubuntu:10.0.0.1.1007-ussuri
"dumb-init --single-…" 9 days ago Up 9 days
NetBackupOpenStack_datamover_api
Sample output:
77f22039bd54 r7515-090-vm51.vxindia.veritas.com:
5001/nbos/nbosdm-ubuntu:10.0.0.1.1007-ussuri "dumb-init
--single-…" 9 days ago Up 4 days
NetBackupOpenStack_datamover
Sample output:
dde1c91ed1a0 r7515-090-vm51.vxindia.veritas.com:
5001/nbos/nbos-horizon-plugin-binary-ubuntu:10.0.0.1.1007-ussuri
"dumb-init --single-…" 7 months ago Up 7 months
horizon
Once the virtual machine is started, point your browser (Chrome or Firefox) to
NetBackup for OpenStack node IP address.
This brings you to the NetBackup for OpenStack dashboard, which contains the
NetBackup for OpenStack configurator.
The user is: admin The default password is: password
After the very first login, you are requested to change the admin password.
NetBackup for OpenStack requires you to configure the cluster once and the
NetBackup for OpenStack dashboard provides cluster-wide management capability.
Note: For NetBackup Flex Appliance, you must manually copy the valid NetBackup
CA-signed certificates at the /etc/nbos/ssl/nbu_cacert.pem before you configure
NetBackup for OpenStack.
The NetBackup for OpenStack Cluster supports only 1-node and 3-node clusters.
■ Virtual IP address
■ NetBackup for OpenStack cluster IP address, which is mandatory.
■ Format: IP/Subnet
■ Example: 172.20.4.150/24
Deploying NetBackup for OpenStack 55
Configuring NetBackup for OpenStack
Warning: The Virtual IP is mandatory even for single-node clusters and has to be
different from any IP given at the Controller Nodes.
■ Name Server
■ List of nameservers, primarily used to resolve OpenStack service endpoints.
■ Format: Comma-separated list
■ Example: 8.8.8.8,172.20.4.1
■ NTP Servers
■ NTP servers the NetBackup for OpenStack Cluster will use
■ Format: Comma-separated list
■ Example: 0.pool.ntp.org,10.10.10.10
■ Timezone
■ Timezone the NetBackup for OpenStack Cluster will use internally
■ Format: pre-populated list
■ Example: UTC
■ Endpoint Type
■ Defines which endpoint type is used to communicate with the OpenStack
endpoints. NetBackup for OpenStack supports public endpoints and internal
endpoints.
Deploying NetBackup for OpenStack 56
Configuring NetBackup for OpenStack
When FQDNs are used for the Keystone endpoints it is necessary to configure at
least one DNS server before the configuration.
Otherwise, the validation of the OpenStack Credentials fails.
■ Domain ID
■ The domain of the provided user and the tenant
■ Format: ID
■ Example: Default
■ Administrator
■ Username of an account with the domain admin role
■ Format: String
■ Example: admin
■ Password
■ Password for the previous provided user
■ Format: String
■ Example: Password
NetBackup for OpenStack requires domain admin role access. To provide a domain
admin role to a user, the following command can be used:
openstack role add --domain <domain id> --user <username> admin
The NetBackup for OpenStack configurator verifies after every entry if it is possible
to log in to OpenStack using the provided credentials.
This verification fails until all entries are set and correct.
When the verification is successful it is possible to choose the Admin tenant, the
Region, and the Trustee role without any error message shown.
■ Admin Tenant
■ The tenant to be used together with the provided user.
■ Format: A pre-populated list
■ Example: Admin
■ Region
■ OpenStack Region the user and tenant are located in.
Deploying NetBackup for OpenStack 57
Configuring NetBackup for OpenStack
■ Trustee Role
■ The OpenStack role is required to be able to use NetBackup for OpenStack
functions.
■ Format: A pre-populated list
■ Example: _member_
Advanced settings
At the end of the configurator, you can activate the advanced settings.
Activating this option enables the configuration of the keystone endpoints that are
used for NetBackup for OpenStack job manager and NetBackup for OpenStack
datamover API.
This command generates the certificate and key files with NBOSVM virtual IP
as a file name.
For example, if the NBOSVM virtual IP is 10.10.20.111, you run the
command./gen-cert 10.10.20.111
This command generates files such as 10.10.20.111.crt and
10.10.20.111.key.
■ RHOSP:
chmod o+rx
/var/lib/config-data/puppet-generated/horizon/nbosjm.cert
9 Run the following command on the NBOSVM before you use the nbosjm CLI.
export OS_CACERT=/etc/nbosjm/ca-chain.pem
mysql://nbos:[email protected]/nbosjm_auto?charset=utf8
This value can only be set upon an initial configuration of the NetBackup for
OpenStack solution.
When the Cluster has been configured to use the internal database, then the
connection string will not be shown in the next configuration attempt.
In the case of an external database, the connection string is shown but is not
editable.
Option Description
Option Description
Default value:
max_snapshot_jobs_per_project =
2
Default value:
max_snapshot_expiry_jobs_per_project
= 2
Deploying NetBackup for OpenStack 62
Post Installation Health-Check
Option Description
■ nbosjm-scheduler
■ nbosjm-policies
Those can be verified to be up and running using the systemctl status command.
CGroup: /system.slice/nbosjm-api.service
└─21265 /home/rhv/myansible/bin/python /usr/bin/nbosjm-api
--config-file=/etc/nbosjm/nbosjm.conf
--config-file=/etc/nbosjm/nbosjm.conf
└─20237 /home/rhv/myansible/bin/python
/usr/bin/nbosjm-policies
--config-file=/etc/nbosjm/nbosjm.conf
pcs status
######
Cluster name: NetBackup for OpenStack
WARNINGS:
Corosync and pacemaker node names do not match (IPs used in setup?)
Stack: corosync
Current DC: om_nbosvm (version 1.1.19-8.el7_6.1-c3c624ea3d) -
chapterition with quorum
Last updated: Wed Dec 5 12:25:02 2018
Last change: Wed Dec 5 09:20:08 2018 by root via cibadmin on om_nbosvm
1 node configured
4 resources configured
Online: [ om_nbosvm ]
Full list of resources:
virtual_ip (ocf::'heartbeat:IPaddr2): Started om_nbosvm
nbosjm-api (systemd:nbosjm-api): Started om_nbosvm
nbosjm-scheduler (systemd:nbosjm-scheduler): Started om_nbosvm
Clone Set: lb_nginx-clone [lb_nginx]
Started: [ om_nbosvm ]
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
curl http://10.10.2.34:8780/v1/8e16700ae3614da4ba80a4e57d60cdb9/
policy_types/detail -X GET -H "X-Auth-Project-Id: admin"
-H "User-Agent: python-nbosjmclient" -H "Accept:
application/json" -H "X-Auth-Token:
gAAAAABe40NVFEtJeePpk1F9QGGh1LiGnHJVLlgZx9t0HRrK9rC5vq
KZJRkpAcW1oPH6Q9K9peuHiQrBHEs1-g75Na4xOEESR0LmQJUZP6n3
7fLfDL_D-hlnjHJZ68iNisIP1fkm9FGSyoyt6IqjO9E7_YVRCTCqNLJ
67ZkqHuJh1CXwShvjvjw
See the API guide for more commands and to know how to generate the
X-Auth-Token.
error :...d
Jun 12 05:16:29 upstreamcompute1 sudo[23356]: nova : TTY=unknown ;
PWD=/...n
Jun 12 05:16:32 upstreamcompute1 sudo[23422]: nova : TTY=unknown ;
PWD=/ ...
Hint: Some lines were ellipsized, use -l to show in full.
Clean the NetBackup for OpenStack See “Clean NetBackup for OpenStack
datamover API service. datamover API service” on page 67.
Clean the NetBackup for OpenStack See “Clean NetBackup for OpenStack
datamover service. datamover service” on page 67.
Clean the NetBackup for OpenStack haproxy See “Clean NetBackup for OpenStack
resources. haproxy resources” on page 69.
Clean the NetBackup for OpenStack See “Clean NetBackup for OpenStack
Keystone resources. Keystone resources” on page 70.
Clean the NetBackup for OpenStack See “Clean NetBackup for OpenStack
database resources. database resources” on page 70.
Revert the overcloud deploy command. See “Revert overcloud deploy command”
on page 71.
Revert back to the original RHOSP Horizon See “Revert back to original RHOSP Horizon
container. container” on page 71.
Destroy the NetBackup for OpenStack virtual See “Destroy the NetBackup for OpenStack
machine cluster. virtual machine cluster” on page 71.
Deploying NetBackup for OpenStack 67
Uninstalling NetBackup for OpenStack
Once the role that runs the NetBackup for OpenStack datamover API service has
been identified, the following commands will clean the nodes from the service.
rm -rf /var/lib/config-data/puppet-generated/nbosdmapi
rm /var/lib/config-data/puppet-generated/nbosdmapi.md5sum
rm -rf /var/log/containers/nbosdmapi/
Once the role that runs the NetBackup for OpenStack datamover API service has
been identified, the following commands will clean the nodes from the service.
# Unmount it
-- If it's NFS (COPY UUID_DIR from your compute host using above command)
umount /var/lib/nova/NetBackupOpenStack-mounts/<UUID_DIR>
-- If it's S3
umount /var/lib/nova/NetBackupOpenStack-mounts
df -h | grep NetBackup
# Remove mount point directory after verifying that backup target unmounted
successfully.
# Otherwise actual data from backup target may get cleaned.
rm -rf /var/lib/nova/NetBackupOpenStack-mounts
Deploying NetBackup for OpenStack 69
Uninstalling NetBackup for OpenStack
rm -rf /var/lib/config-data/puppet-generated/nbosdm/
rm /var/lib/config-data/puppet-generated/nbosdm.md5sum
rm -rf /var/log/containers/nbosdm/
Edit the following file on the HAProxy nodes and remove all NetBackup for
OpenStack entries.
/var/lib/config-data/puppet-generated/haproxy/etc/haproxy/haproxy.cfg
listen nbosdmapi
bind 172.25.3.60:13784 transparent ssl crt /etc/pki/tls/private/
overcloud_endpoint.pem
bind 172.25.3.60:8784 transparent
http-request set-header X-Forwarded-Proto https if { ssl_fc }
http-request set-header X-Forwarded-Proto http if !{ ssl_fc }
http-request set-header X-Forwarded-Port %[dst_port]
option httpchk
option httplog
server overcloud-controller-0.internalapi.localdomain 172.25.3.59:8784
check fall 5 inter 2000 rise 2
Restart the haproxy container once all edits have been done.
Deploying NetBackup for OpenStack 70
Uninstalling NetBackup for OpenStack
## On RHOSP
podman exec -it galera-bundle-podman-0 mysql -u root
## Clean database
DROP DATABASE nbosdmapi;
■ OS::TripleO::Services::nbosdm
In case the overcloud deploy command used before the deployment of NetBackup
for OpenStack is still available, it can directly be used.
Follow these steps to clean the overcloud deploy command from all NetBackup for
OpenStack entries.
1. Remove nbos_env.yaml entry.
2. Remove NetBackup OpenStack endpoint map file Replace with original map
file if existing.
virsh list
Delete the NetBackup for OpenStack virtual machine disk from KVM Host storage
Deploying NetBackup for OpenStack 72
Uninstalling NetBackup for OpenStack
Uninstall NetBackup for OpenStack Services See “Uninstall NetBackup for OpenStack
Services” on page 72.
Destroy NetBackup for OpenStack datamover See “Destroy NetBackup for OpenStack
API container datamover API container” on page 73.
Remove NetBackup for OpenStack haproxy See “Remove NetBackup for OpenStack
settings in user_variables.yml haproxy settings in user_variables.yml”
on page 73.
Delete NetBackup for OpenStack datamover See “Delete NetBackup for OpenStack
API database and user datamover API database and user”
on page 74.
Remove nbosdmapi rabbitmq user from See “Remove nbosdmapi rabbitmq user from
rabbitmq container rabbitmq container” on page 74.
Remove certificates from Compute nodes See “Remove certificates from Compute
nodes” on page 76.
Destroy the NetBackup for OpenStack virtual See “Destroy the NetBackup for OpenStack
machine cluster virtual machine cluster” on page 76.
cd /opt/openstack-ansible/playbooks
openstack-ansible os-nbos-install.yml --tags "nbos-all-uninstall"
Deploying NetBackup for OpenStack 73
Uninstalling NetBackup for OpenStack
cd /opt/openstack-ansible/playbooks
openstack-ansible lxc-containers-destroy.yml --limit "DMPAI CONTAINER_NAME"
Clean openstack_user_config.yml
Remove the nbosdmapi_hosts and nbos_compute_hosts entries from
/etc/openstack_deploy/openstack_user_config.yml
#nbosdmapi
nbos-nbosdmapi_hosts:
infra-1:
ip: 172.26.0.3
infra-2:
ip: 172.26.0.4
#nbos-datamover
nbos_compute_hosts:
infra-1:
ip: 172.26.0.7
infra-2:
ip: 172.26.0.8
haproxy_balance_alg: roundrobin
haproxy_timeout_client: 10m
haproxy_timeout_server: 10m
haproxy_backend_options:
- "httpchk GET / HTTP/1.0\\r\\nUser-agent:\\ osa-haproxy-healthcheck"
rm /opt/openstack-ansible/inventory/env.d/nbos-nbosdmapi.yml
source cloudadmin.rc
openstack endpoint delete "internal datamover service endpoint_id"
openstack endpoint delete "public datamover service endpoint_id"
openstack endpoint delete "admin datamover service endpoint_id"
Clean haproxy
Remove /etc/haproxy/conf.d/nbosdm_service file.
rm /etc/haproxy/conf.d/nbosdm_service
frontend nbosdm_service-front-1
bind hostname:8784 ssl crt /etc/ssl/private/
haproxy.pem ciphers ECDH+AESGCM:DH+AESGCM:ECDH
+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM
:RSA+AES:!aNULL:!MD5:!DSS
option httplog
option forwardfor except 127.0.0.0/8
reqadd X-Forwarded-Proto:\ https
mode http
default_backend nbosdm_service-back
frontend nbosdm_service-front-2
bind 172.26.1.2:8784
option httplog
option forwardfor except 127.0.0.0/8
mode http
default_backend nbosdm_service-back
backend nbosdm_service-back
mode http
balance leastconn
stick store-request src
stick-table type ip size 256k expire 30m
option forwardfor
option httplog
option httpchk GET / HTTP/1.0\r\nUser-agent:\ osa-haproxy-healthcheck
Deploying NetBackup for OpenStack 76
Uninstalling NetBackup for OpenStack
rm -rf /opt/config-certs/rabbitmq
rm -rf /opt/config-certs/s3
virsh list
Delete the NetBackup for OpenStack virtual machine disk from KVM Host storage
virsh list
4 Delete the NetBackup for OpenStack virtual machine disk from KVM Host
storage.
5 Deregister the NetBackup for OpenStack.
■ Generate a token using the following API:
POST https://<primary-server>:1556/netbackup/login
DELETE
https://<primary-servver>/netbackup/config/servers/nbosvm-servers/<NBOSVM
VIP
The installation of the nbosjm client integrates the client into the global OpenStack
python client, if available.
The required connection strings and package names can be found on the NetBackup
for OpenStack dashboard under the Downloads tab.
The nbosjm client is supported only on Python 3.
To install the nbosjm CLI client
■ Run the following command on RPM-based operating systems:
yum install nbosjmclient-py3-el8-9.0.999-9.0.noarch.rpm
Table 2-7 Log rotation default options for Kolla and Ansible
/var/log/nbosjm/*.log {
missingok
notifempty
copytruncate
size 25M
rotate 30
compress
dateformat -%Y%m%d-%H
}
/var/NetBackupOpenStack-mounts/*/*/*.log {
su root nova
missingok
compress
delaycompress
notifempty
copytruncate
size 25M
rotate 30
dateformat -%Y%m%d-%H
}
/var/NetBackupOpenStack-mounts/*/*.log {
su root nova
missingok
compress
delaycompress
notifempty
copytruncate
size 25M
rotate 30
dateformat -%Y%m%d-%H
}
Deploying NetBackup for OpenStack 82
About log rotation in NetBackup for OpenStack
Table 2-7 Log rotation default options for Kolla and Ansible (continued)
/var/log/kolla/nbosdmapi/nbosdmapi.log {
daily
missingok
notifempty
copytruncate
size=25M
rotate 30
maxage 30
compress
dateformat -%Y%m%d-%H
}
/var/log/kolla/nbosdm/nbosdm.log {
daily
missingok
notifempty
copytruncate
size=25M
rotate 30
maxage 30
compress
dateformat -%Y%m%d-%H
}
/usr/openv/netbackup/logs/vxms/*.log {
daily
missingok
notifempty
copytruncate
size=1M
rotate 5
postrotate
find -daystart -mtime +30 -delete
find -daystart -mtime +7 -size 0 -delete
endscript
compress
dateformat -%Y%m%d-%H
}
Deploying NetBackup for OpenStack 83
About log rotation in NetBackup for OpenStack
Table 2-8 describes the default options that are used to configure log rotation on
RHOSP.
/var/log/nbosjm/*.log {
missingok
notifempty
copytruncate
size 25M
rotate 30
compress
dateformat -%Y%m%d-%H
}
/var/NetBackupOpenStack-mounts/*/*/*.log {
su root nova
missingok
compress
delaycompress
notifempty
copytruncate
size 25M
rotate 30
dateformat -%Y%m%d-%H
}
/var/NetBackupOpenStack-mounts/*/*.log {
su root nova
missingok
compress
delaycompress
notifempty
copytruncate
size 25M
rotate 30
dateformat -%Y%m%d-%H
}
/etc/logrotate.d/vxms
/var/log/vxms/*.log {
daily
missingok
notifempty
copytruncate
size=1M
rotate 5
postrotate
find -daystart -mtime +30 -delete
find -daystart -mtime +7 -size 0 -delete
endscript
compress
dateformat -%Y%m%d-%H
}
■ auditlogs
■ flowdetails
■ logbooks
■ restore_metadata
■ restored_vm_meta
■ restored_vm_res
■ restored_vms restores
4 Run the delete_snapshots.py script to delete the recovery points that consist
only the snapshot copies.
python3 delete_snapshots.py delete
5 Run the following command to get the status of the snapshot deletion.
python3 delete_snapshots.py get_delete_status
Chapter 3
Configuring NetBackup
OpenStack Appliance
This chapter includes the following topics:
Once the NetBackup for OpenStack configurator has started, it needs to run through
successfully to continue to use NetBackup for OpenStack.
The cluster does not roll back to its last working state in case of any errors.
This downloads the current log files. Already rotated logs need to be downloaded
through SSH from the NetBackup for OpenStack appliance directly. All logs including
rotated old logs can be found at the following location:
/var/logs/nbosjm/
1 Add the OpenStack Horizon instance See “Adding the OpenStack Horizon
on the NetBackup web UI. instance on NetBackup web UI”
on page 92.
3 Log on with the role, and launch the See “Launching the Horizon UI from the
Horizon UI. NetBackup web UI” on page 93.
4 Provide a Role name and a description. For example, you may want to indicate
that role is for any users that are backup administrators for a particular
department or region.
5 For Role permissions, choose the permission or type of access that you want
users with that role to have for each permission type.
6 Click Add role.
6 Click Add and enter the non-root user to create the access token.
Configuring NetBackup primary server 95
Configuring the NBOSVM service principal
'https://<NetBackupHostName>:1556/netbackup/security/service-principal-configs'
\
-H 'accept: application/vnd.netbackup+json;version=11.0' \
-H 'Content-Type: application/vnd.netbackup+json;version=11.0'
\
-H 'Authorization: <Access Token>' \
-d '{
"data": {
"type": "servicePrincipalConfiguration",
"attributes": {
"servicePrincipalId": "Service_Principal_NBOSVM",
"servicePrincipalType": "OPENSTACK",
"servicePrincipalApiKeyExpireAfterDays": "P365D",
"isSecurityAdmin": true,
"accessDefinitions": [
{
"namespace": "|SECURITY|USERS|API-KEYS|",
"operations": [
"|OPERATIONS|VIEW|"
]
},
{
"namespace": "|SECURITY|SERVICE-PRINCIPAL|",
"operations": [
"|OPERATIONS|VIEW|"
]
},
{
"namespace": "|ASSETS|OPENSTACK|",
"operations": [
"|OPERATIONS|ADD|",
"|OPERATIONS|VIEW|",
"|OPERATIONS|UPDATE|",
"|OPERATIONS|ASSETS|OPENSTACK|RESTORE_ORIGINAL|",
"|OPERATIONS|ASSETS|OPENSTACK|RESTORE_ALTERNATE|",
Configuring NetBackup primary server 96
Configuring the NBOSVM service principal
"|OPERATIONS|ASSETS|OPENSTACK|PROTECT|"
]
},
{
"namespace": "|PROTECTION|PROTECTION_PLAN|",
"operations": [
"|OPERATIONS|VIEW|",
"|OPERATIONS|PROTECTION|PROTECTION_PLAN|SUBSCRIBE|"
]
},
{
"namespace": "|PROTECTION|POLICIES|",
"operations": [
"|OPERATIONS|PROTECTION|POLICIES|MANUAL-BACKUP|",
"|OPERATIONS|VIEW|"
]
},
{
"namespace": "|CREDENTIALS|",
"operations": [
"|OPERATIONS|ADD|",
"|OPERATIONS|UPDATE|",
"|OPERATIONS|DELETE|"
]
},
{
"namespace": "|MANAGE|NBOSVM-SERVER|",
"operations": [
"|OPERATIONS|ADD|",
"|OPERATIONS|UPDATE|",
"|OPERATIONS|DELETE|"
]
},
{
"namespace": "|MANAGE|JOBS|",
"operations": [
"|OPERATIONS|ADD|",
"|OPERATIONS|VIEW|"
]
},
{
"namespace": "|STORAGE|STORAGE-SERVERS|",
Configuring NetBackup primary server 97
About NetBackup for OpenStack protection plan
"operations": [
"|OPERATIONS|VIEW|"
]
},
{
"namespace":
"|STORAGE|STORAGE-SERVERS|UNIVERSAL-SHARES|",
"operations": [
"|OPERATIONS|VIEW|"
]
},
{
"namespace": "|MANAGE|IMAGES|",
"operations": [
"|OPERATIONS|VIEW|"
]
}
]
}
}
}'
NetBackup for OpenStack 10.5 and later versions support AIR from a Media Server
Deduplication Pool (MSDP) in one NetBackup domain to an MSDP in another
domain. NetBackup uses storage lifecycle policies (SLP) in the source domain and
the target domain to manage AIR operations.
The following diagram explains the architecture of using AIR between OpenStack
Cloud A and OpenStack Cloud B. Backup images stored in the NetBackup media
server A are replicated to the NetBackup media server B.
NetBackup NetBackup
Primary Server Primary Server
A B
NetBackup NetBackup
Primary Server Primary Server
Universal Universal
A B
Share Share
The protections are listed as orphaned protections. The project and user of
the OpenStack cloud A do not exist on the OpenStack cloud B.
Note: After you import the protection in another cloud, when you enable the
global job scheduler, all the protections that have scheduler trust enabled are
displayed as broken because the protections do not have instances attached
to them. Update the protection and assign an instance to it to enable the
scheduler trust.
■ --migrate_cloud Set to True if you want to list policies from other clouds
as well. The default value is False.
■ --old_tenant_ids The IDs of the old tenants from which you want to
assign the protections.
■ --new_tenant_id The ID of the new tenant to which you want to assign
the protections.
■ --protection_plan_id The ID of the protection plan to which you want
to assign the protections.
■ --user_id The user ID to which you want to assign the protections.
4 Run the following command to see the status of the import job.
nbosjm get-protection-import-status
Chapter 5
NetBackup for OpenStack
protections
This chapter includes the following topics:
■ About protections
■ List of protections
■ Create a protection
■ Protection overview
■ Edit a protection
■ Delete a protection
■ Unlock a protection
About protections
A protection is a backup job that protects OpenStack virtual machines according
to the configuration. You can create as many protections as needed, but each virtual
machine can only be part of one protection.
List of protections
Using Horizon
To view all available protections of a project on Horizon
On the Horizon console, navigate to NBOS Backups > Protection.
NetBackup for OpenStack protections 102
Create a protection
The overview in Horizon lists all the protections with the following additional
information:
■ Creation time
■ Protection name
■ Protection description
■ Total recovery points inside this protection
■ Total number of succeeded recovery points
■ Total number of failed recovery points
■ Protection description
■ Protection type
■ Protection status
■ Scheduler Trust
■ Established denotes if the scheduler is enable for the protection.
Using CLI
■ --all {True,False} List all protections for all the projects. Valid for admin
user only.
Create a protection
Using Horizon
To create a protection inside Horizon do the following steps:
1 On the Horizon console, navigate to NBOS Backups > Protection.
2 Click Add protection.
3 On the Details tab, provide the protection name, description, and the type as
Serial or Parallel.
4 On the Instances tab, select the virtual machine to protect.
5 On the Protection Plan tab, select the protection plan from the drop-down list.
NetBackup for OpenStack protections 103
Create a protection
Using CLI
"start_date" : "06/05/2014"
"end_date" : "07/15/2014"
"start_time" : "2:30 PM"
Protection overview
View the information about the protection in the protection overview.
Using Horizon
To enter the protection overview inside Horizon do the following steps:
1. On the Horizon console, navigate to NBOS Backups > Protection.
2. Identify the protection to view.
3. Click the protection name to view the protection overview.
Recovery Point The Recovery Point tab shows the list of all available recovery
points in the chosen protection.
The copies are visible against the recovery points. These copies
can be snapshot, backup, or duplicate copy.
Protection Plan The Protection Plan tab gives an overview of the current
configured scheduler and retention protection. The following
elements are shown:
■ Scheduler Enabled or Disabled
■ Start Date and Time
■ End Date and Time
■ Repeat Every
■ Time until the next snapshot runs
■ Backup retention
■ Backup retention
■ Duplication
Using CLI
Edit a protection
A protection can be modified in all components to match changing needs.
Using Horizon
To edit a protection
1 On the Horizon console, navigate to NBOS Backups > Protection.
2 Identify the protection to be modified and select Edit Protection from the
drop-down list.
3 Modify the protection as desired. All parameters except protection type can be
changed.
4 Click Update.
NetBackup for OpenStack protections 106
Delete a protection
Using CLI
"start_date" : "06/05/2014"
"end_date" : "07/15/2014"
"start_time" : "2:30 PM"
Delete a protection
When a protection is no longer needed, you can delete it. You must expire all the
recovery points before you delete the protection.
See “About recovery points” on page 109.
NetBackup for OpenStack protections 107
Unlock a protection
Using Horizon
To delete a protection
1 On the Horizon console, navigate to NBOS Backups > Protection.
2 Identify the protection to be modified and select Delete Protection from the
drop-down list.
3 Click Delete Protection again to confirm.
Using CLI
■ --database_only Keep True if you want to delete from the database only. The
default value is False.
Unlock a protection
The protections that actively take backups or restores are locked for further tasks.
You can unlock a protection by force if necessary.
Use this feature only as a last resort in case of backups or restores are stuck or a
restore is required while a backup is running.
Using Horizon
To unlock a protection
1 On the Horizon console, navigate to NBOS Backups > Protection.
2 Identify the protection to be modified, and select Unlock Protection from the
drop-down list.
3 Click Unlock Protection again to confirm.
Using CLI
■ Creating a snapshot
■ About restores
■ List of Restores
■ Restores overview
■ Delete a restore
■ Cancel a restore
■ One-click restore
■ Selective restore
■ In-place restore
■ Unmounting a backup
■ About schedules
■ Status
■ Copies
■ Action
Using CLI
■ --nbos_node List all the recovery points operations that are scheduled on a
NetBackup for OpenStack node. The default value is None.
■ --date_from From date in the format YYYY-MM-DDTHH:MM:SS. For example,
2016-10-10T00:00:00. If you do not specify the time, it takes 00:00 by default.
■ --date_to To date in the format YYYY-MM-DDTHH:MM:SS The default is current
day. Specify the time in HH:MM:SS format to get the recovery points in the same
day.
■ --all List all recovery points of all the projects. Valid for admin user only.
Creating a snapshot
Snapshots are automatically created by the NetBackup for OpenStack scheduler.
If necessary or in the case of a deactivated scheduler, you can create a snapshot
on demand.
Note: NetBackup for OpenStack does not support backup of swap disks and
ephemeral disks.
Using Horizon
You can create a snapshot from the protection overview and the protection snapshot
list page.
To create a snapshot from the protection overview
1 On the Horizon console, navigate to NBOS Backups > Protection.
2 Identify the protection to create a snapshot.
Performing snapshots, backups, and restores of OpenStack 111
Snapshot and backup overview
Using CLI
Using Horizon
To reach the recovery point overview follow these steps:
1. On the Horizon console, navigate to NBOS Backups > Protection.
2. Identify the protection that contains the recovery point to show.
Performing snapshots, backups, and restores of OpenStack 112
Snapshot and backup overview
Details The Recovery Points Details tab shows the following information
about the recovery point.
■ ID/Name/Description
■ Scheduled on
■ Total volume size
■ Snapshot Type
■ Snapshot Size
■ Snapshot Time Taken
■ Snapshot Status
■ Backup Size
■ Backup Time Taken
■ Backup Status
■ Backup Type
■ Virtual machines that are part of the recovery point
■ The following information is displayed for each virtual machine
in the recovery point:
■ Instance Info - Name and Status
■ Security Group(s) - Name, Type
■ Flavor - vCPUs, Disk, and RAM
■ Networks - IP, Network name, and Mac Address
■ Attached Volumes - Name, Type, Size (GB), and Device
Path
■ Misc - Original ID of the virtual machine
Restores The Restores tab shows the list of restores that have been started
from the chosen recovery point. You can start the restores from
here.
Using CLI
Note: OpenStack does not let you launch an instance without a network interface.
The snapshot of the instance that does not have any network interface attached to
it cannot be restored using the selective restore or one-click restore options.
However, you can use in-place restore, which does not launch an instance.
Using CLI
nbosjm volume-snapshot-cleanup --recovery_point_id <recovery_point_id>
nbosjm volume-snapshot-cleanup --protection_id <protection_id>
About restores
A Restore is the workflow to bring back the backed-up virtual machines from the
NetBackup for OpenStack snapshot, backup, or duplicate copies.
List of Restores
Using Horizon
To reach the list of Restores for a recovery point follow these steps:
1. On the Horizon console, navigate to NBOS Backups > Protection.
2. Identify the protection that contains the recovery point to show.
3. Click the protection name to enter the protection overview.
4. Navigate to the Recovery Points tab.
5. Identify the recovery point in the recovery points list.
Performing snapshots, backups, and restores of OpenStack 115
Restores overview
Using CLI
Restores overview
Using Horizon
To reach the detailed Restore overview follow these steps:
1. On the Horizon console, navigate to NBOS Backups > Protection.
2. Identify the protection that contains the snapshot to show.
3. Click the protection name to enter the protection overview.
4. Navigate to the Recovery Points tab.
5. Identify the recovery point in the recovery point list.
6. Click the recovery point name.
7. Navigate to the Restores tab.
8. Identify the restore to show.
9. Click the restore name.
Performing snapshots, backups, and restores of OpenStack 116
Restores overview
Details The Restore Details Tab shows the following information about
the restore:
■ Name
■ Description
■ Restore Type
■ Status
■ Time taken
■ Size
■ Progress Message
■ Progress
■ Host
■ Restore Options
Using CLI
Delete a restore
Once a restore is no longer needed, it can be safely deleted from a protection.
Deleting a restore only deletes the NetBackup for OpenStack information about
this restore. No OpenStack resources are deleted.
Using Horizon
Deleting a single restore through the submenu
1 On the Horizon console, navigate to NBOS Backups > Protection.
2 Identify the protection that contains the recovery point to delete.
3 Click the protection name to enter the protection overview.
4 Navigate to the Recovery Points tab.
5 Identify the searched recovery point in the recovery point list.
6 Click the recovery point name.
7 Navigate to the Restore tab.
8 Click Delete Restore in the line of the restore in question.
9 Click Delete Restore again to confirm.
Deleting the multiple restores through a checkbox in recovery point overview
1 On the Horizon console, navigate to NBOS Backups > Protection.
2 Identify the protection that contains the recovery point to show.
3 Click the protection name to enter the protection overview.
4 Navigate to the Recovery Points tab.
5 Identify the searched recovery point in the recovery points list.
6 Enter the recovery point by clicking the recovery point name.
7 Navigate to the Restore tab.
8 Select the check box for each restore that shall be deleted.
9 Click Delete Restore.
10 Click Delete Restore again to confirm.
Using CLI
Cancel a restore
Ongoing restores can be canceled using the command line.
Using CLI
One-click restore
The one-click restore brings back all virtual machines from the snapshot or backup
in the same state as they were backed up. They are located in the same cluster in
the same datacenter, use the same storage domain, connect to the same network,
and have the same flavor.
The user cannot change any metadata.
The one-click restore requires that the original virtual machines that have been
backed up are deleted or otherwise lost. Even if one virtual machine is still running,
the one-click restore fails.
The one-click restore automatically updates the protection to protect the restored
virtual machines.
Note: One-click restore fails if the properties of the instances that existed at the
time of snapshot or backup do not exist at the time of restore.
Using Horizon
To perform the one-click restore
1 On the Horizon console, navigate to NBOS Backups > Protection.
2 Identify the protection that contains the recovery point to be restored.
3 Click the protection name to enter the protection overview.
4 Navigate to the Recovery points tab.
5 Identify the recovery point to be restored.
6 Click One-Click Restore in the same line as the identified recovery point.
7 (Optional) Provide the name and description.
8 Click Create.
Performing snapshots, backups, and restores of OpenStack 119
Selective restore
Using CLI
Selective restore
The selective restore is the most complex restore NetBackup for OpenStack has
to offer. It allows to adapt the restored virtual machines to the exact needs of the
user.
With the selective restore the following things can be changed:
■ Which virtual machines are getting restored.
■ Name of the restored virtual machines
■ Which networks to connect with.
■ Which Storage domain to use
■ Which datacenter or cluster to restore into.
■ Which flavor the restored virtual machines will use.
The selective restore is always available and does not have any prerequirements.
Using Horizon
To perform a selective restore
1 On the Horizon console, navigate to NBOS Backups > Protection.
2 Identify the protection that contains the recovery point to be restored.
3 Click the protection name to enter the protection overview.
4 Navigate to the Recovery points tab.
Performing snapshots, backups, and restores of OpenStack 120
In-place restore
Using CLI
■ --filename Provide the file path (relative or absolute) including the file name.
By default it reads the file /home/stack/myansible/lib/python3.8/site
-packages/nbosjmclient/input-files/restore_from_backup_copy.json.
You can use this file for a reference or replace values into this file.
In-place restore
The in-place restore covers those use cases, where the virtual machine and its
volumes are still available, but the data got corrupted or needs to rollback for other
reasons.
It allows the user to restore only the data of a selected volume, which is part of a
backup.
The in-place restore only works when the original virtual machine and the original
volume are still available and connected. NetBackup for OpenStack is checks the
status with the saved Object-ID.
The in-place restore will not create any new RHV resources. Use one of the other
restore options if new volumes or virtual machines are required.
The in-place restore restarts the instance.
Note: The in-place restore does not support a restore from the snapshot.
Performing snapshots, backups, and restores of OpenStack 121
Required restore.json file for CLI
Note: In-place restore fails if the properties of the instances that existed at the time
of backup do not exist at the time of restore.
Using Horizon
To perform the in-place restore
1 On the Horizon console, navigate to NBOS Backups > Protection.
2 Identify the protection that contains the recovery point to be restored.
3 Click the protection name to enter the protection overview.
4 Navigate to the Recovery Points tab.
5 Identify the recovery point to be restored.
6 From the drop-down under Actions column, select Inplace Restore.
7 Configure the In-place restore as desired.
8 Click Restore.
Using CLI
The restore.json requires information about the backed-up resources. All required
information can be gathered in the recovery point overview.
{
'name': 'sel-rest-5',
'description': 'sel-rest-desc-5',
'oneclickrestore': False,
'restore_type': 'selective',
'copy_number': '2',
'copy_type': 'BACKUP',
'type': 'openstack',
'openstack':
{
'restore_topology':False,
'instances':
[
{
'id': '91a26084-7134-4ae4-970c-8203fb18669f',
'name': 'sample-instance-restore',
'restore_boot_disk': True,
'availability_zone': 'nova',
'include': True,
'vdisks':
[
{
'id': 'c6fe8309-a95b-4bbb-9d72-57beafe4a3ae',
'new_volume_type': '__DEFAULT__',
'availability_zone': 'nova'
}
],
'nics':
[
{ 'id': 'd8680981-2113-45a8-aa7c-6edd68c97819',
'mac_address': 'fa:16:3e:d1:ce:ae',
'network': {
'id': 'd8680981-2113-45a8-aa7c-6edd68c97819',
'subnet': {
'id': '28206b2e-0a0e-46a3-9034-9d621b4bfb4f'
}
},
'ip_address': '172.20.2.230'
}
]
Performing snapshots, backups, and restores of OpenStack 123
Required restore.json file for CLI
}
],
'networks_mapping': {
'networks': [
{'snapshot_network': {
'name': 'private',
'id': 'd8680981-2113-45a8-aa7c-6edd68c97819',
'subnet': {
'id': '28206b2e-0a0e-46a3-9034-9d621b4bfb4f'
}
},
'target_network': {
'id': 'd8680981-2113-45a8-aa7c-6edd68c97819',
'name': 'private',
'subnet': {
'id': '28206b2e-0a0e-46a3-9034-9d621b4bfb4f'
}
}
}
]
}
}
}
All further information is only required, when the instance is part of the restore.
■ name New name of the instance.
■ network Network the port is assigned to. Contains the following information:
■ vdisks List of all volumes that are part of the instance. Each volume requires
the following information:
■ id Original ID of the volume.
■ new_volume_type The volume type to use for the restored volume. Leave
empty for Volume Type None.
■ availability_zone The Cinder Availability Zone to use for the volume. The
default Availability Zone of Cinder is Nova.
■ flavor Defines the Flavor to use for the restored instance. Contains the following
information:
■ ram How much RAM the restored instance will have (in MB).
■ ephemeralHow big the ephemeral disk of the instance will be (in GB).
■ vcpus How many vcpus the restored instance will have available.
■ swap How big the Swap of the restored instance will be (in MB). Leave empty
for none.
■ disk Size of the root disk the instance will start with.
Warning: The root disk needs to be at least as big as the root disk of the backed-up
instance.
'instances':[
{
'name':'cdcentOS-1-selective',
'availability_zone':'US-East',
'nics':[
{
'mac_address':'fa:16:3e:00:bd:60',
'ip_address':'192.168.0.100',
'id':'8b871820-f92e-41f6-80b4-00555a649b4c',
'network':{
'subnet':{
'id':'2b1506f4-2a7a-4602-a8b9-b7e8a49f95b8'
},
'id':'d5047e84-077e-4b38-bc43-e3360b0ad174'
}
Performing snapshots, backups, and restores of OpenStack 126
Required restore.json file for CLI
}
],
'vdisks':[
{
'id':'4cc2b474-1f1b-4054-a922-497ef5564624',
'new_volume_type':'ceph',
'availability_zone':'nova'
}
],
'flavor':{
'ram':2048,
'ephemeral':0,
'vcpus':1,
'swap':'',
'disk':20,
'id':'2'
},
'include':True,
'id':'890888bc-a001-4b62-a25b-484b34ac6e7e'
}
]
Warning: Do not mix network topology restore together with network mapping.
restore_topology:True
restore_topology:False
{
'description':u '-',
'oneclickrestore':False,
'openstack':{
'instances':[
{
'name':'cdcentOS-1-selective',
'availability_zone':'US-East',
'nics':[
{
'mac_address':'fa:16:3e:00:bd:60',
'ip_address':'192.168.0.100',
'id':'8b871820-f92e-41f6-80b4-00555a649b4c',
'network':{
'subnet':{
'id':'2b1506f4-2a7a-4602-a8b9-b7e8a49f95b8'
},
'id':'d5047e84-077e-4b38-bc43-e3360b0ad174'
}
}
],
'vdisks':[
{
'id':'4cc2b474-1f1b-4054-a922-497ef5564624',
'new_volume_type':'ceph',
'availability_zone':'nova'
}
Performing snapshots, backups, and restores of OpenStack 128
Required restore.json file for CLI
],
'flavor':{
'ram':2048,
'ephemeral':0,
'vcpus':1,
'swap':'',
'disk':20,
'id':'2'
},
'include':True,
'id':'890888bc-a001-4b62-a25b-484b34ac6e7e'
}
],
'restore_topology':False,
'networks_mapping':{
'networks':[
{
'snapshot_network':{
'subnet':{
'id':'8b609440-4abf-4acf-a36b-9a0fa70c383c'
},
'id':'8b871820-f92e-41f6-80b4-00555a649b4c'
},
'target_network':{
'subnet':{
'id':'2b1506f4-2a7a-4602-a8b9-b7e8a49f95b8'
},
'id':'d5047e84-077e-4b38-bc43-e3360b0ad174',
'name':'internal'
}
}
]
}
},
'restore_type':'selective',
'type':'openstack',
'name':'getjson2'
}
■ restore_boot_disk Set to True if the boot disk of that virtual machine shall be
restored.
When the boot disk is at the same time a Cinder Disk, both values need to be set
true.
■ include Set to True if at least one volume from this instance shall be restored.
■ vdisks List of the disks that are connected to the instance. Each disk contains:
{
'description':u '-',
'name':'Inplace Restore',
'zone':'',
'oneclickrestore':False,
'restore_type':u 'inplace',
'type':u 'openstack',
'openstack':{
'instances':[
{
'restore_boot_disk':True,
'include':True,
'id':'ba8c27ab-06ed-4451-9922-d919171078de',
'vdisks':[
{
'restore_cinder_volume':True,
'id':'04d66b70-6d7c-4d1b-98e0-11059b89cba6',
'new_volume_type':'ceph'
Performing snapshots, backups, and restores of OpenStack 130
About backup mount
}
]
}
],
'restore_topology':False,
'networks_mapping':{
'networks':[
]
}
}
}
Spin up an instance from that image. It is recommended to have at least 8GB RAM
for the mount operation. A large backup copy may require more RAM.
Performing snapshots, backups, and restores of OpenStack 131
Creating a file recovery manager instance
guest-file-read
guest-file-write
guest-file-open
guest-file-close
4 Install python3.
yum install python3
5 Install lvm2.
yum install lvm2
Note: Mirrored volumes are not mounted automatically on the file recovery manager
instance. You must mount the mirrored volumes manually.
Using CLI
Each virtual machine has its own directory using the VM_ID as the identifier.
Using Horizon
There are 2 possibilities to identify mounted backups inside Horizon.
From the file recovery manager instance metadata
1. On the Horizon console, navigate to Compute > Instances.
2. Identify the file recovery manager instance.
3. Click the name of the file recovery manager instance to bring up its details.
4. On the Overview tab look for Metadata.
5. Identify the value for mounted_snapshot_url
The mounted_snapshot_url contains the ID of the backup that has been mounted
last.
Note: This value only gets updated, when a new backup is mounted.
Using CLI
nbosjm backup-mounted-list
Unmounting a backup
Once a mounted backup is no longer needed it is possible and recommended to
unmount the backup.
Unmounting a backup frees the file recovery manager instance to mount the next
backup and allows NetBackup for OpenStack retention policy to purge the former
mounted backup.
Warning: Deleting the file recovery manager instance does not update the
NetBackup for OpenStack appliance. The backup will be considered mounted until
an unmount command has been received.
Using Horizon
1. On the Horizon console, navigate to NBOS Backups > Protection.
2. Identify the protection that contains the backup to unmount.
3. Click the protection name to enter the protection overview.
4. Navigate to the Recovery Points tab.
5. Click Copies at the right of the recovery point row.
6. Identify the backup copy and click Unmount Backup.
Using CLI
About schedules
Every protection has its own schedule. Those schedules can be activated,
deactivated, and modified.
A schedule is defined by:
■ Status (Enabled/Disabled)
■ Start Day/Time
■ End Day
■ Hrs between two snapshots
Modifying a schedule
To modify a schedule, you must modify the protection.
See “Edit a protection” on page 105.
Performing snapshots, backups, and restores of OpenStack 136
About activating the email notifications
■ Protection plan
Status overview The status overview is always visible in the NBOS Backup
Admin area. It provides the following information:
The status of nodes is filled when the services are running and
in good status.
Subscriptions tab This tab provides information about all currently existing
protections. It is the most important overview tab for every
backup administrator and therefore the default tab is shown
when the NBOS Backup Admin area is opened.
Usage tab Administrators often need to figure out where a lot of resources
are used or they need to quickly provide usage information to
a billing system. This tab helps in these tasks by providing the
following information:
You can drill down to see the same information per protection
and finally per protected virtual machine.
Nodes tab This tab displays information about NetBackup for OpenStack
cluster nodes. The following information is shown:
■ Node name
■ Node ID
■ NetBackup for OpenStack Version of the node
■ IP address
■ Active controller node (True/False)
■ Status of the node
NBOSDM tab This tab displays the information about NetBackup for
(NetBackup for OpenStack data mover service. The following information is
OpenStack data mover shown:
service)
■ Service name
■ Compute node the service is running on.
■ Service status from an OpenStack perspective (enabled
or disabled)
■ Version of the service
■ General status
■ Last time the status was updated.
Performing Backup Administration tasks 140
NBOS Backup Admin Area
The audit log can be searched for strings. For example, only
entries done by a specific user.
Protection Plan tab Use the Protection Plan tab to work with the protection plans.
Settings tab This tab manages all global settings for the cloud. NetBackup
for OpenStack has two types of settings:
■ Email settings
See “Configuring the email settings” on page 140.
■ Job scheduler settings
See “Enabling or disabling a job scheduler” on page 142.
■ --metadata Sets if the setting can be seen publicly. Not required for email
settings.
■ <name> Name of the setting.
■ --metadata Sets if the setting can be seen publicly. Not required for email
settings.
Performing Backup Administration tasks 142
NBOS Backup Admin Area
■ --get_hidden Hidden settings (True) or not (False). Not required for email
settings, use False if set.
■ <setting_name> Name of the setting to show.
smtp_timeout Integer 10
Protection plan
NetBackup for OpenStack’s tenant driven backup service gives tenants control over
backup protections. However, sometimes it may be too much control to tenants
and the cloud administrators may want to limit what protections are allowed by
tenants. For example, a tenant may exceed its quota by performing full backups at
a very high frequency. If every tenant was to pursue such a backup protection, it
may affect the resource limits set on the cloud infrastructure. Instead, if the
NetBackup administrator can define predefined protection plans and each tenant
is only limited to those protections then NetBackup administrators can exert better
control over backup service.
Using CLI
nbosjm protection-plan-list
Using CLI
2 Show a trust.
nbosjm trust-show <trust_id>
3 Create a trust.
nbosjm trust-create [--is_cloud_trust {True,False}] <role_name>
4 Delete a trust.
nbosjm trust-delete <trust_id>
■ --project_id List the policies that belong to the specified project only.
■ --storage_type The storage type (S3 or NFS), where the policies are
stored.
■ --backup_path The backup storage path where backups are stored.
■ --policyids Specify policy IDs to verify that the policies are imported
properly.
■ --storage_type The storage type (S3 or NFS), where the policies are
stored.
■ --backup_path The backup storage path where backups are stored.
Performing Backup Administration tasks 147
Policy import and migration
Before you run import policy commands for S3 storage type, perform the following.
1. Add the following details in the /etc/nbos/nbosjm.conf file.
vault_s3_auth_version = DEFAULT
vault_s3_access_key_id = << s3_access_key >>
vault_s3_secret_access_key = <<s3_secret_access_key>>
vault_s3_region_name = << s3_region_name >>
vault_s3_bucket = << vault_s3_bucket >>
vault_s3_endpoint_url = << vault_s3_endpoint_url >>
vault_s3_signature_version = default
vault_s3_ssl = False
vault_s3_ssl_cert =
vault_enable_threadpool = True
vault_s3_support_empty_dir = False
[s3fuse_sys_admin]
helper_command = sudo /home/stack/myansible/bin/nbosjm-rootwrap
/etc/nbosjm/rootwrap.conf privsep-helper
Orphaned policies
The definition of an orphaned policy is from the perspective of a specific NetBackup
for OpenStack installation. Any policy that is located on the backup target storage,
but not known to the NetBackup for OpenStack installation is considered orphaned.
Further is to divide between polices that were previously owned by projects/users
in the same cloud or are migrated from a different cloud.
The following CLI command provides the list of orphaned polices:
■ --migrate_cloud Set to True if you want to list policies from other clouds as
well. Default is False.
Performing Backup Administration tasks 148
Policy import and migration
■ --generate_yaml Set to True if you want to generate output file in the YAML
file format, which is further used as the input for policy reassign API.
Running this command against a backup target with many policies can take a bit
of time. NetBackup for OpenStack is reads the complete storage and verifies every
found policy against the policies known in the database.
The protections are listed as orphaned protections. The project and user of
the OpenStack cloud A do not exist on the OpenStack cloud B.
4 List the orphaned protections.
Orphaned protections are the protections that are no longer linked to an active
tenant or user within the cloud. To identify and list all orphaned protections that
do not have tenant_id or user_id associated with the current cloud
environment, run the following command:
nbosjm protection-get-orphaned-protections-list [--migrate_cloud
{True,False}]
Disaster recovery 150
About disaster recovery in NetBackup for OpenStack
■ --migrate_cloud Set to True if you want to list policies from other clouds
as well. The default value is False.
■ --old_tenant_ids The IDs of the old tenants from which you want to
assign the protections.
■ --new_tenant_id The ID of the new tenant to which you want to assign
the protections.
■ --protection_plan_id The ID of the protection plan to which you want
to assign the protections.
■ --user_id The user ID to which you want to assign the protections.
4 Run the following command to see the status of the import job.
nbosjm get-protection-import-status
5 After the protection import operation is complete, enable the global job
scheduler.
nbosjm enable-global-job-scheduler
Chapter 9
Troubleshooting
This chapter includes the following topics:
■ Using the nbosjm CLI tool on the NetBackup for OpenStack Appliance
■ Cannot create volumes if the metadata size for physical volume and volume
group is small
■ Snapshot job fails if the OpenStack image is not accessible to the OpenStack
user
■ One-click restore fails if the subnet attached to the instance is not accessible
to the OpenStack user
■ NBOS Backups and NBOS Backup Admin tabs disappear from Horizon UI after
stack is updated
■ The NetBackup for OpenStack services do not start after NBOSVM is restarted
■ The NBOSVM is not able to communicate with the nbosdmapi on the controller
node
nbosdmapi
The nbosdmapi service is the connector between the NetBackup for OpenStack
cluster and the data mover running on the compute nodes.
The purpose of the nbosdmapi service is to identify which compute node is
responsible for the current backup or restore task. To do so, the nbosdmapi service
connects to the nova API database requesting the compute host of a provided
virtual machine.
Once the compute host has been identified the nbosdmapi forwards the command
from the NetBackup for OpenStack Cluster to the data mover running on the
identified compute host.
nbosdm
The nbosdm is the NetBackup for OpenStack service running on the compute
nodes.
Each data mover is responsible for the virtual machines running on top of its compute
node. A data mover cannot work with virtual machines running on a different compute
node.
The data mover controls the freeze and thaw of virtual machines as well as the
actual movement of the data.
OpenStack Quotas
To protect the Cinder volumes, NetBackup for OpenStack creates Cinder snapshots
and additional temporary Cinder volumes. The tenant administrator must configure
the OpenStack quotas accordingly to provision adequate snapshots and the volumes
that full and incremental backups need. The temporary volumes are used to generate
disk map information per disk, and to calculate incrementally changed data.
Volume quota requirement is based on the total number of disks getting backed up
simultaneously though one or more protections. As the number of simultaneous
backups increases, more volume quota is required. Tenant administrator can
determine the volume quota by calculating the sum of the total number of instances
and the total number of disks that are attached to those instances. For example,
you want to protect 10 instances and each instance has two disks attached. To
protect these instances simultaneously through one or more protections, the required
volume quota is 30.
source /home/stack/myansible/bin/activate
nbosjm-api
This service runs and is active on every NetBackup for OpenStack node.
nbosjm-scheduler
This service runs and is active on every NetBackup for OpenStack node.
nbosjm-cron
This service is controlled by pacemaker and runs only on the master node.
WARNINGS:
Corosync and pacemaker node names do not match (IPs used in setup?)
Stack: corosync
Current DC: nbosvm1-ansible-ussuri-ubuntu18-vagrant (version
1.1.23-1.el7_9.1-9acf116022) - chapterition with quorum
Last updated: Wed Feb 3 19:20:02 2021
Last change: Wed Jan 27 20:00:12 2021 by root via crm_resource on
nbosvm1-ansible-ussuri-ubuntu18-vagrant
1 node configured
6 resource instances configured
Online: [ nbosvm1-ansible-ussuri-ubuntu18-vagrant ]
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
Troubleshooting 160
Health check of NetBackup for OpenStack
Mount availability
The NetBackup for OpenStack Cluster needs access to the Backup Target and
should have the correct mount at all times.
[root@Upstream ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.8G 38M 3.8G 1% /dev/shm
tmpfs 3.8G 427M 3.4G 12% /run
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/vda1 40G 8.8G 32G 22% /
tmpfs 773M 0 773M 0% /run/user/996
tmpfs 773M 0 773M 0% /run/user/0
10.10.2.20:/upstream 1008G 704G 254G 74% /var/NetBackupOpenStack-mounts/
MTAuMTAuMi4yMDovdXBzdHJlYW0=
10.10.2.20:/upstream2 483G 22G 462G 5% /var/NetBackupOpenStack-mounts/
MTAuMTAuMi4yMDovdXBzdHJlYW0y
The next important log is the nbosjm-api.log, which contains all logs about API calls
received by the NetBackup for OpenStack Cluster. It can be found at:
/var/log/nbosjm/nbosjm-api.log
Troubleshooting 162
Important log files
The log for the third service is the nbosjm-scheduler.log, which contains all logs
about the internal job scheduling between NetBackup for OpenStack nodes in the
NetBackup for OpenStack Cluster.
/var/log/nbosjm/nbosjm-scheduler.log
The last service running on the NetBackup for OpenStack Nodes is the nbosjm-cron
service, which controls the scheduled automated backups.
/var/log/nbosjm/nbosjm-cron.log
■ nbosdm log
The log for the NetBackup for OpenStack data mover service is located on the
nodes, typically compute, where the NetBackup for OpenStack data mover
container is running under:
/var/log/containers/nbosdm/nbosdm.log
For VxMS-supported Linux file systems, VxMS logs for the incremental backups
are stored at the following location: /usr/openv/netbackup/logs/vxms/
VxMS log level is defined in /usr/openv/netbackup/bp.conf file and it is configured
to 2 by default.
VXMS_VERBOSE = 2
You can configure the log level from 0 to 5. A higher number results in more verbose
logs.
Note: VxMS log may take significant disk space when the log verbosity is set to
high. Ensure that you clean up the VxMS log files periodically to avoid any disk
space-related issues.
0 No logging
Troubleshooting 163
Important log files
1 Error logging
4 Same as level 3.
■ nbosdm log
The log for the NetBackup for OpenStack data mover service is typically located
on the compute nodes and the logs can be found here:
/var/log/nbosdm/nbosdm.log
For VxMS-supported Linux file systems, VxMS logs for the incremental backups
are stored at the following location: /usr/openv/netbackup/logs/vxms/
VxMS log level is defined in /usr/openv/netbackup/bp.conf file and it is configured
to 2 by default.
VXMS_VERBOSE = 2
You can configure the log level from 0 to 5. A higher number results in more verbose
logs.
Troubleshooting 164
Troubleshooting NBOSDM container in offline state due to unavailable mount point
Note: VxMS log may take significant disk space when the log verbosity is set to
high. Ensure that you clean up the VxMS log files periodically to avoid any disk
space-related issues.
0 No logging
1 Error logging
4 Same as level 3.
Check the logs for an error. NetBackup for OpenStack data mover container logs
are stored at the following location:
■ RHOSP: /var/log/nbosdm/nbosdm.log
■ OpenStack Ansible: /var/log/nbosdm/nbosdm.log
Example log file:
Note: This issue is applicable only for Windows Server 2022, Windows Server
2019, Windows Server 2016, Windows Server 2012 R2, and Windows Server 2012.
3 3. Run the following command to change the directory ownership to nova for
the directories /etc/nbosjm and a mount directory, for example /var/nbos.
chown -R nova:nova <directory_name>
A .tgz file is created, which contains all the logs available in the /var/log
directory.
For example: NBSU_<hostname>_nbosvm_10092023_082422.tgz
Troubleshooting 168
Cannot create volumes if the metadata size for physical volume and volume group is small
pvdisplay -C -o name,mda_size,mda_free
vgdisplay -C -o name,mda_size,mda_free
While creating a physical volume or the volume group, run the following command
to set the metadata size:
pvcreate –metadatasize <metadata size>
To resolve this issue, ensure that the OpenStack image is accessible to the
OpenStack user.
To resolve this issue, ensure that the subnet that is attached to the OpenStack
instance is accessible to the OpenStack user.
Troubleshooting 170
The NBOSVM configurator UI does not detect the primary server
For example,
sh register_nbopenstack_service.sh /home/stack/overcloudrc http
10.xxx.xxx.xx
This script registers the NetBackup for OpenStack service so that the NBOS
Backups and NBOS Backup Admin tabs appear on the Horizon UI.
Troubleshooting 171
The protection creation fails on the Horizon UI
Verify if the protection plan is deleted on the NetBackup web UI. If the protection
plan is deleted, use another protection plan to create the protection.
■ rabbitmq-server
2 Run the following commands on one of the NBOSVM nodes to start the
NBOSVM cluster services:
2 Run the following command to insert the iptables rule before the DROP rule.
sudo iptables -I INPUT <linenumber> -p tcp -s <nbosvm subnet>
--dport <HTTP/HTTPS port number> -m conntrack --ctstate
NEW,ESTABLISHED -j ACCEPT
For example, if the DROP iptables rule line number is 88, the NBOSVM subnet
is 10.xxx.xxx.xx/20, and NBOSVM is configured with HTTPS, the command
is:
sudo iptables -I INPUT 87 -p tcp -s 10.xxx.xxx.xx/20 --dport 13784
-m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT