Hi, So here's a possibly stupid question - or rather, a series of such :) Let's say a company has two (or five, or a hundred) datacenters in geographically different locations and wants to deploy OpenStack in both. What would be a deployment scenario that would allow relatively easy migration (cold, not live) of instances from one datacenter to another?
My understanding is that for servers located far away from one another regions would be a better metaphor than availability zones, if only because it would be faster for the various storage, compute, etc. services to communicate with each other for the common case of doing actions within the same datacenter. Is this understanding wrong - is it considered all right for groups of servers located in far away places to be treated as different availability zones in the same cluster? If the groups of servers are put in different regions, though, this brings me to the real question: how can an instance be migrated across regions? Note that the instance will almost certainly have some shared-storage volume attached, and assume (not quite the common case, but still) that the underlying shared storage technology can be taught about another storage cluster in another location and can transfer volumes and snapshots to remote clusters. From what I've found, there are three basic ways: - do it pretty much by hand: create snapshots of the volumes used in the underlying storage system, transfer them to the other storage cluster, then tell the Cinder volume driver to manage them, and spawn an instance with the newly-managed newly-transferred volumes - use Cinder to backup the volumes from one region, then restore them to the other; if this is combined with a storage-specific Cinder backup driver that knows that "backing up" is "creating a snapshot" and "restoring to the other region" is "transferring that snapshot to the remote storage cluster", it seems to be the easiest way forward (once the Cinder backup driver has been written) - use Nova's "server image create" command, transfer the resulting Glance image somehow (possibly by downloading it from the Glance storage in one region and simulateneously uploading it to the Glance instance in the other), then spawn an instance off that image The "server image create" approach seems to be the simplest one, although it is a bit hard to imagine how it would work without transferring data unnecessarily (the online articles I've seen advocating it seem to imply that a Nova instance in a region cannot be spawned off a Glance image in another region, so there will need to be at least one set of "download the image and upload it to the other side", even if the volume-to-image and image-to-volume transfers are instantaneous, e.g. using glance-cinderclient). However, when I tried it with a Nova instance backed by a StorPool volume (no ephemeral image at all), the Glance image was zero bytes in length and only its metadata contained some information about a volume snapshot created at that point, so this seems once again to go back to options 1 and 2 for the different ways to transfer a Cinder volume or snapshot to the other region. Or have I missed something, is there a way to get the "server image create / image download / image create" route to handle volumes attached to the instance? So... have I missed something else, too, or are these the options for transferring a Nova instance between two distant locations? Thanks for reading this far, and thanks in advance for your help! Best regards, Peter -- Peter Penchev openstack-...@storpool.com https://storpool.com/
signature.asc
Description: PGP signature
_______________________________________________ Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack Post to : openstack@lists.openstack.org Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack