Non-Volatile Memory Express (NVMe) is becoming the primary protocol for interconnecting modern storage technologies both within storage arrays and between storage arrays, storage networks, and...
In Purity 5.0 Pure Storage released support for Active/Active replication on the FlashArray. This provides the ability to present the same storage volume simultaneously from two different FlashArrays.
For a good overview, check out this video:
The process to get this up and running on the FlashArray is super easy:
Create a “synchronous” connection between FlashArrays:
One one FlashArray go to first get a connection key (doesnt matter which array)
Now go to the other array and enter in the connection key and management address of the array you got the key from and choose “Sync Replication”.
Arrays are now connected!
The next step is to create a pod. What is a pod? Well a pod is a namespace, but also a replication group. A pod is first created on a FlashArray, then a second FlashArray is added to it. This is called “stretching a pod”. When a pod is first stretched the initial synchronization of the data starts. When everything is in sync, the volumes are now available on both sides. They can be read from or written to on either array at the same time.
Now create a pod.
Go to the Pods tab and create a new one and name it something that makes sense.
At this point add any pre-existing volumes you would like to the pod. This is called a volume “move”. The volume is not literally moved, nor is any data copied. The volume is just moved into the pod namespace. So if my pod is named “codypod” and my volume is currently called “codyvolume”, when the volume is moved into the pod, it will be called “codypod::codyvolume”.
Choose a volume:
This process is of course non-disruptive to any host I/O to that volume.
When you have finished adding any volumes, you can now stretch the pod to the second FlashArray.
Go to add a FlashArray:
Choose a FlashArray that is synchronously connected:
That is really it.
There are two other options:
Once a pod is created, you can control the pod and volumes from either FlashArray. If you create a snapshot, that snapshot is created on both sides. If you have snapshots before putting a volume in a pod, then you put the volume in, those snapshots will be copied over too.
If you create a new volume in a stretched pod, it is immediately available in both sides.
So ActiveCluster is not just an active-active solution, it can also be a very simple means to move a volume and its snapshots over to a different array, Put a volume in a pod, stretch it, let it sync, then unstretch it.
For more info, see below: