You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Background: When a data disk is needed by a VM that resides in a different cluster (i.e. different primary storage) than the current cluster/primary storage, it involves a costly/time consuming data copy operation - which involved copying data from one primary storage to another primary storage via the secondary storage. A primary storage is not shared across multiple clusters. As an example, AWS EBS provides the following benefits: EBS volumes are placed in a specific Availability Zone, and can then be attached to any instance in that same Availability Zone. Even though a volume can only be attached to one instance at a time, if an instance fails or is detached from an EBS volume, the volume can be attached to any other instance in that Availability Zone.

Requirement: CloudStack to support zone-wide (primary) block storage

- Multiple clusters can share the same primary storage (as long as the underlying hypervisor platform supports it)

- Only one VM can mount/attach a disk at any time (i.e. multiple VMs cannot attach the same disk concurrently)

- Since all hypervisors don't support this capability (for example, XS doesn't sharing NFS across multiple clusters), and a zone can be heterogeneous (from a hypervisor perspective), we need to support the capability to allow both zone-wide and cluster-only primary storage for any zone.Moreover, a single cluster needs to support both, 

- snapshot/restore features are similar to current semantics i.e. no degradation in features

- we should allow multiple zone-wide primary storages

- if user unmounts the disk on a shared store and remounts on a VM which happens to be on a cluster that does NOT have shared zone-wide primary store (or vice-versa), CS still have to make this disk available on the new target VM (do double copy as is done today?)

Open questions

- ideally, instead of making the NFS share be available as a primary storage for all clusters (unless explicitly excluded by a cluster), would it be better if we simply allow more than one cluster to specify the same NFS share as a primary storage (latter is preferable)

- what would be the migration issues/requirements - for example, do we allow an existing NFS share that is a primary storage already to be "upgraded" to a zone-wide primary storage? 

- is there any impact of doing maintenance of this nfs? Or removing the primary share for a cluster?

- what is the performance/scalability limitation?

  • No labels