Configuring a remote copy environment
You can configure a remote copy environment for TrueCopy, Universal Replicator, or global-active device.
Workflow for configuring a remote copy environment
The following describes the workflow for configuring an environment required to use TrueCopy, Universal Replicator, or global-active device (GAD).
The following figure shows the workflow for configuring an environment.
Connecting physical paths
Use cables to connect between hardware objects according to the configuration required for the operation, such as between the host and the storage system, and between the primary site and the secondary site.
Installing software products
Install software products that are required for remote copy operations.
Registering information about the remote storage system
For remote connections, register information about the remote storage system for the REST API server of the local storage system, and information about the local storage system for the REST API server of the remote storage system. Alternatively, you can register information about the remote storage system only.
Creating a remote connection
Create a remote connection by specifying a remote path. If you use an iSCSI port, register in advance the information about the iSCSI port of the remote storage system for the iSCSI port of the local storage system.
Creating a journal
Create a journal by specifying a journal volume.
Setting the quorum
Specify settings related to the quorum.
You can perform this operation by using Platform REST API (Simple). For details, see the relevant descriptions on the Hitachi Vantara Knowledge.
Creating volumes
Create volumes to be used for a pair.
Allocating volumes
Set LU paths so that the host can access the volumes in the storage system.
Setting up the virtual storage machine
Create a virtual storage machine in the storage system, and then specify the required settings.
Setting the GAD reserved attribute of S-VOL
For the virtual LDEV number of S-VOL, set the global-active device reserved attribute number.
For details on configuring a remote copy environment, see the manual of each software product or System Administrator Guide.
Registering and deleting information about remote storage systems
This section describes how to register and delete information about remote storage systems by using the REST API.
Overview of registering and deleting information about remote storage systems
For remote copy, by registering in advance the information about storage systems that are remotely connected to the REST API server, you no longer need to specify the remotely-connected storage system information when the remote copy operation is performed.
Register the following storage system information: model name of the remotely-connected storage system, and the controller IP address and communication mode. The information about the remote storage system will be registered to the REST API server of the local storage system while the information about the local storage system will be registered to the REST API server of the remote storage system.
You can use the following API commands for registering and deleting the information about remote storage systems:
- Registering information about remote storage systems to the REST API server
- Deleting information about remote storage systems from the REST API server
- Obtaining information about remote storage systems registered on the REST API server
Getting a list of remote storage systems
The following request gets a list of information about the storage systems registered on the REST API server.
Storage Administrator (View Only)
GET base-URL/v1/objects/remote-storages
Object ID
None.
Query parameters
None.
Body
None.
Body
{ "data": [ { "storageDeviceId": "886000123456", "dkcType": "Local", "restServerIp": "192.0.2.100", "restServerPort": 443, "model": "VSP G900", "serialNumber": 123456, "ctl1Ip": "192.0.10.10", "ctl2Ip": "192.0.10.11", "communicationModes": [ { "communicationMode": "lanConnectionMode" } ] }, { "storageDeviceId": "886000123457", "dkcType": "Remote", "restServerIp": "192.0.2.101", "restServerPort": 443, "model": "VSP G900", "serialNumber": 123457, "ctl1Ip": "192.0.10.20", "ctl2Ip": "192.0.10.21", "communicationModes": [ { "communicationMode": "lanConnectionMode" } ] } ] }
Attribute
Type
Description
storageDeviceId
string
Storage device ID
dkcType
string
Type of storage system
- Local: Local storage system (The storage system where the REST API server that received the request exists.)
- Remote: Remote storage system (The storage system registered on the REST API server of the local storage system.)
restServerIp
string
IP address used by the REST API server of the remote storage system
restServerPort
int
Port number used for SSL communication by the REST API server of the remote storage system
model
string
Model name of the storage system
serialNumber
int
Serial number of the storage system
ctl1Ip
string
IP address of controller board 1
ctl2Ip
string
IP address of controller board 2
communicationModes
object[]
The following attributes related to the communication mode between the REST API server and the storage system are output:
If multiple communication modes are output, the mode that is output at the top will be prioritized in communication.
-
communicationMode (string)
Communication mode
- proxyMode
- lanConnectionMode
-
proxies (object[])
The following attributes about the relay server are output:
-
proxyIp (string)
IP address
-
proxyPort (int)
Port number
-
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept: application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/remote-storages
Getting information about a specific remote storage system
The following request gets information about a specific remote storage system registered on the REST API server.
Storage Administrator (View Only)
GET base-URL/v1/objects/remote-storages/object-ID
Object ID
Specify the
storageDeviceId
value obtained by getting information about the storage systems.Attribute
Type
Description
storageDeviceId
string
(Required) Storage device ID
Query parameters
None.
Body
None.
Body
{ "storageDeviceId": "886000123456", "dkcType": "Local", "restServerIp": "192.0.2.100", "restServerPort": 443, "model": "VSP G900", "serialNumber": 123456, "ctl1Ip": "192.0.10.10", "ctl2Ip": "192.0.10.11", "communicationModes": [ { "communicationMode": "lanConnectionMode" } ] }
Attribute
Type
Description
storageDeviceId
string
Storage device ID
dkcType
string
Type of storage system
- Local: Local storage system (The storage system where the REST API server that received the request exists.)
- Remote: Remote storage system (The storage system registered on the REST API server of the local storage system.)
restServerIp
string
IP address used by the REST API server of the remote storage system
restServerPort
int
Port number used for SSL communication by the REST API server of the remote storage system
model
string
Model name of the storage system
serialNumber
int
Serial number of the storage system
ctl1Ip
string
IP address of controller board 1
ctl2Ip
string
IP address of controller board 2
communicationModes
object[]
The following attributes related to the communication mode between the REST API server and the storage system are output:
If multiple communication modes are output, the mode that is output at the top will be prioritized in communication.
-
communicationMode (string)
Communication mode
- proxyMode
- lanConnectionMode
-
proxies (object[])
The following attributes about the relay server are output:
-
proxyIp (string)
IP address
-
proxyPort (int)
Port number
-
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept: application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/remote-storages/886000123456
Registering information about remote storage systems
The following request registers information about the remote storage system on the REST API server of the local storage system, and information about the local storage system on the REST API server of the remote storage system. Alternatively, you can register information about the remote storage system only.
Storage Administrator (Initial Configuration)
POST base-URL/v1/objects/remote-storages
Object ID
None.
Query parameters
None.
Body
{ "storageDeviceId": "886000123457", "restServerIp": "192.0.2.101", "restServerPort": 443, "isMutualDiscovery": true }
Attribute
Type
Description
storageDeviceId
string
(Required) Storage device ID of the remote storage system
restServerIp
string
(Required) IP address used by the REST API server of the remote storage system
You can specify an IPv4 address, IPv6 address, or a host name.
restServerPort
int
(Required) Port number used for SSL communication by the REST API server of the remote storage system
isMutualDiscovery
boolean
(Optional) Specify whether to perform a mutual registration operation.
You can specify whether to register information about the local storage system on the REST API server of the remote storage system.
- true: Perform a mutual registration operation.
- false: Do not perform a mutual registration operation.
If this value is omitted, true is specified.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the section explaining job objects.Attribute
Description
affectedResources
URL of the registered remote storage system
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Remote-Authorization:Session 10399a1ffce3489b9c3a823017462396" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X POST --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/remote-storages
Deleting information about remote storage systems
The following request deletes information about the remote storage system that is registered on the REST API server of the local storage system and information about the local storage system that is registered on the REST API server of the remote storage system. Alternatively, you can delete the information that is registered in the local storage system only. To change information about storage systems registered on the REST API server, delete the information about the storage systems, and then register information again.
Storage Administrator (Initial Configuration)
DELETE base-URL/v1/objects/remote-storages/object-ID
Object ID
Specify the
storageDeviceId
value obtained by getting information about the storage systems.Attribute
Type
Description
storageDeviceId
string
(Required) Storage device ID
Query parameters
None.
Body
{ "isMutualDeletion": true }
Attribute
Type
Description
isMutualDeletion
boolean
(Optional) Specify whether to perform a mutual deletion operation.
You can specify whether to delete information about the local storage system registered on the REST API server of the remote storage system.
- true: Perform a mutual deletion operation.
- false: Do not perform a mutual deletion operation.
If this value is omitted, true is specified.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the section explaining job objects.Attribute
Description
affectedResources
URL of the deleted storage system
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Remote-Authorization:Session 10399a1ffce3489b9c3a823017462396" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X DELETE --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/remote-storages/886000123457
Setting remote connections
This section describes how to specify settings of remote connections used for remote copy operations by using the REST API.
Overview of the remote connection settings
Remote connections are used to connect storage systems used in remote copy operations for TrueCopy, Universal Replicator, and global-active device.
In this manual, the storage system that receives requests from the REST API clients is called a local storage system, and the storage system that is remotely connected to the local storage system is called a remote storage system.
The following figure shows an example of a remote connection:
Remote path
A logical path that connects storage systems on the primary site and the secondary site is called a remote path.
A combination of port numbers that a logical path consists of is defined as a remote path.
Remote connections
A remote connection consists of a group of remote paths that connect the storage system on the primary site (MCU) and the storage system on the secondary site (RCU).
A remote connection consists of one or more remote paths, and a unique path group ID is assigned to each remote connection for management.
To set a remote connection by using the copy direction from the remote storage system to the local storage system, specify settings from a REST API client of the remote storage system.
The following is a list of operations that can be performed for remote connections by using the REST API.
-
Create remote connections
-
Change remote connection settings
-
Add remote paths to remote connections
-
Delete remote paths from remote connections
-
Delete remote connections
-
Get information about remote connections
To create a remote path for an iSCSI port, register in advance information about the iSCSI port of the remote storage system to the iSCSI port of the local storage system.
The following is a list of operations that can be performed for iSCSI ports by using the REST API.
-
Register iSCSI ports
-
Delete iSCSI ports
-
Get information about iSCSI ports
Getting a list of remote connections
The following request gets a list of remote connections.
Storage Administrator (View Only)
GET base-URL/v1/objects/remotepath-groups
Object ID
None.
Query parameters
None.
Body
None.
Body
The following is an example of the output when information about the remote storage system is not registered on the REST API server:
{ "data": [ { "remotepathGroupId": "492015,M8,0", "remoteSerialNumber": "492015", "remoteStorageTypeId": "M8", "pathGroupId": 0, "cuType": "REMOTE", "portType": "FIBRE", "cuStatus": "NML", "minNumOfPaths": 1, "numOfPaths": 1, "timeoutValueForRemoteIOInSeconds": 15, "roundTripTimeInMilliSeconds": 1 } ] }
The following is an example of the output when information about the remote storage system is registered on the REST API server:
{ "data": [ { "remotepathGroupId": "492015,M8,0", "remoteStorageDeviceId": "886000492015", "remoteSerialNumber": "492015", "remoteStorageModel": "VSP G900", "remoteStorageTypeId": "M8", "pathGroupId": 0, "cuType": "REMOTE", "portType": "FIBRE", "cuStatus": "NML", "minNumOfPaths": 1, "numOfPaths": 1, "timeoutValueForRemoteIOInSeconds": 15, "roundTripTimeInMilliSeconds": 1 } ] }
Attribute
Type
Description
remotepathGroupId
string
Object ID for the remote connection
remoteStorageDeviceId
string
Storage device ID of the remote storage system
This attribute is output when information about the remote storage system is registered on the REST API server.
remoteSerialNumber
string
Serial number of the remote storage system
remoteStorageModel
string
Model type of the remote storage system
This attribute is output when information about the remote storage system is registered on the REST API server.
remoteStorageTypeId
string
ID that indicates the model of the remote storage system
-
R8: VSP G1000, VSP G1500, or VSP F1500
- M8: VSP G350, G370, G700, G900, VSP F350, F370, F700, F900
pathGroupId
int
Path group ID
If the connection setting for the remote path is CU specific, this information is not output.
localCuNumber string CU number of the local storage system (MCU)
This item is hidden when the value of the connection setting of the remote path is CU Free or when the value of the
cuType
attribute is LOCAL.remoteCuNumber string CU number of the remote storage system (RCU)
This item is hidden when the value of the connection setting of the remote path is CU Free or when the value of the
cuType
attribute is LOCAL.portType
string
Port type of the remote path
- FIBRE: All the ports are Fibre Channel ports
- ESCON: All the ports are ESCON ports
- ISCSI: All the ports are iSCSI ports
- MIXED: Multiple port types from among these three types
This item is hidden when the value of the
cuType
attribute is LOCAL.cuType
string
CU type
- REMOTE: If a remote path is set from the local storage system to the remote storage system
- LOCAL: If a remote path is set from the remote storage system to the local storage system
cuStatus
string
CU status
- NML: Normal
- WAR: Warning
- ERR: Failing
- Unknown: Unknown. This is output if the
cuType
attribute is LOCAL.
minNumOfPaths
int
Minimum number of paths
If the
cuType
attribute is LOCAL, this information is not output.numOfPaths
int
Number of set remote paths
If the
cuType
attribute is LOCAL, this information is not output.incidentMode
string
Incident mode for sending incidents to the RCU host
- MR: Incidents are sent to the MCU host and the RCU host.
- RO: Incidents are sent to the RCU host only.
This item is hidden when the value of the connection setting of the remote path is CU Free or when the value of the
cuType
attribute is LOCAL.isFreezeOptionEnabled
boolean
Value of the FREEZE option
- false: The FREEZE option is disabled.
- true: The FREEZE option is enabled.
This item is hidden when the value of the connection setting of the remote path is CU Free or when the value of the
cuType
attribute is LOCAL.timeoutValueForRemoteIOInSeconds int
RIO timeout value (in seconds) for RIO (Remote IO) setting between the local storage system and the remote storage system
If the
cuType
attribute is LOCAL, this information is not output.roundTripTimeInMilliSeconds
int
The round-trip time value (in milliseconds) between the local storage system and the remote storage system
If the
cuType
attribute is LOCAL, this information is not output.-
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/remotepath-groups
Getting information about a specific remote connection
The following request gets information about a specific remote connection. You can get information about a remote connection when the value of the connection setting of the remote path is CU Free.
Storage Administrator (View Only)
GET base-URL/v1/objects/remotepath-groups/object-ID
Object ID
Specify the value of
remotepathGroupId
that was obtained by the processing to get information about the remote connection. You can also specify the attributes and connect them with commas as follows:remoteSerialNumber,remoteStorageTypeId,pathGroupId
Attribute
Type
Description
remoteSerialNumber
string
(Required) Serial number of the remote storage system
remoteStorageTypeId
string
(Required) ID that indicates the model of the remote storage system
You can specify the following values:
- M8: VSP G350, G370, G700, G900, VSP F350, F370, F700, F900
pathGroupId
int
(Required) Path group ID
Query parameters
None.
Body
None.
Body
The following is an example of the output when information about the remote storage system is not registered on the REST API server:
{ "remotepathGroupId": "492015,M8,255", "remoteSerialNumber": "492015", "remoteStorageTypeId": "M8", "pathGroupId": 255, "remotePaths": [ { "cuType": "REMOTE", "portType": "ISCSI", "pathNumber": 0, "localPortId": "CL3-B", "remotePortId": "CL2-C", "pathStatus": "ERR_03" } ] }
The following is an example of the output when information about the remote storage system is not registered on the REST API server:{ "remotepathGroupId": "492015,M8,255", "remoteSerialNumber": "492015", "remoteStorageTypeId": "M8", "pathGroupId": 255, "remotePaths": [ { "cuType": "REMOTE", "portType": "ISCSI", "pathNumber": 0, "localPortId": "CL3-B", "remotePortId": "CL2-C", "pathStatus": "ERR_03" } ] }
Attribute
Type
Description
remotepathGroupId
string
Object ID for the remote connection
remoteStorageDeviceId
string
Storage device ID of the remote storage system
This attribute is output when information about the remote storage system is registered on the REST API server.
remoteSerialNumber
string
Serial number of the remote storage system
remoteStorageModel
string
Model type of the remote storage system
This attribute is output when information about the remote storage system is registered on the REST API server.
remoteStorageTypeId
string
ID that indicates the model of the remote storage system
- M8: VSP G350, G370, G700, G900, VSP F350, F370, F700, F900
pathGroupId
int
Path group ID
remotePaths
objects[]
The following attributes are output for each remote path:
- cuType (string)
CU type
- REMOTE: If a remote path is set from the local storage system to the remote storage system
- LOCAL: If a remote path is set from the remote storage system to the local storage system
- portType (string)
Port type of the remote path
- FIBRE: Fibre Channel port
- ESCON: ESCON port
- ISCSI: iSCSI port
- pathNumber (int)
Path number
- localPortId (string)
Port number of the local storage system (MCU)
- remotePortId (string)
Port number of the remote storage system (RCU)
- pathStatus (string)
The path status
- NML_01: Normal
- ERR_02: Initialization failed
- ERR_03: Communication timeout
- ERR_04: Logical blockade
- ERR_05: Resource Shortage
- ERR_06: Serial Number Mismatch
- ERR_10: Invalid Port
- ERR_80: RCU Port Number Mismatch
- ERR_81: RCU Port Type Mismatch
- ERR_82: Communication Failed
- IN_PRG: The path is being created or deleted.
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/remotepath-groups/492015,M8,255
Creating a remote connection
The following request creates a remote connection, and then adds a remote path. By using this request, you can create a CU Free remote connection. You can specify the serial number and the series name of the remote storage system to create a remote connection. Alternatively, you can specify the storage device ID of the remote storage system to create a remote connection. To add a remote path for an iSCSI port, register in advance the iSCSI port of the remote storage system to the iSCSI port of the local storage system.
Storage Administrator (Remote Copy)
POST base-URL/v1/objects/remotepath-groups
Object ID
None.
Query parameters
None.
Body
The following is a coding example for creating a remote connection by specifying the serial number and the series name of the remote storage system:
{ "remoteSerialNumber": "492015", "remoteStorageTypeId": "M8", "pathGroupId": 255, "localPortId": "CL3-B", "remotePortId": "CL2-C" }
Attribute
Type
Description
remoteSerialNumber
string
(Required) Serial number of the remote storage system
remoteStorageTypeId
string
(Required) ID that indicates the model of the remote storage system
You can specify the following values:
- M8: VSP G350, G370, G700, G900, VSP F350, F370, F700, F900
pathGroupId
int
(Required) Path group ID
Specify a decimal (base 10) number in the range from 0 to 255.
localPortId
string
(Required) Port number of the local storage system
remotePortId
string
(Required) Port number of the remote storage system
The following is a coding example for creating a remote connection by specifying the storage device ID of the remote storage system:
{ "remoteStorageDeviceId": "886000410011", "pathGroupId": 255, "localPortId": "CL3-B", "remotePortId": "CL2-C" }
Attribute
Type
Description
remoteStorageDeviceId
string
(Required) Storage device ID of the remote storage system
pathGroupId
int
(Required) Path group ID
Specify a decimal (base 10) number in the range from 0 to 255.
localPortId
string
(Required) Port number of the local storage system
remotePortId
string
(Required) Port number of the remote storage system
Body
A job object is returned. For details on attributes other than
affectedResources
, see the section explaining job objects.Attribute
Description
affectedResources
URL of the registered remote connection
The following table describes the meaning of the status code of the request for this operation. For details on other status codes, see the section explaining HTTP status codes.
Status code |
Message |
Description |
409 |
Conflict |
A remote connection has already been created with the specified path group ID. |
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X POST --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/remotepath-groups
Changing the remote connection settings
The following request changes the remote connection settings such as the minimum number of paths, communication timeout value, and the return response time. You can change the remote connection settings when the value of the connection setting of the remote path is CU Free.
Storage Administrator (Remote Copy)
PATCH base-URL/v1/objects/remotepath-groups/object-ID
Object ID
Specify the value of
remotepathGroupId
that was obtained by the processing to get information about the remote connection. You can also specify the attributes and connect them with commas as follows:remoteSerialNumber,remoteStorageTypeId,pathGroupId
Attribute
Type
Description
remoteSerialNumber
string
(Required) Serial number of the remote storage system
remoteStorageTypeId
string
(Required) ID that indicates the model of the remote storage system
You can specify the following values:
- M8: VSP G350, G370, G700, G900, VSP F350, F370, F700, F900
pathGroupId
int
(Required) Path group ID
Query parameters
None.
Body
{ "minNumOfPaths": 1, "timeoutValueForRemoteIOInSeconds": 15, "roundTripTimeInMilliSeconds": 1 }
Attribute
Type
Description
minNumOfPaths
int
Minimum number of remote paths
Specify a value in the range from 1 to 8.
This value is set to 1 by default when a remote connection is created.
Specify a value that is no more than the number of remote paths registered in the remote connection.
timeoutValueForRemoteIOInSeconds
int
RIO timeout value (in seconds) for RIO (Remote IO) setting between the local storage system and the remote storage system
Specify a value in the range from 10 to 100.
This value is set to 15 by default when a remote connection is created.
roundTripTimeInMilliSeconds
int
The round-trip time value (in milliseconds) between the local storage system and the remote storage system
Specify a value in the range from 1 to 500.
Default: 1
This value is set to 1 by default when a remote connection is created.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the section explaining job objects.Attribute
Description
affectedResources
URL of the changed remote connection
The following table describes the meaning of the status code of the request for this operation. For details on other status codes, see the section explaining HTTP status codes.
Status code |
Message |
Description |
400 |
Bad Request |
Values smaller or greater than the specifiable values exist in the specified values. |
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X PATCH --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/remotepath-groups/492015,M8,255
Adding remote paths to a remote connection
The following request adds a remote path to the existing remote connection. You can add a remote path when the value of the connection setting of the remote path is CU Free. To add a remote path for an iSCSI port, register in advance the iSCSI port of the remote storage system to the iSCSI port of the local storage system.
Storage Administrator (Remote Copy)
POST base-URL/v1/objects/remotepath-groups/object-ID/actions/add-remotepath/invoke
Object ID
Specify the value of
remotepathGroupId
that was obtained by the processing to get information about the remote connection. You can also specify the attributes and connect them with commas as follows:remoteSerialNumber,remoteStorageTypeId,pathGroupId
Attribute
Type
Description
remoteSerialNumber
string
(Required) Serial number of the remote storage system
remoteStorageTypeId
string
(Required) ID that indicates the model of the remote storage system
You can specify the following values:
- M8: VSP G350, G370, G700, G900, VSP F350, F370, F700, F900
pathGroupId
int
(Required) Path group ID
Query parameters
None.
Body
{ "parameters": { "localPortId": "CL1-A", "remotePortId": "CL1-2" } }
Attribute
Type
Description
localPortId
string
(Required) Port number of the local storage system
remotePortId
string
(Required) Port number of the remote storage system
Body
A job object is returned. For details on attributes other than
affectedResources
, see the section explaining job objects.Attribute
Description
affectedResources
URL of the remote path that was added to the remote connection
GET base-URL/v1/objects/remotepath-groups/object-ID/actions/add-remotepath
The following table describes the meaning of the status code of the request for this operation. For details on other status codes, see the section explaining HTTP status codes.
Status code |
Message |
Description |
412 |
Precondition Failed |
The number of the remote paths already registered to the target remote connection is eight, which is the maximum number of remote paths that can be registered. |
To get an action template:
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/remotepath-groups/492015,M8,255/actions/add-remotepath
To run the request after getting an action template:
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X POST --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/remotepath-groups/492015,M8,255/actions/add-remotepath/invoke
Deleting a remote path from a remote connection
The following request deletes a specified remote path from a remote connection. You can delete a remote path when the value of the connection setting of the remote path is CU Free. If the specified path is an iSCSI remote path and is not registered to other remote connections, the remote storage system's iSCSI port information that is registered to the iSCSI port on the local storage system is deleted at the same time the iSCSI remote path is deleted.
Storage Administrator (Remote Copy)
POST base-URL/v1/objects/remotepath-groups/object-ID/actions/remove-remotepath/invoke
Object ID
Specify the value of
remotepathGroupId
that was obtained by the processing to get information about the remote connection. You can also specify the attributes and connect them with commas as follows:remoteSerialNumber,remoteStorageTypeId,pathGroupId
Attribute
Type
Description
remoteSerialNumber
string
(Required) Serial number of the remote storage system
remoteStorageTypeId
string
(Required) ID that indicates the model of the remote storage system
You can specify the following values:
- M8: VSP G350, G370, G700, G900, VSP F350, F370, F700, F900
pathGroupId
int
(Required) Path group ID
Query parameters
None.
Body
{ "parameters": { "localPortId": "CL1-A", "remotePortId": "CL1-2" } }
Attribute
Type
Description
localPortId
string
(Required) Port number of the local storage system
remotePortId
string
(Required) Port number of the remote storage system
Body
A job object is returned. For details on attributes other than
affectedResources
, see the section explaining job objects.Attribute
Description
affectedResources
URL of the remote path removed from the remote connection
GET base-URL/v1/objects/remotepath-groups/object-ID/actions/remove-remotepath
The following table describes the meaning of the status code of the request for this operation. For details on other status codes, see the section explaining HTTP status codes.
Status code |
Message |
Description |
412 |
Precondition Failed |
Only one remote path or the minimum number of remote paths is set for the target remote connection. |
To get an action template
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/remotepath-groups/492015,M8,255/actions/remove-remotepath
To run the request after getting an action template:
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X POST --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/remotepath-groups/492015,M8,255/actions/remove-remotepath/invoke
Deleting a remote connection
The following request deletes a specified remote connection. You can delete a remote connection when the value of the connection setting of the remote path is CU Free. When a remote connection is deleted, all remote paths registered to the remote connection to be deleted will also be deleted. If an iSCSI remote path is included in the remote connection to be deleted and is not registered to other remote connections, the remote storage system's iSCSI port information that is registered to the iSCSI port on the local storage system is deleted at the same time the iSCSI remote path is deleted.
Storage Administrator (Remote Copy)
DELETE base-URL/v1/objects/remotepath-groups/object-ID
Object ID
Specify the value of
remotepathGroupId
that was obtained by the processing to get information about the remote connection. You can also specify the attributes and connect them with commas as follows:remoteSerialNumber,remoteStorageTypeId,pathGroupId
Attribute
Type
Description
remoteSerialNumber
string
(Required) Serial number of the remote storage system
remoteStorageTypeId
string
(Required) ID that indicates the model of the remote storage system
You can specify the following values:
- M8: VSP G350, G370, G700, G900 or VSP F350, F370, F700, F900
pathGroupId
int
(Required) Path group ID
Query parameters
None.
Body
None.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the section explaining job objects.Attribute
Description
affectedResources
URL of the deleted remote connection
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X DELETE https://192.0.2.100/ConfigurationManager/v1/objects/remotepath-groups/492015,M8,255
Getting information about iSCSI ports
The following request gets information about iSCSI ports of the registered remote storage system.
Storage Administrator (View Only)
GET base-URL/v1/objects/remote-iscsi-ports
Object ID
None.
Query parameters
None.
Body
None.
Body
The following is an example of the output when information about the remote storage system is not registered on the REST API server:
{ "data": [ { "remoteIscsiPortId": "CL1-B,410012,M8,CL2-D", "localPortId": "CL1-B", "remoteSerialNumber": "410012", "remoteStorageTypeId": "M8", "remotePortId": "CL2-D", "remoteIpAddress": "192.168.116.29", "remoteTcpPort": 3260 }, { "remoteIscsiPortId": "CL3-B,410012,M8,CL2-D", "localPortId": "CL3-B", "remoteSerialNumber": "410012", "remoteStorageTypeId": "M8", "remotePortId": "CL2-D", "remoteIpAddress": "192.168.116.29", "remoteTcpPort": 3260 } ] }
The following is an example of the output when information about the remote storage system is registered on the REST API server:
{ "data": [ { "remoteIscsiPortId": "CL1-B,410012,M8,CL2-D", "localPortId": "CL1-B", "remoteStorageDeviceId": "886000410012", "remoteSerialNumber": "410012", "remoteStorageModel": "VSP G900", "remoteStorageTypeId": "M8", "remotePortId": "CL2-D", "remoteIpAddress": "192.168.116.29", "remoteTcpPort": 3260 }, { "remoteIscsiPortId": "CL3-B,410012,M8,CL2-D", "localPortId": "CL3-B", "remoteStorageDeviceId": "886000410012", "remoteSerialNumber": "410012", "remoteStorageModel": "VSP G900", "remoteStorageTypeId": "M8", "remotePortId": "CL2-D", "remoteIpAddress": "192.168.116.29", "remoteTcpPort": 3260 } ] }
Attribute
Type
Description
remoteIscsiPortId
string
Object ID for the iSCSI port
localPortId
string
Port number of the local storage system
remoteStorageDeviceId
string
Storage device ID of the remote storage system
This attribute is output when information about the remote storage system is registered on the REST API server.
remoteSerialNumber
string
Serial number of the remote storage system
remoteStorageModel
string
Model type of the remote storage system
This attribute is output when information about the remote storage system is registered on the REST API server.
remoteStorageTypeId
string
ID that indicates the model of the remote storage system
-
R8: VSP G1000, VSP G1500, or VSP F1500
- M8: VSP G350, G370, G700, G900 or VSP F350, F370, F700, F900
remotePortId
string
Port number of the remote storage system
remoteIpAddress
string
IP address of the remote storage system
remoteTcpPort
int
TCP port number of the remote storage system
-
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/remote-iscsi-ports
Getting information about a specific iSCSI port
If you specify a port, the following request gets information about that iSCSI port of the remote storage system.
Storage Administrator (View Only)
GET base-URL/v1/objects/remote-iscsi-ports/object-ID
Object ID
Specify the value of
remoteIscsiPortId
that was obtained by the processing to get information about the port. You can also specify the attributes and connect them with commas as follows:localPortId,remoteSerialNumber,remoteStorageTypeId,remotePortId
Attribute
Type
Description
localPortId
string
(Required) Port number of the local storage system
remoteSerialNumber
string
(Required) Serial number of the remote storage system
remoteStorageTypeId
string
(Required) ID that indicates the model of the remote storage system
You can specify the following values:
- M8: VSP G350, G370, G700, G900 or VSP F350, F370, F700, F900
remotePortId
string
(Required) Port number of the remote storage system
Query parameters
None.
Body
None.
Body
The following is an example of the output when information about the remote storage system is not registered on the REST API server:
{ "remoteIscsiPortId": "CL1-B,410012,M8,CL2-D", "localPortId": "CL1-B", "remoteSerialNumber": "410012", "remoteStorageTypeId": "M8", "remotePortId": "CL2-D", "remoteIpAddress": "192.168.116.29", "remoteTcpPort": 3260 }
The following is an example of the output when information about the remote storage system is registered on the REST API server:
{ "remoteIscsiPortId": "CL1-B,410012,M8,CL2-D", "localPortId": "CL1-B", "remoteStorageDeviceId": "886000410012", "remoteSerialNumber": "410012", "remoteStorageModel": "VSP G900", "remoteStorageTypeId": "M8", "remotePortId": "CL2-D", "remoteIpAddress": "192.168.116.29", "remoteTcpPort": 3260 }
Attribute
Type
Description
remoteIscsiPortId
string
Object ID for the iSCSI port
localPortId
string
Port number of the local storage system
remoteStorageDeviceId
string
Storage device ID of the remote storage system
This attribute is output when information about the remote storage system is registered on the REST API server.
remoteSerialNumber
string
Serial number of the remote storage system
remoteStorageModel
string
Model type of the remote storage system
This attribute is output when information about the remote storage system is registered on the REST API server.
remoteStorageTypeId
string
ID that indicates the model of the remote storage system
- M8: VSP G350, G370, G700, G900 or VSP F350, F370, F700, F900
remotePortId
string
Port number of the remote storage system
remoteIpAddress
string
IP address of the remote storage system
remoteTcpPort
int
TCP port number of the remote storage system
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/remote-iscsi-ports/CL1-B,410012,M8,CL2-D
Registering an iSCSI port
The following request registers the iSCSI port of the remote storage system to the iSCSI port of the local storage system. You can specify the serial number and the series name of the remote storage system to register an iSCSI port. Alternatively, you can specify the storage device ID of the remote storage system to register an iSCSI port. Perform this operation before adding a remote path to a remote connection.
Storage Administrator (Remote Copy)
POST base-URL/v1/objects/remote-iscsi-ports
Object ID
None.
Query parameters
None.
Body
The following is a coding example for registering an iSCSI port by specifying the serial number, series name, and the TCP port number of the remote storage system:
{ "localPortId": "CL1-B", "remoteSerialNumber": "492015", "remoteStorageTypeId": "M8", "remotePortId": "CL2-D", "remoteIpAddress": "192.168.116.29", "remoteTcpPort": 3260 }
The following is a coding example for registering an iSCSI port by specifying the serial number and the series name of the remote storage system, without specifying the TCP port number:
{ "localPortId": "CL1-B", "remoteSerialNumber": "492015", "remoteStorageTypeId": "M8", "remotePortId": "CL2-D", "remoteIpAddress": "192.168.116.29" }
When registering an iSCSI port by specifying the serial number and the series name of the remote storage system:
Attribute
Type
Description
localPortId
string
(Required) Port number of the local storage system
remoteSerialNumber
string
(Required) Serial number of the remote storage system
remoteStorageTypeId
string
(Required) ID that indicates the model of the remote storage system
You can specify the following values:
- M8: VSP G350, G370, G700, G900 or VSP F350, F370, F700, F900
remotePortId
string
(Required) Port number of the remote storage system
remoteIpAddress
string
(Required) IP address of the remote storage system
You can specify an IPv4 or IPv6 address.
remoteTcpPort
int
(Optional) TCP port number
If this attribute is not specified, the TCP port number for the iSCSI target of the local storage system will be set to the TCP port number of the remote storage system.
The following is a coding example for registering an iSCSI port by specifying the storage device ID and the TCP port number of the remote storage system:
{ "localPortId": "CL1-B", "remoteStorageDeviceId": "886000492015", "remotePortId": "CL2-D", "remoteIpAddress": "192.168.116.29" }
When registering the iSCSI port by specifying the storage device ID of the remote storage system:
Attribute
Type
Description
localPortId
string
(Required) Port number of the local storage system
remoteStorageDeviceId
string
(Required) Storage device ID of the remote storage system
remotePortId
string
(Required) Port number of the remote storage system
remoteIpAddress
string
(Required) IP address of the remote storage system
You can specify an IPv4 or IPv6 address.
remoteTcpPort
int
(Optional) TCP port number
If this attribute is not specified, the TCP port number for the iSCSI target of the local storage system will be set to the TCP port number of the remote storage system.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the section explaining job objects.Attribute
Description
affectedResources
URL of the iSCSI port of the remote storage system that was registered to the iSCSI port of the local storage system
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X POST --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/remote-iscsi-ports
Removing the registration of an iSCSI port
The following request deletes information about the iSCSI port of the remote storage system that is registered to the iSCSI port of the local storage system. If this iSCSI port is registered in a remote connection, you cannot delete the information.
Storage Administrator (Remote Copy)
DELETE base-URL/v1/objects/remote-iscsi-ports/object-ID
Object ID
Specify the value of
remoteIscsiPortId
that was obtained by the processing to get information about the port. You can also specify the attributes and connect them with commas as follows:localPortId,remoteSerialNumber,remoteStorageTypeId,remotePortId
Attribute
Type
Description
localPortId
string
(Required) Port number of the local storage system
remoteSerialNumber
string
(Required) Serial number of the remote storage system
remoteStorageTypeId
string
(Required) ID that indicates the model of the remote storage system
You can specify the following values:
- M8: VSP G350, G370, G700, G900 or VSP F350, F370, F700, F900
remotePortId
string
(Required) Port number of the remote storage system
Query parameters
None.
Body
None.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the section explaining job objects.Attribute
Description
affectedResources
URL of the deleted iSCSI port
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X DELETE https://192.0.2.100/ConfigurationManager/v1/objects/remote-iscsi-ports/CL1-B,410012,M8,CL2-D
Setting journals
This section describes how to specify settings of journals to be used in Universal Replicator by using the REST API.
Getting journal information
The following request gets a list of information about a journal.
Storage Administrator (View Only)
GET base-URL/v1/objects/journals
Object ID
None.
Query parameters
Parameter
Type
Filter Condition
journalInfo
string
(Required) Type of information to be obtained
The specifiable values are as follows:
- basic: Basic journal information
- timer: Journal time information
- detail: Detailed journal information
Body
None.
Body
The following is an example of the output when basic journal information is obtained:
{ "data": [ { "journalId": 0, "muNumber": 1, "consistencyGroupId": 5, "journalStatus": "PJSF", "numOfActivePaths": 1, "usageRate": 0, "qMarker": "575cc653", "qCount": 0, "byteFormatCapacity": "1.88 G", "blockCapacity": 3956736, "numOfLdevs": 1, "firstLdevId": 513 } ] }
Attribute
Type
Description
journalId
int
Journal ID
muNumber
int
MU (mirror unit) number
consistencyGroupId
int
Consistency group identifier
journalStatus
string
Journal volume status
For details, see the section explaining the mirror journal statuses.
numOfActivePaths
int
Number of active link paths
usageRate
int
Usage rate of the journal volume
qMarker
string
If the obtained journal is the master journal, the last sequential number (Q-marker) when the journal volume received the write data is output. If the obtained journal is the restore journal, the last sequential number (Q-marker) that is written in the cache is output.
qCount
long
Number of qMarker remaining in the master journal volume
byteFormatCapacity
string
Capacity of the journal volume
The value is output to the second decimal place.
blockCapacity
long
Number of blocks of the journal volume
numOfLdevs
int
Number of LDEVs configuring the journal volume
firstLdevId
int
LDEV number of the first LDEV assigned to the journal
The following is an example of the output when journal time information is obtained:
{ "data": [ { "journalId": 0, "muNumber": 1, "consistencyGroupId": 5, "journalStatus": "PJSF", "numOfActivePaths": 1, "usageRate": 0, "qMarker": "575cc653", "qCount": 0, "byteFormatCapacity": "1.88 G", "blockCapacity": 3956736, "dataOverflowWatchInSeconds": 60, "pathBlockadeWatchInMinutes": 5, "activePathWatchTimerSettingInSeconds": 40 } ] }
Attribute
Type
Description
journalId
int
Journal ID
muNumber
int
MU (mirror unit) number
consistencyGroupId
int
Consistency group identifier
journalStatus
string
Journal volume status
For details, see the section explaining the mirror journal statuses.
numOfActivePaths
int
Number of active link paths
usageRate
int
Usage rate of the journal volume
qMarker
string
If the obtained journal is the master journal, the last sequential number (Q-marker) when the journal volume received the write data is output. If the obtained journal is the restore journal, the last sequential number (Q-marker) that is written in the cache is output.
qCount
long
Number of qMarker remaining in the master journal volume
byteFormatCapacity
string
Capacity of the journal volume
The value is output to the second decimal place.
blockCapacity
long
Number of blocks of the journal volume
dataOverflowWatchInSeconds
int
Data Overflow Watch timer setting (in seconds) per the Journal
pathBlockadeWatchInMinutes
int
Path Blockade Watch timer setting (in minutes) per the Journal
activePathWatchTimerSettingInSeconds
int
Active Path Watch timer setting (in seconds) to detect any link failures
The following is an example of the output when detailed journal information is obtained:
{ "data": [ { "journalId": 0, "isMainframe": false, "isCacheModeEnabled": true, "isInflowControlEnabled": true, "dataOverflowWatchInSeconds": 60, "copySpeed": 256, "isDataCopying": true, "mpBladeId": 0, "mirrorUnits": [ { "muNumber": 0, "consistencyGroupId": 0, "journalStatus": "SMPL", "pathBlockadeWatchInMinutes": 5, "copyPace": "L" }, { "muNumber": 1, "consistencyGroupId": 5, "journalStatus": "PJSF", "pathBlockadeWatchInMinutes": 5, "copyPace": "L" }, { "muNumber": 2, "consistencyGroupId": 0, "journalStatus": "SMPL", "pathBlockadeWatchInMinutes": 5, "copyPace": "L" }, { "muNumber": 3, "consistencyGroupId": 0, "journalStatus": "SMPL", "pathBlockadeWatchInMinutes": 5, "copyPace": "L" } ] } ] }
Attribute
Type
Description
journalId
int
Journal ID
isMainframe
boolean
Indicates whether the journal is used for mainframe systems or open systems
- true: The journal is used for mainframe systems
- false: The journal is used for open systems
mfTimerType
string
Timer type for mainframe systems
- LOCAL: A local timer is used.
- SYSTEM: A system timer is used.
- none: A system timer is used (when the copy direction is the reverse).
isCacheModeEnabled
boolean
Indicates whether the cache mode setting is enabled
- true: The cache mode setting is enabled.
- false: The cache mode setting is disabled.
isInflowControlEnabled
boolean
Indicates whether an inflow of update I/O to the journal volume is limited
- true: Inflow is limited.
- false: Inflow is unlimited.
dataOverflowWatchInSeconds
int
Data Overflow Watch timer setting (in seconds) per the Journal
copySpeed
int
Transfer speed (in Mbps)
isDataCopying
boolean
Copy mode "true" or "false" under failure of the delta resync:
- true: copying ALL data
- false: No copying
mpBladeId
int
MP blade ID
mirrorUnits
object[]
The following attributes are output for each mirror:
-
muNumber (int)
MU (mirror unit) number
-
consistencyGroupId (int)
Consistency group ID
-
journalStatus (string)
The journal status
For details, see the section explaining the mirror journal statuses.
-
pathBlockadeWatchInMinutes (int)
Path Blockade Watch timer setting (in minutes) per the Journal
-
copyPace (string)
Copy speed
- L: Low speed
- M: Medium speed
- H: High speed
For details on the status codes of the request for this operation, see the description on HTTP status codes.
To get basic journal information:
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/journals?journalInfo=basic
To get journal time information:
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/journals?journalInfo=timer
To get detailed journal information:
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/journals?journalInfo=detail
Getting information about a specific journal
The following request gets basic information about the specified journal. To get journal time information or detailed journal information, run the API function for getting a list of journals.
Storage Administrator (View Only)
GET base-URL/v1/objects/journals/object-ID
Object ID
Specify the
journalId
value obtained by getting information about the journal.Attribute
Type
Description
journalId
int
(Required) Journal ID
Query parameters
None.
Body
None.
Body
{ "journalId": 0, "muNumber": 1, "consistencyGroupId": 5, "journalStatus": "PJSF", "numOfActivePaths": 1, "usageRate": 0, "qMarker": "575cc653", "qCount": 0, "byteFormatCapacity": "1.88 G", "blockCapacity": 3956736, "numOfLdevs": 1, "firstLdevId": 513 }
Attribute
Type
Description
journalId
int
Journal ID
muNumber
int
MU (mirror unit) number
consistencyGroupId
int
Consistency group identifier
journalStatus
string
Journal volume status
For details, see the section explaining the mirror journal statuses.
numOfActivePaths
int
Number of active link paths
usageRate
int
Usage rate of the journal volume
qMarker
string
If the obtained journal is the master journal, the last sequential number (Q-marker) when the journal volume received the write data is output. If the obtained journal is the restore journal, the last sequential number (Q-marker) that is written in the cache is output.
qCount
long
Number of qMarker remaining in the master journal volume
byteFormatCapacity
string
Capacity of the journal volume
The value is output to the second decimal place.
blockCapacity
long
Number of blocks of the journal volume
numOfLdevs
int
Number of LDEVs configuring the journal volume
firstLdevId
int
LDEV number of the first LDEV assigned to the journal
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/journals/0
Creating a journal
The following request creates a journal and then adds a journal volume. Specify a DP volume for a journal volume to be added.
Storage Administrator (Remote Copy)
POST base-URL/v1/objects/journals
Object ID
None.
Query parameters
None.
Body
The following is a coding example for creating a journal by specifying the LDEV number:
{ "journalId": 33, "ldevIds": [101,102] }
When creating a journal by specifying the LDEV number
Attribute
Type
Description
journalId
int
(Required) Specify the journal ID.
Specify a decimal (base 10) number in the range from 0 to 255.
ldevIds
int[]
(Required) Specify the LDEV number with a decimal (base 10) number.
You can specify up to 2 numbers.
The following is a coding example for creating a journal by specifying a range of consecutive LDEV numbers:
{ "journalId": 33, "startLdevId": 101, "endLdevId": 102 }
When creating a journal by specifying a range of consecutive LDEV numbers
Attribute
Type
Description
journalId
int
(Required) Specify the journal ID with a decimal (base 10) number.
startLdevId
int
(Required) Specify the first LDEV number by using a decimal (base 10) number.
The value of this attribute must be smaller than that of
endLdevId
.endLdevId
int
(Required) Specify the last LDEV number by using a decimal (base 10) number.
The value of this attribute must be greater than that of
startLdevId
.Specify a number such that the range indicated by the
startLdevId
andendLdevId
attributes consists of no more than 2 LDEVs.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the description on job objects.Attribute
Description
affectedResources
URL of the created journal
The following table describes the meaning of the status code of the request for this operation. For details on other status codes, see the description on HTTP status codes.
Status code |
Message |
Description |
409 |
Conflict |
A journal that has the specified journal ID already exists. |
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X POST --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/journals
The mirror journal status
The following table describes the mirror journal statuses for Universal Replicator.
Status |
Description |
SMPL |
The mirror is not used. |
P(S)JNN |
The master journal (restore journal) is normal. |
P(S)JSN |
The master journal (restore journal) is in normal split status. |
P(S)JNF |
The master journal (restore journal) is full. |
P(S)JSF |
The master journal (restore journal) is full and split. |
P(S)JSE |
The master journal (restore journal) is split due to an error (including link errors). |
P(S)JNS |
The master journal (restore journal) is in normal split status (for the 3DC multi-target configuration that uses delta resync). |
P(S)JES |
The master journal (restore journal) is split due to an error (for the 3DC multi-target configuration that uses delta resync). |
Changing journal settings
The following request changes the journal settings, such as Data Overflow Watch and the transfer speed.
If a user uses the REST API to lock the resources of a target storage
system, any request that includes a change to the transfer speed (the
copySpeed
attribute) cannot run. In such a case, unlock the resources
before performing the operation.
Storage Administrator (Remote Copy)
PATCH base-URL/v1/objects/journals/object-ID
Object ID
Specify the value of
journalId
that was obtained by the processing to get information about journals.Attribute
Type
Description
journalId
int
(Required) Journal ID
Query parameters
None.
Body
The following is a coding example for changing the following settings: Data Overflow Watch, cache mode, and transfer speed:
{ "dataOverflowWatchInSeconds": 60, "isCacheModeEnabled": true, "copySpeed": 100 }
The following is a coding example for changing the following settings: mirror copy speed and Path Blockade Watch Time for the mirror:
{ "mirrorUnit": { "muNumber": 0, "copyPace": "M", "pathBlockadeWatchInMinutes": 10 } }
The following is a coding example for changing the following settings: Data Overflow Watch, cache mode, transfer speed, copy speed per mirror, and Path Blockade Watch Time for the mirror:
{ "dataOverflowWatchInSeconds": 60, "isCacheModeEnabled": true, "copySpeed": 100, "mirrorUnit": { "muNumber": 0, "copyPace": "M", "pathBlockadeWatchInMinutes": 10 } }
Attribute
Type
Description
dataOverflowWatchInSeconds
int
(Optional) Data Overflow Watch (in seconds)
This value is set to 60 by default when a journal is created.
If 0 is specified, control on inflow of update I/O to the journal volume will be disabled.
isCacheModeEnabled
boolean
(Optional) Specify whether to enable the cache mode setting.
- true: The cache mode setting is enabled.
- false: Disable the cache mode setting.
This value is set to true by default when a journal is created.
copySpeed
int
(Optional) Transfer speed (in Mbps)
Specify the transfer speed for data transfer. You can specify one of the following values:
3, 10, 100, or 256
This value is set to 256 by default when a journal is created.
mirrorUnit
object
Specify the following attributes for each mirror:
- (Optional) muNumber (int)
MU (mirror unit) number
Specify this attribute together with either the
copyPace
attribute or thepathBlockadeWatchInMinutes
attribute. - (Optional) copyPace (string)
Copy speed
The type is not case sensitive.
- L: Low speed
- M: Medium speed
- H: High speed
This value is set to L by default when a journal is created.
- (Optional) pathBlockadeWatchInMinutes (int)
Path Blockade Watch Time (in minutes)
Specify a value in the range from 0 to 60.
This value is set to 5 by default when a journal is created.
If 0 is specified, Path Blockade Watch will be disabled.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the description on job objects.Attribute
Description
affectedResources
URL of the changed journal
You can use detailed journal information to check changed setting values. You can obtain detailed information by specifying journalInfo=detail for the query parameter of the API for getting a list of journals.
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X PATCH --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/journals/100
Adding a journal volume
The following request adds a journal volume to a journal to expand the journal. Specify a DP volume for a journal volume to be added.
Storage Administrator (Remote Copy)
POST base-URL/v1/objects/journals/object-ID/actions/expand/invoke
Object ID
Specify the value of
journalId
that was obtained by the processing to get information about journals.Attribute
Type
Description
journalId
int
(Required) Journal ID
Query parameters
None.
Body
{ "parameters": { "ldevIds": [101] } }
Attribute
Type
Description
ldevIds
int[]
(Required) Specify the LDEV number with a decimal (base 10) number.
You can specify only one LDEV.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the description on job objects.Attribute
Description
affectedResources
URL of the journal to which a volume was added
GET base-URL/v1/objects/journals/object-ID/actions/expand
The following table describes the meaning of the status code of the request for this operation. For details on other status codes, see the description on HTTP status codes.
Status code |
Message |
Description |
412 |
Precondition Failed |
The number of journal volumes that are registered to the target volume is already at the maximum. |
To get an action template:
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/journals/3/actions/expand
To run the request after getting an action template:
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X POST --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/journals/3/actions/expand/invoke
Deleting a journal volume from a journal
The following request deletes the specified journal volume from a journal to shrink the journal.
Storage Administrator (Remote Copy)
POST base-URL/v1/objects/journals/object-ID/actions/shrink/invoke
Object ID
Specify the value of
journalId
that was obtained by the processing to get information about journals.Attribute
Type
Description
journalId
int
(Required) Journal ID
Query parameters
None.
Body
{ "parameters": { "ldevIds": [101] } }
Attribute
Type
Description
ldevIds
int[]
(Required) Specify the LDEV number with a decimal (base 10) number.
You can specify only one LDEV.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the description on job objects.Attribute
Description
affectedResources
URL of the journal from which a volume was deleted
GET base-URL/v1/objects/journals/object-ID/actions/shrink
The following table describes the meaning of the status code of the request for this operation. For details on other status codes, see the description on HTTP status codes.
Status code |
Message |
Description |
412 |
Precondition Failed |
Only one journal volume exists in the target journal, or pairs are created and the status of the journal volume is normal. |
To get an action template:
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/journals/3/actions/shrink
To run the request after getting an action template:
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X POST --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/journals/3/actions/shrink/invoke
Changing the MP blade assigned to a journal
The following request changes the MP blade assigned to a journal.
Storage Administrator (System Resource Management)
POST base-URL/v1/objects/journals/object-ID/actions/assign-mp-blade/invoke
Object ID
Specify the
journalId
value obtained by getting journal information.Attribute
Type
Description
journalId
int
(Required) Journal ID
Query parameters
None.
Body
{ "parameters": { "mpBladeId": 1 } }
Attribute
Type
Description
mpBladeId
int
(Required) The blade number of the MP blade to be assigned to the journal
Body
A job object is returned. For details about attributes other than
affectedResources
, see the description of job objects.Attribute
Description
affectedResources
URL of the journal for which the MP blade was changed
You can use detailed journal information to check changed setting values. You can obtain detailed information by specifying journalInfo=detail for the query parameter of the API for getting a list of journals.
None.
For details about the status codes of the request for this operation, see the description of the HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X POST --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/journals/3/actions/assign-mp-blade/invoke
Deleting a journal
The following request deletes a journal. A DP volume registered as a journal volume is not deleted. However, the DP volume can no longer be used as a journal.
Storage Administrator (Remote Copy)
DELETE base-URL/v1/objects/journals/object-ID
Object ID
Specify the value of
journalId
that was obtained by the processing to get information about journals.Attribute
Type
Description
journalId
int
(Required) Journal ID
Query parameters
None.
Body
None.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the description on job objects.Attribute
Description
affectedResources
URL of the deleted journal
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X DELETE https://192.0.2.100/ConfigurationManager/v1/objects/journals/30