如何修复独立 Service Fabric 群集中的错误 IP 地址

How to repair bad IP addresses in standalone Service Fabric cluster

我们刚刚将一个独立的 Service Fabric 集群发送到配置错误的客户站点。我们的设置:

我们使用节点的静态 IP 地址在本地配置集群。当服务器到达时,Hyper-V 机器的 IP 地址被更改以符合客户的可用 IP 地址。现在我们无法连接到集群,因为 clusterConfig 中的每个 IP 都是错误的。有没有什么方法可以在不重新安装集群的情况下从中恢复?如果可能,我们希望保留分配给 VM 的新 IP。

我只在我的测试环境中测试过这个(我以前从未在生产环境中做过这个,所以风险自负),但是因为你无论如何都无法连接到集群,我认为这是值得的去试试。

连接到集群中的每个虚拟机并执行以下步骤:

  1. 找到 Service Fabric 集群文件(通常是 C:\ProgramData\SF\{nodeName}\Fabric)
  2. 获取 ClusterManifest.current.xml 文件并将其复制到临时文件夹(例如 C:\temp)
  3. 转到 Fabric.Data 子文件夹,将 InfrastructureManifest.xml 文件复制到同一临时文件夹
  4. 在您复制的每个文件中,更改节点的 IP 地址以更正值
  5. 在 powershell
  6. 中通过 运行ning net stop FabricHostSvc 命令停止 FabricHostSvc 进程
  7. 成功停止后运行这个powershell(管理员模式)命令更新节点集群配置: New-ServiceFabricNodeConfiguration -ClusterManifestPath C:\temp\ClusterManifest.current.xml -InfrastructureManifestPath C:\temp\InfrastructureManifest.xml

  8. 更新配置后启动 FabricHostSvc net start FabricHostSvc

为每个节点执行此操作并祈祷最好。