【发布时间】:2021-08-25 15:11:05
【问题描述】:
以下脚本将成功完成,但故障转移后,新的 DestinationComputer 数据卷仍处于挂载状态,复制状态为“WaitingForDestination”
$cred = Get-Credential domain\adminaccount
$s = New-PSSession -computerName DestinationSrv01 -credential $cred
Invoke-Command -Session $s -Scriptblock {Set-SRPartnership -NewSourceComputerName DestinationSrv01 -SourceRGName rg02 -DestinationComputerName SourceSrv01 -DestinationRGName rg01 -confirm:$false}
Remove-PSSession $s
SourceSrv01:
DataVolume IsMounted ReplicationMode ReplicationStatus
---------- --------- --------------- -----------------
D:\ Synchronous WaitingForDestination
我用Enter-PSSession测试了同样的命令,结果和上面一样。
如果我 RDP 到 DestinationSrv01 并打开 PowerShell 控制台运行以下命令,则一切正常。
Set-SRPartnership -NewSourceComputerName DestinationSrv01 -SourceRGName rg02 -DestinationComputerName SourceSrv01 -DestinationRGName rg01 -confirm:$false
SourceSrv01:
DataVolume IsMounted ReplicationMode ReplicationStatus
---------- --------- --------------- -----------------
D:\ False Synchronous ContinuouslyReplicating
【问题讨论】:
-
这是一个猜测,但这可能是一个时间问题,并且可能与通过远程处理完成的对象序列化有关。尝试在脚本块中的
Set-...命令之后添加| Get-SRPartnership。由于看起来Set-SRPartnership命令正在输出对象,因此在通过会话返回之前应该会导致刷新。 -
我更改了脚本添加 Invoke-Command -Session $s -Scriptblock { Set-SRPartnership -NewSourceComputerName DestinationSrv01 -SourceRGName rg02 -DestinationComputerName SourceSrv01 -DestinationRGName rg01 -confirm:$false | Get-SRPartnership} Start-Sleep -s 30 Remove-PSSession $s 我还是有同样的问题,这使得 SourceSrv01 & DestinationSrv01 rw DataVolume IsMounted ReplicationMode ReplicationStatus ---------- ------- -- --------------- ----------------- D:\ Synchronous WaitingForDestination
标签: windows powershell cluster-computing powershell-remoting failovercluster