微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么存储副本故障转移失败使用 New-PSSession 或 Enter-PSSession

如何解决为什么存储副本故障转移失败使用 New-PSSession 或 Enter-PSSession

以下脚本将成功完成,但故障转移后,新的 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

解决方法

我在这里盲目导航,但根据当前评论和时间问题的怀疑尝试调整 Start-Sleep 的位置:

$cred = Get-Credential domain\adminaccount
$s = New-PSSession -computerName DestinationSrv01 -credential $cred

$ScriptBlock = {
    $SRPartnerShip = Set-SRPartnership -NewSourceComputerName DestinationSrv01 -SourceRGName rg02 -DestinationComputerName SourceSrv01 -DestinationRGName rg01 -confirm:$false
    Start-Sleep -Seconds 30
    $SRPartnerShip = $SRPartnerShip | Get-SRPartnership
}

Invoke-Command -Session $s -Scriptblock $ScriptBlock
Remove-PSSession $s

这在刷新然后返回之前等待 30 秒。你的方式是你在返回后等待 30 秒。如果通过简单的重新获取刷新没有修复它,除了等待更长时间返回错误信息之外,它不会改变任何东西。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。