Add remote connections

Deploy Universal Replicator using REST API with 25G iSCSI

Version
Audience
anonymous
Part Number
MK-24VSP1BQ011-00
ft:lastEdition
2026-07-01
  1. Register MCU iSCSI ports by sending local iSCSI connection json file.
    Request line:
    POST base-URL/v1/objects/remote-iscsi-ports
    Example:
    curl -k -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session <32-character HEX string>"  -X POST --data-binary @./local_storage_port.json 
    https://<Service_IP_Address_of_VSP_One_Block_20_series>/ConfigurationManager/v1/objects/remote-iscsi-ports
    local_storage_port.json example:
    {
     "localPortId": "CL1-D",
     "remoteSerialNumber": "<remoteSerialNumber>",
     "remoteStorageTypeId": "M8",
     "remotePortId": "CL1-A",
     "remoteIpAddress": "192.168.24.120",
     "remoteTcpPort": 3260
    }
    
  2. Register RCU iSCSI ports by sending local iSCSI connection json file.
    Request line:
    POST base-URL/v1/objects/remote-iscsi-ports
    Example:
    curl -k -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session <32-character HEX string>"  -X POST --data-binary @./remote_storage_port.json 
    https:// <Service_IP_Address_of_VSP_One_Block_20_series>/ConfigurationManager/v1/objects/remote-iscsi-ports
    remote_storage_port.json example:
    {
     "localPortId": "CL1-A",
     "remoteSerialNumber": "<primarySerialNumber>",
     "remoteStorageTypeId": "M8",
     "remotePortId": "CL1-D",
     "remoteIpAddress": "192.168.24.112",
     "remoteTcpPort": 3260
    }
    
  3. Define a remote path group with the initial path from the primary to the secondary storage system.
    Request line:
    POST base-URL/v1/objects/remotepath-groups
    Example:
    curl -k -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session <32-character HEX string>"  -X POST --data-binary @./Primary_create_remote_connection.json 
    https:// <Service_IP_Address_of_VSP_One_Block_20_series>/ConfigurationManager/v1/objects/remotepath-groups
    Primary_create_remote_connection.json example:
    {
     "remoteSerialNumber": "<remoteSerialNumber>",
     "remoteStorageTypeId": "M8",
     "pathGroupId": 0,
     "localPortId": "CL1-D",
     "remotePortId": "CL1-A"
    }
    
  4. Add a secondary path for redundancy and load balancing to connect to the secondary storage system.
    Request line:
    POST base-URL/v1/objects/remotepath-groups/<object-ID>/actions/add-remotepath/invoke

    where object-ID is remoteSerialNumber,remoteStorageTypeId,pathGroupId

    Example:
    curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session <32-character HEX string>" -X POST --data-binary @./add_remote_connection_MCU.json 
    https:// <Service_IP_Address_of_VSP_One_Block_20_series>/ConfigurationManager/v1/objects/remotepath-groups/<remoteSerialNumber>,M8,0/actions/add-remotepath/invoke
    add_remote_connection_MCU.json example:
    {
     "parameters": {
     "localPortId": "CL2-D",
     "remotePortId": "CL2-A"
     }
    }
    
  5. Add a path from the secondary to the primary storage system.
    Request line:
    POST base-URL/v1/objects/remotepath-groups
    Example:
    curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session <32-character HEX string>" -X POST --data-binary @./Secondary_create_remote_connection.json 
    https://172.23.68.42/ConfigurationManager/v1/objects/remotepath-groups
    Secondary_create_remote_connection.json example:
    {
     "remoteSerialNumber": "<primarySerialNumber>",
     "remoteStorageTypeId": "M8",
     "pathGroupId": 0,
     "localPortId": "CL1-A",
     "remotePortId": "CL1-D"
    }
    
    Request line:
    POST base-URL/v1/objects/remotepath-groups/object-ID/actions/add-remotepath/invoke

    where object-ID is remoteSerialNumber,remoteStorageTypeId,pathGroupId

    Example:
    curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session <32-character HEX string>" -X POST --data-binary @./add_remote_connection_RCU.json 
    https:// <Service_IP_Address_of_VSP_One_Block_20_series>/ConfigurationManager/v1/objects/remotepath-groups/<primarySerialNumber>,M8,0/actions/add-remotepath/invoke
    add_remote_connection_RCU.json example:
    {
     "parameters": {
     "localPortId": "CL2-A",
     "remotePortId": "CL2-D"
     }
    }
    
  6. Verify the remote paths:
    Request line:
    GET base-URL/v1/objects/remotepath-groups/object-ID
    Example:
    curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session <32-character HEX string>" -X GET 
    http:// <Service_IP_Address_of_VSP_One_Block_20_series>/ConfigurationManager/v1/objects/remotepath-groups/<remoteSerialNumber>,M8,0
    Output:
    {
      "remotepathGroupId" : "<remoteSerialNumber>,M8,0",
      "remoteStorageDeviceId" : "<storageDeviceId> ",
      "remoteSerialNumber" : "<remoteSerialNumber>",
      "remoteStorageModel" : "VSP One B28",
      "remoteStorageTypeId" : "M8",
      "pathGroupId" : 0,
      "remotePaths" : [ {
        "cuType" : "REMOTE",
        "portType" : "ISCSI",
        "pathNumber" : 0,
        "localPortId" : "CL1-D",
        "remotePortId" : "CL1-A",
        "pathStatus" : "NML_01"
      }, {
        "cuType" : "REMOTE",
        "portType" : "ISCSI",
        "pathNumber" : 1,
        "localPortId" : "CL2-D",
        "remotePortId" : "CL2-A",
        "pathStatus" : "NML_01"
      } ]
    
    RCU
    
    curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session <32-character HEX string>" -X GET 
    http:// <Service_IP_Address_of_VSP_One_Block_20_series>/ConfigurationManager/v1/objects/remotepath-groups/<primarySerialNumber>,M8,0
    
    {
      "remotepathGroupId" : "<primarySerialNumber>,M8,0",
      "remoteStorageDeviceId" : "<storageDeviceId> ",
      "remoteSerialNumber" : "<primarySerialNumber>",
      "remoteStorageModel" : "VSP One B28",
      "remoteStorageTypeId" : "M8",
      "pathGroupId" : 0,
      "remotePaths" : [ {
        "cuType" : "REMOTE",
        "portType" : "ISCSI",
        "pathNumber" : 0,
        "localPortId" : "CL1-A",
        "remotePortId" : "CL1-D",
        "pathStatus" : "NML_01"
      }, {
        "cuType" : "REMOTE",
        "portType" : "ISCSI",
        "pathNumber" : 1,
        "localPortId" : "CL2-A",
        "remotePortId" : "CL2-D",
        "pathStatus" : "NML_01"
      } ]