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
- About NetBackup for OpenStack backup target types
- Installing NetBackup for OpenStack Components
- Installing on RHOSP
- Prepare for deployment
- Uploading the NetBackup for OpenStack puppet module
- Updating the overcloud roles data file to include NetBackup for OpenStack services
- Preparing the NetBackup for OpenStack container images
- Providing the environment details in nbos_env.yaml
- Deploying the overcloud with NetBackup OpenStack environment
- Verifying the deployment
- Additional Steps on NetBackup for OpenStack Appliance
- Troubleshooting for overcloud deployment failures
- Installing on Ansible OpenStack Ussuri
- Installing on Kolla Ussuri
- Changing the nova user ID on the NetBackup for OpenStack Nodes
- Copying the NetBackup for OpenStack deployment scripts
- Copying the NetBackup for OpenStack deployment scripts to Kolla-ansible deploy scripts
- Pushing NetBackup for OpenStack images to the local registry
- Editing globals.yml to set NetBackup for OpenStack parameters
- Enabling the NetBackup for OpenStack snapshot mount feature
- Pulling the NetBackup for OpenStack container images
- Deploying the NetBackup for OpenStack components
- Verifying the NetBackup for OpenStack deployment
- 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 Kolla Openstack
- Cleaning NetBackupOpenStack_datamover_api container
- Cleaning NetBackupOpenStack_datamover container
- Cleaning haproxy of NetBackupOpenStack Datamover API
- Cleaning Kolla Ansible deployment procedure
- Reverting to original Horizon container
- Cleaning Keystone resources
- Cleaning NetBackup for OpenStack database resources
- 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
- Cleaning up the volume 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
- Creating 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 the NetBackup for OpenStack backup target storage type.
See See About NetBackup for OpenStack backup target types.
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