Before
creating a replicated array pair, you must configure array managers for the protected
(local) and recovery (remote) SRM sites.
Configure array managers for the protected and recovery sites to enable the creation
of an array pair for array-based replication (ABR). Array managers must be
configured so that Site Recovery Manager
(SRM) can discover replicated devices, compute datastore groups,
and initiate storage operations.
Prerequisites
-
Verify that your SRM
connection is authenticated against the protected (local) and recovery
(remote) vCenter
Server
systems. This example uses the $srmConnection
variable from Connect to a Local and to a Remote Site Recovery Manager (SRM) Server.
-
Verify that the SRM instances on the protected (local) and recovery
(remote) sites are connected. This is known as site pairing.
-
Verify that storage replication adapters (SRAs) are installed at both
sites.
-
You must have the required
privileges to create array managers on the protected and recovery
sites.
Procedure
-
Retrieve
the storage replication adapter (SRA) for the local array manager.
$localAdapter = (Invoke-SrmGetStorageAdapters -PairingId $srmConnection.ConnectedPairing.PairingId `
-SrmId $srmConnection.ConnectedPairing.LocalSrmServer.Id `
-FilterProperty "Name" `
-Filter "<myAdapterName>").List[0]
-
Prepare the connection parameters for the local SRA.
-
Retrieve the ConnectionParamGroup object for the
local SRA.
$localConnectionParamGroup = (Invoke-SrmGetStorageAdapterConnectionParams `
-PairingId $srmConnection.ConnectedPairing.PairingId `
-SrmId $srmConnection.ConnectedPairing.LocalSrmServer.Id `
-StorageAdapterId $localAdapter.Id).List[0]
-
Provide values to the connection parameters, available in the
$localConnectionParamGroup.ConnectionParams
list.
The set of connection parameters is specific to the used SRA. This
example uses parameters specific to the NetApp SRA.
($localConnectionParamGroup.ConnectionParams | where {$_.key -eq "username"}).Value = "<myNetAppUser>"
($localConnectionParamGroup.ConnectionParams | where {$_.key -eq "password"}).Value = "<myNetAppPass>"
($localConnectionParamGroup.ConnectionParams | where {$_.key -eq "VolumeInclusion"}).Value = "<myVolume>"
($localConnectionParamGroup.ConnectionParams | where {$_.key -eq "SVM Name"}).Value = "<myLocalSvmName>"
($localConnectionParamGroup.ConnectionParams | where {$_.key -eq "mgmtIP"}).Value = "<myNetAppMgmtIP>"
-
Prepare the local array manager creation spec.
$localArrayManagerSpec = Initialize-SrmArrayManagerSpec -Name "<myLocalArrayManagerName>" `
-StorageAdapter $localAdapter.Id `
-ConnectionParams $localConnectionParamGroup
-
Create the local array manager.
$task = Invoke-SrmCreateArrayManager -PairingId $srmConnection.ConnectedPairing.PairingId `
-SrmId $srmConnection.ConnectedPairing.LocalSrmServer.Id `
-ArrayManagerSpec $localArrayManagerSpec
-
Monitor the task progress.
$task = Invoke-SrmGetTaskInfo -TaskId $task.Id
$task.Status
eventually changes to SUCCESS
.
- (Optional)
Retrieve the local array
manager.
The Result property of the
$localManagerTask object contains the ID of the
created array manager.
$localManagerTask = Invoke-SrmGetTaskInfo -TaskId $task.Id
$localArrayManager = Invoke-SrmGetArrayManager -PairingId $srmConnection.ConnectedPairing.PairingId `
-SrmId $srmConnection.ConnectedPairing.LocalSrmServer.Id `
-ArrayManagerId $localManagerTask.Result
-
Create the remote array manager by using the same approach.
$remoteAdapter = (Invoke-SrmGetStorageAdapters -PairingId $srmConnection.ConnectedPairing.PairingId `
-SrmId $srmConnection.ConnectedPairing.RemoteSrmServer.Id `
-FilterProperty "Name" `
-Filter "<myAdapterName>").List[0]
$remoteConnectionParamGroup = (Invoke-SrmGetStorageAdapterConnectionParams `
-PairingId $srmConnection.ConnectedPairing.PairingId `
-SrmId $srmConnection.ConnectedPairing.RemoteSrmServer.Id `
-StorageAdapterId $remoteAdapter.Id).List[0]
($remoteConnectionParamGroup.ConnectionParams | Where-Object {$_.key -eq "username"}).Value = "<myNetAppUser>"
($remoteConnectionParamGroup.ConnectionParams | Where-Object {$_.key -eq "password"}).Value = "<myNetAppPass>"
($remoteConnectionParamGroup.ConnectionParams | Where-Object {$_.key -eq "VolumeInclusion"}).Value = "<myVolume>"
($remoteConnectionParamGroup.ConnectionParams | Where-Object {$_.key -eq "SVM Name"}).Value = "<myRemoteSvmName>"
($remoteConnectionParamGroup.ConnectionParams | Where-Object {$_.key -eq "mgmtIP"}).Value = "myNetAppMgmtIP"
$remoteArrayManagerSpec = Initialize-SrmArrayManagerSpec -Name "<myRemoteArrayManagerName>" `
-StorageAdapter $remoteAdapter.Id `
-ConnectionParams $remoteConnectionParamGroup
$task = Invoke-SrmCreateArrayManager -PairingId $srmConnection.ConnectedPairing.PairingId `
-SrmId $srmConnection.ConnectedPairing.RemoteSrmServer.Id `
-ArrayManagerSpec $remoteArrayManagerSpec
#Wait for the create array manager task to complete.
$remoteManagerTask = Invoke-SrmGetTaskInfo -TaskId $task.Id
$remoteArrayManager = Invoke-SrmGetArrayManager -PairingId $srmConnection.ConnectedPairing.PairingId `
-SrmId $srmConnection.ConnectedPairing.RemoteSrmServer.Id `
-ArrayManagerId $remoteManagerTask.Result
What to do next
Create
a replicated array pair for array-based replication.