This section instructs you on how to back up and restore Glance images and covers both the local storage and the Ceph back end for Glance configurations. Both procedures presuppose that the Glance API is in the working state.
To back up Glance images:
Log in to the Salt Master node.
Verify that there is enough space on the OpenStack controller node to which you will copy the Glance images.
Copy the images to the backup destination preserving the context. For
example, to copy the images to the ctl01
node:
salt -C 'I@glance:server and *01*' cmd.run '. /root/keystonercv3; cd <PATH_TO_BACKUP>; for i in `openstack image list -c ID -f value`; \
do openstack image save --file $i $i; done'
If needed, move the backed up images to the external backup location.
To restore Glance images:
Log in to the Salt Master node.
If needed, copy the images from the external backup location to an OpenStack controller node.
Copy the images from the OpenStack controller node to the Glance folder
with the images. In the example commands below, the ctl01
node is used
as the OpenStack controller node containing the backed up Glance images:
Note
GlusterFS will automatically replicate the restored images to all other OpenStack controller nodes.
If the local storage is used, run:
salt -C 'I@glance:server and *01*' cmd.run "cp -a <PATH_TO_BACKUP>/. /var/lib/glance/images/"
If the Ceph back end is used, run:
salt -C 'I@glance:server and *01*' cmd.run ". /root/keystonercv3; cd <PATH_TO_BACKUP>; for i in `openstack image list -c ID -f value`; \
do rbd import -p images $i; rbd snap create -p images $i@snap; done"
Verify that the restored Glance images are available:
salt -C 'I@keystone:client' cmd.run ". /root/keystonercv3; openstack image list"
Note
If the context of the Glance images files is lost, run:
salt -C 'I@glance:server' cmd.run "chown glance:glance <IMAGE_FILE_NAME>"
salt -C 'I@glance:server' cmd.run "chmod 640 <IMAGE_FILE_NAME>"