Compute Instance Backups

Methods for backing up an OpenStack Flex Compute Instance

Overview

Having backups of your instances is critical to disaster recovery. There are a few ways to go about backing up your data, this article will cover these processes here.

Instance Snapshots

📘

NOTE: Scheduling Snapshots of OpenStack Flex VMs is currently not available as an option. However, you can use an alternative script/API/cronjob method found here

An Instance Snapshot captures the state of a virtual machine and creates a bootable image that can be used to launch a new instance later. Instance snapshots are useful for preserving a VM configuration before making changes, creating templates, or performing quick recovery of an entire system.

Creating an Instance Snapshot

NOTE: Shutting down, or limiting activity on the VM ahead of snapshotting is ideal when possible.

  1. Log into the Skyline UI
  2. Navigate to Compute > Instances in the left-hand navigation pane
  3. Identify the server you want to snapshot > click More from the righthand side > Backups & Snapshots > Create Snapshot

Key characteristics:

  • Captures the VM's root disk state
  • Creates a Glance image that can be used to launch new instances
  • Useful for rollback, cloning, and migration scenarios
  • Typically crash-consistent rather than application-consistent
  • Not recommended as the sole backup mechanism for databases or transactional applications

Common use cases:

  • Pre-maintenance checkpoints
  • Golden image creation
  • VM cloning
  • Short-term recovery

Volume Snapshots

A Volume Snapshot captures the point-in-time state of a Volume. Unlike instance snapshots, volume snapshots focus on the attached storage rather than the entire virtual machine.

Creating a Volume Snapshot

NOTE: Shutting down, or limiting activity on the volume ahead of snapshotting is ideal when possible.

  1. Log into the Skyline UI
  2. Navigate to Storage > Volumes in the left-hand navigation pane
  3. Identify the volume you want to snapshot > click More from the righthand side > Data Protection > Create Snapshot

Key characteristics:

  • Captures a specific Cinder volume at a point in time
  • Can be used to create new volumes
  • Generally faster and more storage-efficient than full copies
  • Useful for protecting application data stored on persistent volumes
  • Typically crash-consistent unless application-specific steps are taken beforehand

Common use cases:

  • Application data protection
  • Volume rollback
  • Test and development cloning
  • Short-term recovery points

Volume Backups

A Volume Backup creates a backup of a Volume and stores it in a configured backup repository. Unlike snapshots, backups are designed for longer-term retention and disaster recovery.

Creating a Volume Backup

NOTE: Shutting down, or limiting activity on the volume ahead of backup is ideal when possible.

  1. Log into the Skyline UI
  2. Navigate to Storage > Volumes in the left-hand navigation pane
  3. Identify the volume you want to snapshot > click More from the righthand side > Data Protection > Create Backup

Key characteristics:

  • Copies volume data to a backup target
  • Supports long-term retention
  • Can be restored to new volumes
  • Often supports incremental backups after the initial full backup
  • Better suited for disaster recovery than snapshots

Common use cases:

  • Long-term data retention
  • Disaster recovery planning
  • Compliance requirements
  • Protection against volume or storage failures

Snapshot vs. Backup

FeatureInstance SnapshotVolume SnapshotVolume Backup
ScopeEntire VM imageIndividual volumeIndividual volume
Recovery SpeedFastFastSlower
Long-Term RetentionLimitedLimitedRecommended
Disaster RecoveryPartialPartialYes
Database ProtectionNot idealNot idealBetter when combined with application-aware backup procedures
Cloning/Test EnvironmentsExcellentExcellentLess common

IMPORTANT: Neither instance snapshots nor volume snapshots should be considered a substitute for application-aware database backups. Because snapshots are generally crash-consistent, databases may require recovery procedures and cannot guarantee transactional consistency unless additional preparation steps are taken before the snapshot is created.


Third Party Backup Solutions

While the following are not Rackspace products and so support would be provided from these other communities - it is worth mentioning them. Since OpenStack Flex is based on more vanilla OpenStack environments, here are some third party backup solutions available that can be used to create file level backups.

RequirementCommon Choice
Enterprise VM/Application BackupVeeam, Commvault, Rubrik
OpenStack-Specific Enterprise BackupBacula
Open Source Filesystem BackupRestic, Duplicity
Database-Aware BackupsNative DB tools + Swift storage

A common best practice is to use application-aware backups (database dumps, Veeam agents, Bacula jobs, etc.) and store the resulting backup data in Object Storage Containers (Swift), as an addition to OpenStack snapshots.