docs/doc/source/backup/openstack/restore-openstack-from-a-backup.rst
MCamp859 f89156f38e Remove mention to wr-openstack
Change “wr-openstack” instances to “|prefix|-openstack”.

PS2: Use |prefix| substitution instead of "stx"
PS3, 4, 5, 6, 7: Fix table alignment
PS8: Replace table with text for |prefix| usage

Closes-Bug: 1948045

Change-Id: I41f804dd83d480e99a9c8ebfc252def3de0215ea
Signed-off-by: MCamp859 <maryx.camp@intel.com>
2021-11-03 22:11:16 -04:00

4.5 KiB

Restore OpenStack from a Backup

You can restore from a backup with or without Ceph.

  • You must have a backup of your installation as described in Back up OpenStack <back-up-openstack>.
  • You must have an operational deployment.

  1. Delete the old OpenStack application and upload it again.

    Note

    Images and volumes will remain in Ceph.

    ~(keystone_admin)$ system application-remove -openstack ~(keystone_admin)$ system application-delete -openstack ~(keystone_admin)$ system application-upload -openstack.tgz

  2. Restore .

    You can choose either of the following options:

    • Restore only system data. This option will not restore the Ceph data (that is, it will not run commands like rbd import). This procedure will preserve any existing Ceph data at restore-time.
    • Restore system data, Cinder volumes and Glance images. You'll want to run this step if your Ceph data will be wiped after the backup.

Restore only application system data

Run the following command:

~(keystone_admin)$ ansible-playbook /usr/share/ansible/-ansible/playbooks/ restore_openstack.yml -e 'initial_backup_dir=<location_of_backup_filename> ansible_become_pass=<admin_password> admin_password=<admin_password> backup_filename=<nnn>-openstack_backup.tgz'

Where <nnn> is a user-defined value, such as or the backup date.

Restore application system data, cinder volumes and glance images

  1. Run the following command:

    ~(keystone_admin)$ ansible-playbook /usr/share/ansible/-ansible/playbooks/ restore_openstack.yml -e 'restore_cinder_glance_data=true initial_backup_dir=<location_of_backup_filename> ansible_become_pass=<admin_password> admin_password=<admin_password> backup_filename=<nnn>-openstack_backup.tgz'

    Where <nnn> is a user-defined value, such as or the backup date.

    When this step has completed, the Cinder, Glance and MariaDB services will be up, and Mariadb data restored.

  2. Restore Ceph data.

    1. Restore Cinder volumes using the rbd import command.

      For example:

      ~(keystone_admin)$ rbd import -p cinder-volumes /tmp/611157b9-78a4-4a26-af16-f9ff75a85e1b

      Where tmp/611157b9-78a4-4a26-af16-f9ff75a85e1b is a file saved earlier at the backup procedure as described in .

    2. Restore Glance images using the image-backup script.

      For example, if we have an archive named image_3f30adc2-3e7c-45bf-9d4b-a4c1e191d879.tgz in the /opt/backups directory, we can use restore it using the following command:

      ~(keystone_admin)$ sudo image-backup.sh import image_3f30adc2-3e7c-45bf-9d4b-a4c1e191d879.tgz
    3. Use the tidy_storage_post_restore utility to detect any discrepancy between Cinder/Glance DB and rbd pools:

      ~(keystone_admin)$ tidy_storage_post_restore <log_file>

      After the script finishes, some command output will be written to the log file. They will help reconcile discrepancies between the database and CEPH data.

  3. Run the playbook again with the restore_openstack_continue flag set to true to bring up the remaining OpenStack services.

    ~(keystone_admin)$ ansible-playbook /usr/share/ansible/-ansible/playbooks/ restore_openstack.yml -e 'restore_openstack_continue=true initial_backup_dir=<location_of_backup_filename> ansible_become_pass=<admin_password> admin_password=<admin_password> backup_filename=<nnn>-openstack_backup.tgz'

    Where <nnn> is a user-defined value, such as or the backup date.