Este contenido no está disponible en el idioma seleccionado.
Chapter 1. Overview of the Red Hat OpenStack Platform Block Storage backup service
Red Hat OpenStack Platform (RHOSP) provides the foundation to build a private or public Infrastructure-as-a-Service (IaaS) cloud on top of Red Hat Enterprise Linux. It is a scalable, fault-tolerant platform for the development of cloud-enabled workloads.
You can manage most features of the backup service by using either the RHOSP dashboard or the command-line client methods, however you must use the command line to execute some of the more advanced procedures.
For the complete suite of documentation for Red Hat OpenStack Platform, see Red Hat OpenStack Platform Documentation.
The Block Storage service (cinder) provides a horizontally scalable backup service that you can use to back up cinder volumes using diverse storage back ends. You can use the Block Storage backup service to create full or incremental backups and to restore these backups. The service is volume-array independent.
The Red Hat OpenStack Platform director is a toolset for installing and managing a complete OpenStack environment. The Red Hat OpenStack director orchestrates a functional, Enterprise-grade OpenStack deployment with minimal manual configuration. It helps address many of the issues inherent in manually configuring individual OpenStack components.
The end-result deployed by the director is called the overcloud. The overcloud houses all the components that provide services to end users, including Block Storage. The Block Storage backup service is an optional service deployed on Controller nodes.
This document provides guidance about how to deploy the Block Storage backup service to use a specific back end. This guide describes planning, installing, configuring, and using the Block Storage backup service.
1.1. What is a backup? Copiar enlaceEnlace copiado en el portapapeles!
A volume backup is a persistent copy of the contents of a volume. Volume backups are typically created as object stores. By default, they are managed through the OpenStack Object Storage service (swift). Optionally, you can configure Red Hat Ceph Storage and NFS as alternative back ends for backups.
When you create a volume backup, all of the backup metadata is stored in the Block Storage service database. The cinder-backup service uses the metadata to restore a volume from the backup. When you recover data from catastrophic database loss, you must restore the Block Storage service database before restoring any volumes from backups. This recovery scenario presumes that the Block Storage service database is restored with all of the original volume backup metadata intact.
If you want to configure volume backups for only a subset of data, you must export the backup metadata for the volume. Volume metadata backups enable you to re-import the metadata to the Block Storage database, through the REST API or the cinder client, and restore the volume backup as normal.
Volume backups are different from snapshots. Backups preserve the data contained in the volume and are used to prevent data los. Snapshots preserve the state of a volume at a specific point in time and are used to facilitate cloning. You cannot delete a volume if it has existing snapshots.
To minimize latency during cloning, snapshot back ends are typically co-located with volume back ends. In a typical enterprise deployment, a backup repository is located in a separate location from the volume back end, such as on a different node, physical storage, or geographical location. This practice protects the backup repository from damage that might occur to the volume back end.
For more information about volume snapshots, see Create, Use, or Delete Volume Snapshots in the Storage Guide.
1.2. How do backups and restores work? Copiar enlaceEnlace copiado en el portapapeles!
Volume backups and restores have similar workflows.
1.2.1. Volume backup workflow Copiar enlaceEnlace copiado en el portapapeles!
When the Block Storage backup service performs a back up, it receives a request from the cinder API to back up a targeted volume and store the backup content on the back end.
The following diagram illustrates how the request interacts with cinder services to perform the backup.
- The client issues a request to back up a cinder volume by invoking the cinder REST API.
The cinder API service receives the request from HAProxy and validates the request, user credentials, and so forth.
- Creates the backup record in the SQL database.
- Makes an asynchronous RPC call to the cinder-backup service via AMQP to back up the volume.
- Returns the current backup record, with an ID, to the API caller.
- The RPC create message arrives on one of the backup services.
- The cinder-backup service makes a synchronous RPC call to get_backup_device.
- The cinder-volume service ensures the correct device is returned to the caller. Normally, it is the same volume, but if the volume is in use, the service returns a temporary cloned volume or a temporary snapshot instead, depending on the configuration.
- The cinder-backup service makes another synchronous RPC to cinder-volume to expose the source device.
- The cinder-volume service exports and maps the source device (volume or snapshot) returning the appropriate connection information.
- The cinder-backup service attaches source volume using connection information.
- The cinder-backup service calls the backup driver with the device already attached, which begins the data transfer to the backup destination.
- The volume is detached from the backup host.
- The cinder-backup service makes a synchronous RPC to cinder-volume to disconnect the source device.
- The cinder-volume service unmaps and removes the export from the device.
- If a temporary volume or temporary snapshot was created, cinder-backup calls cinder-volume to remove it.
- The cinder-volume service removes the temporary volume.
- After the backup completed, the backup record is updated in the database.
1.2.2. Volume restore workflow Copiar enlaceEnlace copiado en el portapapeles!
The following diagram illustrates the steps that occur when a user restores a Block Storage backup.
- The client issues a request to restore a cinder backup by invoking the CinderREST API.
- The cinder API receives the request from HAProxy and validates the request, user credentials, and so forth.
- If the request did not contain an existing volume as the destination, the API makes an asynchronous RPC call to create a new volume and polls the status of the volume until it becomes available.
- The cinder-scheduler selects a volume service and makes the RPC call to create the volume.
- The selected cinder-volume service creates the volume.
- After the cinder-api detects the available volume, the backup record is created in the database.
- The cinder-api makes an asynchronous RPC call to the backup service via AMQP to restore the backup and returns the current volume ID, backup ID, and volume name to the API caller.
- The RPC create message arrives on one of the backup services.
- The cinder-backup service makes a synchronous RPC call to cinder-volume to expose the destination volume.
- The cinder-volume service exports and maps the destination volume and returns the appropriate connection information.
- The cinder-backup service attaches the source volume using connection information.
- The cinder-backup service calls the driver with the device already attached, which begins the data restoration to the volume destination.
- The volume is detached from the backup host.
- The cinder-backup service issues a synchronous RPC to cinder-volume to disconnect the source device.
- The cinder-volume service unmaps and removes the export from the device.
- After the backup completes, the backup record is updated in the database.