Back up TF databases¶
MOSK enables you to perform the automatic TF
data backup using the tf-dbbackup-job
cron job. Also, you can configure
a remote NFS storage for TF data backups. For configuration details,
refer to the Tungsten Fabric database section in Reference Architecture.
This section provides instructions on how to back up the TF data manually if needed.
Manually back up TF data in the JSON format¶
Disable the Neutron server that is used by OpenStack to communicate with the Tungsten Fabric API:
Note
The database changes associated with northbound APIs must be stopped on all systems before performing any backup operations.
Scale the
neutron-server
deployment to 0 replicas:kubectl -n openstack scale deploy neutron-server --replicas 0
Verify the number of replicas:
kubectl -n openstack get deploy neutron-server
Example of a positive system response:
NAME READY UP-TO-DATE AVAILABLE AGE neutron-server 0/0 0 0 6d22h
Join the Tungsten Fabric API that is part of the
config
DaemonSet:Obtain the
tf-config
pod:kubectl -n tf get pod -l tungstenfabric=config
Example of a system response:
NAME READY STATUS RESTARTS AGE tf-config-6ppvc 5/5 Running 0 5d4h tf-config-rgqqq 5/5 Running 0 5d4h tf-config-sb4kk 5/5 Running 0 5d4h
Join the Bash shell of one of the
api
container from the previous step:kubectl -n tf exec -it tf-config-<hash> -c api -- bash
Example of a system response:
(config-api[hostname])[<USER>@<HOSTNAME> /]$
Inside the
api
container, change the directory to the Pythonconfig management
packages:cd /usr/lib/python2.7/site-packages/cfgm_common
Back up data using
db_json_exim
in JSON format:python db_json_exim.py --export-to /tmp/db-dump.json
Verify the created dump:
cat /tmp/db-dump.json | python -m json.tool | less
Copy the backup from the container:
kubectl -n tf cp tf-config-<hash>:/tmp/db-dump.json <DESTINATION-PATH-FOR-BACKUP>
On the same
config
node, copy thecontrail-api.conf
file from the container to the host:kubectl -n tf cp tf-config-<hash>:/etc/contrail/contrail-api.conf <DESTINATION-PATH-FOR-CONF>
Enable the Neutron server:
Scale the
neutron-server
deployment back to the desired number of replicas. Default is 3.kubectl -n openstack scale deploy neutron-server --replicas <DESIRED-NUM-REPLICAS>
Verify the number of replicas:
kubectl -n openstack get deploy neutron-server
Example of a system response:
NAME READY UP-TO-DATE AVAILABLE AGE neutron-server 3/3 3 3 6d23h
See also