- new RemoteReplicationSerive to support REST API to cover:
- discovery of remote replication sets for specified storage type;
- REST api for remote replication link management operations;
- REST api to create remote replication group
- New RemoteReplicationProtectionParam for virtual pool create REST API ;
- This parameter specifies target virtual array, target virtual pool in virtual pools which require RemoteReplication protection.
- New attribute matcher class to match storage pools which can be used for remotely replicated source volumes in virtual pool:
- The matcher class should allow only pools which a) belong to a source system in one of remote replication sets; and b) the remote replication set, which contain the source system, has target system with storage in target varray/vpool.
- New RemoteReplicationParam in "volumeCreate" REST api;
- This parameter specifies existing RRG for volume pairs. When RRG is specified, volume pair will be placed in this replication group, otherwise, volume pair will be placed directly to RRS (matched by virtual array and virtual pool specified in volume create request) if this is supported by the set.
- RRG should be specified in case if RRS supports only group elementsif driver supports only remote replication groups as volume containers, otherwise, when RRS supports driver supports both groups and pairs, RRG can be optionally specified when volumes have to be placed in a group.
- Remote replication mode
- New RemoteReplicationSheduler to schedule and place remotely replicated volumes;
- Remotely replicated volumes are always created in pre-configured RRS or in RRG (which has one source and one target system by default) as is specified in RemoteReplicationParam in volume create request. This means that source and target storage systems are already known from the request. Once storage systems for placement are known, volumes are placed in candidate storage pools in this systems the same way as it is done for regular volumes.
- New RemoteReplicationBlockServiceApiImpl extension class of AbstractBlockServiceApiImpl to process placement recommendations and build volume descriptors for remotely replicated volumes;
Remote Replication Service REST API
|Class/ REST Method /user role||Description||Request parameter|
This is system admin operation.
Create empty replication group. Request body specifies properties of the replication group.
"display_name" : "Group01",
"replication_mode" : "synchronous",
"replication_state" : "active",
"enforce_group_consistency" : "true",
"source_system" : "storageos:storagesystem:1234-5678",
"target_system" : "storageos:storagesystem:1234-5679"
Remote Replication Link Management Operations.
All link management operations are System Admin operations.
This is system admin operation.
|Discovers remote replication configuration for storage system type specified by 'type' uri|
"context" : operation context:RR_SET,
"ids": list of replication pairs ids,
Establish (start) remote replication link
|The same as above.|
|Suspend remote replication link||The same as above.|
|Split remote replication link||The same as above.|
|Resume remote replication link||The same as above.|
|Failover remote replication link||The same as above.|
|Failback remote replication link||The same as above.|
|POST /vdc/block/remotereplicationmanagement/swap||Swap remote replication link||The same as above.|