我收到一条警告,提示有可用的Service Fabric新版本,但是,当我尝试对其进行升级时,该过程被卡在节点Rep_247上的PreUpgradeSafetyCheck中。我已经尝试过-Force和-ForceRestart,但是并没有帮助。
答案 0 :(得分:1)
由于服务结构无法以安全的方式关闭服务来升级节点或应用程序,因此可能会发生此问题。
每升级一个节点,必须先将在该节点中激活的服务移至另一个节点,以便可以在不影响您的应用程序\服务可用性的情况下重新启动该节点。
在这种情况下,当无法将服务放置在另一个节点中时,这样做可能会导致仲裁丢失,可能是因为没有其他可用的节点,或者由于服务中的放置约束,或者只有一个实例服务。
由于SF无法保证服务的可靠性,因此它将暂停升级过程,直到可以应用解决方案来解决问题并继续进行。
从您的集群映射中可以看到该消息,您的集群只有一个节点,类型为“ Rep_247 ReportServerType ”,我假设您有服务如果将放置约束仅部署在此节点类型上,则将节点撤下将使这些服务不可用,因为放置约束将阻止它们移动到另一节点类型。
如果服务不限于该节点类型,则问题可能是:
PS:节点 MR_236 MRType
PreUpgradeSafetyCheck的UpgradePhase意味着存在问题 在执行升级域之前准备它。最常见的 在这种情况下,问题是关闭时出现服务错误或降级 主要代码路径。
可能的解决方案是:
您可能有兴趣查看相关问题: