DRE compatibility and integration with cloud management platforms
This is a quick reference on the DRE compatibility with different cloud management platforms.
StorPool supported integrations
DRE is out of the box compatible with the OpenStack, CloudStack, OpenNebula, and Proxmox cloud management platforms through their StorPool integrations (see StorPool integrations).
Integrating a CMP with the DRE
In order to work with different cloud management platforms, the DRE uses simple metadata that the CMP (its storage driver) stores in the StorPool cluster.
Every Virtual Machine (VM) has one or more disks, which correspond to StorPool volumes (see Volumes). The CMP can provide tags to these volumes that the DRE understands and thus recognize the VMs and be able to perform the DR operations on them. There are two essential pieces of information that should be provided by the CMP:
A Virtual Machine ID for every volume via the
vmid=<Virtual Machine ID>
tag.This is needed because the DRE works with VMs and it also enables it to create atomic crash-consistent snapshots of all of the VM disks.
A specific disk identifier (ordering) for the volume via the
disk=<Disk number or device or other unique ordering>
tag.Note that these can be reused for each VM, their only purpose is to order the disks inside the the VM. The DRE needs this information so it could perform the DR Revert (see Disaster Recovery Engine API) action and restore the VM disks according to their numbering (i.e. not swap the root disk with some data disk, etc).
These tags should be maintained by the CMP to match its internal state, for example, if a disk is added/removed from a VM, its volume should be tagged/untagged with the proper information.
All VMs that the DRE recognizes can be listed with the dreStatus API call (see Disaster Recovery Engine API). The DRE will also list information about their disks that can be used to verify the integration is working as expected.