Skip to main content
OpenStack Server Volumes Backup and Restore Tool
================================================

This command line utility can be used to backup/restore OpenStack volume backed server instances using Cinder backup service.

Screenshot
----------


.. image:: imgs/osvolbackup_test.png
:target: imgs/osvolbackup_test.png
:alt: Screenshot


Features
--------


* Live instance backup

* See ``consistency restrictions`` below
* Embed essential metadata in backup description
* Export backup volume metadata to file

Requirements
------------


* Python2.7+ and the OpenStack API libraries
* OpenStack environment with volume backed server instances
* OS environment variables set for the admin project ``(source stackrc)``
* `Cinder backup service <https://docs.openstack.org/cinder/queens/configuration/block-storage/backup-drivers.html>`_ properly configured
* Tested on [RedHat Open Stack Platform 13], should work on other OpenStack Queens based distributions

:warning: Live Backup Consistency Restrictions :warning:
--------------------------------------------------------

Live backup consistency of openstack images is dependent in the following conditions:


#. When using kvm/libvirt, guests must have the `Qemu guest agent <https://wiki.libvirt.org/page/Qemu_guest_agent>`_ installed, backups will succeed if the agent is not available, consistency will depend in the guest IO activity during the snapshot»
#. Nova API create image function does `not wait for snapshot creation <https://github.com/openstack/nova/blob/master/nova/compute/api.py#L3094>`_ before unfreezing the I/O, consistency will depend on the block device driver snapshot technology, it may depend on the guest IO activity during the snapshot creation

How to install
--------------

.. code-block:: sh

pip install --user osvolbackup

How to run from source
----------------------

.. code-block:: sh

git clone https://github.com/CCSGroupInternational/osvolbackup.git
cd osvolbackup.git
pip install --user -rrequirements.txt
python -m osvolbackup server «server_name»

How to test:
------------

.. code-block:: sh

# Create a test server
export SERVER_ID=test_server
tests/create-test-server.sh

# Create the backup
VERBOSE=1 python -m osvolbackup server ${SERVER_ID}

# Delete the test instance
openstack server delete ${SERVER_ID}
openstack volume delete ${SERVER_ID}_boot

# We use the instance uuid because the server name was deleted
INSTANCE_ID=$(openstack volume backup list | grep ${SERVER_ID}|cut -d" " -f4)
# Restore with the original config
VERBOSE=1 python -m osvolbackup server $INSTANCE_ID --restore last
# Restore with a different network config
VERBOSE=1 python -m osvolbackup server $INSTANCE_ID --restore last --network net1:10.3.1.99

Copyright
---------

© 2019 CCS Group International, distributed under the `Apache-2 license <LICENSE>`_.


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

osvolbackup-0.0.2.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

osvolbackup-0.0.2-py2.py3-none-any.whl (10.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file osvolbackup-0.0.2.tar.gz.

File metadata

  • Download URL: osvolbackup-0.0.2.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.14.2 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.5

File hashes

Hashes for osvolbackup-0.0.2.tar.gz
Algorithm Hash digest
SHA256 aa3e246ef03d163726d9657826528e06002dc55958a6f021bcafa0094b4eebb1
MD5 c7631015b93cabcc113fab9aadfa63a6
BLAKE2b-256 e875e89d061ec2a77afbcb0d454faa49c1c21049b299cf29c2a59e4804664ea6

See more details on using hashes here.

File details

Details for the file osvolbackup-0.0.2-py2.py3-none-any.whl.

File metadata

  • Download URL: osvolbackup-0.0.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.14.2 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.5

File hashes

Hashes for osvolbackup-0.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ee14673d2ef5531a3b40ade1e1d0b896a525bcbed1b130de0e097444d8d1dfdb
MD5 d7af84ccfd4cbd24584887e381a0a85a
BLAKE2b-256 cea8cbe767aa161a923434c253985f253ead0723dceaff99e763d0c3db1ef6c8

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 files

0.0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page