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>`_.


Release files for osvolbackup 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for osvolbackup 0.0.2
File Size Uploaded
osvolbackup-0.0.2.tar.gz 7.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for osvolbackup 0.0.2
File Interpreter ABI Platform
osvolbackup-0.0.2-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 17.9 kB

Release files / osvolbackup-0.0.2.tar.gz

Download URL osvolbackup-0.0.2.tar.gz
Size 7.5 kB
Tags Source
SHA-256 checksum
How to use checksums
aa3e246ef03d163726d9657826528e06002dc55958a6f021bcafa0094b4eebb1
BLAKE2b-256 checksum
How to use checksums
e875e89d061ec2a77afbcb0d454faa49c1c21049b299cf29c2a59e4804664ea6
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / osvolbackup-0.0.2-py2.py3-none-any.whl

Download URL osvolbackup-0.0.2-py2.py3-none-any.whl
Size 10.3 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
ee14673d2ef5531a3b40ade1e1d0b896a525bcbed1b130de0e097444d8d1dfdb
BLAKE2b-256 checksum
How to use checksums
cea8cbe767aa161a923434c253985f253ead0723dceaff99e763d0c3db1ef6c8
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page