我有一个服务架构集群似乎停留在自动升级的回滚阶段超过七天。
这是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-ServiceFabricClusterUpgrade
,Update-ServiceFabricClusterUpgrade
和Start-ServiceFabricClusterUpgrade
。
我已经尝试-Force
与Stop-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;
}
}
,我还能做些什么来阻止这个过程吗?
答案 0 :(得分:2)
Troubleshoot application upgrades说 -
“PreUpgradeSafetyCheck的升级阶段意味着在执行升级域之前存在问题。在这种情况下,最常见的问题是关闭或降级主代码路径时的服务错误。” < / p>
因此SF可能无法关闭服务可执行文件。最简单的方法可能是从SF Explorer中取消激活(重新启动)输出中提到的节点。
答案 1 :(得分:2)
我最后做的是逐个登录集群中的节点并重新启动它们,等待上一个节点重新启动,然后重新启动下一个节点。
这修复了它,升级过程最终完成。 VMSS上的重启可能会实现同样的目的,但我不确定重启期间是否会出现服务中断。它肯定会耗费更少的时间。
答案 2 :(得分:1)