如何停止空闲的Service Fabric Cluster Upgrade?

时间:2017-06-23 14:09:41

标签: powershell azure azure-service-fabric

我有一个服务架构集群似乎停留在自动升级的回滚阶段超过七天。

这是Get-ServiceFabricClusterUpgrade的输出:

TargetCodeVersion             : 5.5.216.0
TargetConfigVersion           : 2
StartTimestampUtc             : 15/06/2017 23:44:40
FailureTimestampUtc           : 16/06/2017 01:41:48
FailureReason                 : HealthCheck
UpgradeState                  : RollingBackInProgress
UpgradeDuration               : 7.14:13:10
CurrentUpgradeDomainDuration  : 7.12:16:03
CurrentUpgradeDomainProgress  : 0

NodeName            : xxxxxxxxxxxxxxxxxxxxx
UpgradePhase        : PreUpgradeSafetyCheck
PendingSafetyChecks :
WaitForInbuildReplica - PartitionId: xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
NextUpgradeDomain             : 1
UpgradeDomainsStatus          : { "0" = "InProgress";
                                  "1" = "Pending";
                                  "2" = "Pending";
                                  "3" = "Pending";
                                  "4" = "Pending" }

Start-ServiceFabricClusterUpgrade下看似相关的唯一其他cmdlet是Resume-ServiceFabricClusterUpgradeUpdate-ServiceFabricClusterUpgradeStart-ServiceFabricClusterUpgrade

我已经尝试-ForceStop-ServiceFabricClusterUpgrade开关,希望它取消现有的悬挂,并开始一个新的,但不幸的是没有。我还重新启动了正在进行的节点,但这也没有任何区别。

如果没有 public class GridProperties { private int xLength; private int yLength; public GridProperties(int xlength, int ylength) { xLength = xlength; yLength = ylength; } public int getXLength() { return this.xLength; } public int getYLength() { return this.yLength; } } ,我还能做些什么来阻止这个过程吗?

3 个答案:

答案 0 :(得分:2)

Troubleshoot application upgrades说 -

“PreUpgradeSafetyCheck的升级阶段意味着在执行升级域之前存在问题。在这种情况下,最常见的问题是关闭或降级主代码路径时的服务错误。” < / p>

因此SF可能无法关闭服务可执行文件。最简单的方法可能是从SF Explorer中取消激活(重新启动)输出中提到的节点。

答案 1 :(得分:2)

我最后做的是逐个登录集群中的节点并重新启动它们,等待上一个节点重新启动,然后重新启动下一个节点。

这修复了它,升级过程最终完成。 VMSS上的重启可能会实现同样的目的,但我不确定重启期间是否会出现服务中断。它肯定会耗费更少的时间。

答案 2 :(得分:1)

我可以通过两种方式来实现这一目标:

  • 终止服务架构群集并重新创建
  • 或者最好重新启动虚拟机规模集(实际上相当于重新启动服务器)。我确信有一种方法可以通过Powershell而不是通过Azure门户来实现。

enter image description here