NetBackup™ for OpenStack Administrator's Guide
- Introduction
- Deploying NetBackup for OpenStack
- Requirements
- NetBackup for OpenStack network considerations
- Existing endpoints in OpenStack
- OpenStack endpoints required by NetBackup for OpenStack
- Recommendation: Provide access to all OpenStack Endpoint types
- Backup target access required by NetBackup for OpenStack
- Example of a typical NetBackup for OpenStack network integration
- Other examples of NetBackup for OpenStack network integrations
- Preparing the installation
- Spinning up the NetBackup for OpenStack VM
- Installing NetBackup for OpenStack Components
- Installing on RHOSP
- 1. Prepare for deployment
- 2] Upload NetBackup for OpenStack puppet module
- 3] Update overcloud roles data file to include NetBackup for OpenStack services
- 4] Prepare NetBackup for OpenStack container images
- 5] Provide environment details in nbos_env.yaml
- 6] Deploy overcloud with NetBackup OpenStack environment
- 7] Verify deployment
- 8] Additional Steps on NetBackup for OpenStack Appliance
- 9] Troubleshooting for overcloud deployment failures
- Installing on Ansible OpenStack Ussuri
- Installing on RHOSP
- Configuring NetBackup for OpenStack
- Post Installation Health-Check
- Uninstalling NetBackup for OpenStack
- Uninstalling from RHOSP
- Clean NetBackup for OpenStack Datamover API service
- Clean NetBackup for OpenStack Datamover Service
- Clean NetBackup for OpenStack haproxy resources
- Clean NetBackup for OpenStack Keystone resources
- Clean NetBackup for OpenStack database resources
- Revert overcloud deploy command
- Revert back to original RHOSP Horizon container
- Destroy the NetBackup for OpenStack VM Cluster
- Uninstalling from Ansible OpenStack
- Uninstall NetBackup for OpenStack Services
- Destroy NetBackup for OpenStack Datamover API container
- Clean openstack_user_config.yml
- Remove NetBackup for OpenStack haproxy settings in user_variables.yml
- Remove NetBackup for OpenStack Datamover API inventory file
- Remove NetBackup for OpenStack Datamover API service endpoints
- Delete NetBackup for OpenStack Datamover API database and user
- Remove nbosdmapi rabbitmq user from rabbitmq container
- Clean haproxy
- Remove certificates from Compute nodes
- Destroy the NetBackup for OpenStack VM Cluster
- Uninstalling from RHOSP
- Install nbosjm CLI client
- Configuring NetBackup OpenStack Appliance
- Configuring NetBackup Master Server
- NetBackup for OpenStack policies
- Performing backups and restores of OpenStack
- About snapshots
- List of snapshots
- Creating a snapshot
- Snapshot overview
- Delete snapshots
- Snapshot Cancel
- About restores
- List of Restores
- Restores overview
- Delete a Restore
- Cancel a Restore
- One-Click Restore
- Selective Restore
- In-place restore
- Required restore.json for CLI
- About file search
- Navigating to the file search tab in Horizon
- Configuring and starting a file search in Horizon
- Start the File Search and retrieve the results in Horizon
- Doing a CLI File Search
- About snapshot mount
- Create a File Recovery Manager Instance
- Mounting a snapshot
- Accessing the File Recovery Manager
- Identifying mounted snapshots
- Unmounting a snapshot
- About schedulers
- Disable a schedule
- Enable a schedule
- Modify a schedule
- About email notifications
- Requirements to activate email Notifications
- Activate/Deactivate the email Notifications
- Performing Backup Administration tasks
- NBOS Backup Admin Area
- Policy Attributes
- Policy Quotas
- Managing Trusts
- Policy import and migration
- Disaster Recovery
- Example runbook for disaster recovery using NFS
- Scenario
- Prerequisites for the disaster recovery process
- Disaster recovery of a single policy
- Copy the policy directories to the configured NFS Volume
- Make the Mount-Paths available
- Reassign the policy
- Add admin-user to required domains and projects
- Discover orphaned policies from NFS-Storage of Target Cloud
- List available projects on Target Cloud in the Target Domain
- List available users on the Target Cloud in the Target Project that have the right backup trustee role
- Reassign the policy to the target project
- Verify that the policy is available at the desired target_project
- Restore the policy
- Clean up
- Disaster recovery of a complete cloud
- Reconfigure the Target NetBackup for OpenStack installation
- Make the Mount-Paths available
- Reassign the policy
- Add admin-user to required domains and projects
- Discover orphaned policies from NFS-Storage of Target Cloud
- List available projects on Target Cloud in the Target Domain
- List available users on the Target Cloud in the Target Project that have the right backup trustee role
- Reassign the policy to the target project
- Verify that the policy is available at the desired target_project
- Restore the policy
- Reconfigure the Target NetBackup for OpenStack installation back to the original one
- Clean up
- Troubleshooting
- General Troubleshooting Tips
- Using the nbosjm CLI tool on the NetBackup for OpenStack Appliance
- Health check of NetBackup for OpenStack
- Important log files
- Troubleshooting NBOSDM container in offline state due to unavailable mount point
- About permission denied error when same NFS share path is used across multiple OpenStack distributions
- Index
Preparing the deployment host
Select Backup Target
Backup target storage is used to store the backup images that are taken by NetBackup for OpenStack and the details that are needed for configuration: NetBackup for OpenStack supports the following backup target types.
NFS
NFS server is configured
NFS share path
Universal Share
Universal Share server is configured
NFS Share path
Amazon S3
S3 Access Key
Secret Key
Region
Bucket name
Other S3 compatible storage (such as Ceph-based S3)
S3 Access Key
Secret Key
Region
Endpoint URL
Bucket Name
Copy Ansible roles and vars to the required places.
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
Add NetBackup for OpenStack playbook to /opt/openstack-ansible/playbooks/setup-openstack.ymlat the end of the file.
- import_playbook: os-nbos-install.yml
Add the following information at the end of the file /etc/openstack_deploy/user_variables.yml
# Datamover haproxy setting
haproxy_extra_services:
- service:
haproxy_service_name: nbosdm_service
haproxy_backend_nodes: "{{ groups['nbosdmapi_all'] | default([]) }}"
haproxy_ssl: "{{ haproxy_ssl }}"
haproxy_port: 8784
haproxy_balance_type: http
haproxy_backend_options:
- "httpchk GET / HTTP/1.0\\r\\nUser-agent:\\ osa-haproxy-healthcheck"
Create the file /opt/openstack-ansible/inventory/env.d/nbos-nbosdmapi.yml
Add the following information to the file.
cat > /opt/openstack-ansible/inventory/env.d/nbos-nbosdmapi.yml
component_skel:
nbosdmapi_api:
belongs_to:
- nbosdmapi_all
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
Edit the file /etc/openstack_deploy/openstack_user_config.yml according to the example below to set host entries for 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>
Edit the common editable parameter section in the file /etc/openstack_deploy/user_nbos_vars.yml
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.
##common editable parameters required for installing nbos-horizon-plugin,
nbosdm and nbosdmapi
#ip address of nbosvm
IP_ADDRESS: <Nbosvm IP>
##Time Zone
TIME_ZONE: "Etc/UTC"
#Update NBOS package version here, we will install mentioned version
plugins for Example# NBOS_PACKAGE_VERSION: 3.3.36
NBOS_PACKAGE_VERSION: <Build No>
# Update Openstack dist code name like ussuri etc.
OPENSTACK_DIST: ussuri
#Need to add the following statement in nova sudoers file
#nova ALL = (root) NOPASSWD: /home/nbos/.virtenv/bin/privsep-helper *
#These changes require for nbosdm, Otherwise nbosdm will not work
#Are you sure? Please set variable to
# UPDATE_NOVA_SUDOERS_FILE: proceed
#other wise ansible nbosdm installation will exit
UPDATE_NOVA_SUDOERS_FILE: proceed
##### Select snapshot storage type #####
#Details for NFS as snapshot storage , NFS_SHARES should begin with "-".
##True/False
NFS: True
NFS_SHARES:
- sample_nfs_server_ip1:sample_share_path
- sample_nfs_server_ip2:sample_share_path
#if NFS_OPTS is empty then default value will be
"nolock,soft,timeo=180,intr,lookupcache=none"
NFS_OPTS: ""
#### Details for S3 as snapshot storage
##True/False
S3: False
VAULT_S3_ACCESS_KEY: sample_s3_access_key
VAULT_S3_SECRET_ACCESS_KEY: sample_s3_secret_access_key
VAULT_S3_REGION_NAME: sample_s3_region_name
VAULT_S3_BUCKET: sample_s3_bucket
VAULT_S3_SIGNATURE_VERSION: default
#### S3 Specific Backend Configurations
#### Provide one of follwoing two values in s3_type variable,
string's case should be match
#Amazon/Other_S3_Compatible
s3_type: sample_s3_type
#### Required field(s) for all S3 backends except Amazon
VAULT_S3_ENDPOINT_URL: ""
#True/False
VAULT_S3_SECURE: True
VAULT_S3_SSL_CERT: ""
###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: ""
#### Any service is using Ceph Backend then set ceph_backend_enabled
value to True
#True/False
ceph_backend_enabled: False
#Set verbosity level and run playbooks with -vvv option to display
custom debug messages
verbosity_level: 3