【问题标题】:Can you move a Service fabric cluster to another subnet?您可以将 Service Fabric 集群移动到另一个子网吗?
【发布时间】:2020-10-30 20:53:21
【问题描述】:

我们有一个服务结构集群,它在 10.0.0.0/8 VNET 内的 10.0.0.0/24 中运行。我们的客户希望通过 VPN 将其加入到他们自己的网络中。但是,我们使用的 ip 范围和客户希望我们使用的范围存在冲突问题(10.90.15.0/24,大小没有问题)。

我们尝试创建一个新子网 10.90.15.0/24,但是当我们将底层虚拟机规模集的子网引用编辑到这个新子网时,集群拒绝启动,并且在事件查看器中可以看到:

Throwing coding error - Seed node '35ee85474352dcc2e88fa9ad6af912b1' with address 
'10.90.15.4:1025' mismatches configured address '10.0.0.4:1025' 
Symbol paths: C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code;
C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code;;
Symbol loading time: 00.161
Stack trace:
    00007ff7:25f5478c( windows_error(487): Attempt to access invalid address.  )
    00007ff7:25f06592( windows_error(487): Attempt to access invalid address.  )
    00007ff7:25f06413( windows_error(487): Attempt to access invalid address.  )
    00007ff7:26186be7( windows_error(487): Attempt to access invalid address.  )
    00007ff7:2616ef25( windows_error(487): Attempt to access invalid address.  )
    00007ff7:25eaceeb( windows_error(487): Attempt to access invalid address.  )
    00007ff7:25eb7471( windows_error(487): Attempt to access invalid address.  )
    00007ff7:25eba4f9( windows_error(487): Attempt to access invalid address.  )
    00007ff7:25ed5090( windows_error(487): Attempt to access invalid address.  )
    00007ff7:25ec7c25( windows_error(487): Attempt to access invalid address.  )
    00007ff7:25ec7c84( windows_error(487): Attempt to access invalid address.  )
    00007ff7:25f37de8( windows_error(487): Attempt to access invalid address.  )
    00007ff7:25eae132( windows_error(487): Attempt to access invalid address.  )
    00007ff7:25ec617a( windows_error(487): Attempt to access invalid address.  )
    00007ff7:25ea7a5a( windows_error(487): Attempt to access invalid address.  )
    00007ff7:25eab10a( windows_error(487): Attempt to access invalid address.  )
    00007ff7:25f07607( windows_error(487): Attempt to access invalid address.  )
    RtlReleaseSRWLockExclusive + 0x445e
    RtlReleaseSRWLockExclusive + 0x2674
    BaseThreadInitThunk + 0x14

现在,虽然我知道集群的配置没有改变,但 IP 已经改变,但当谈到解决方案时,我有点难过。如果不重新安装服务结构的虚拟机规模集扩展,移动子网是不可能的吗?这意味着完全重新创建集群并恢复备份。这无论如何都是可能的,但不可取。

是否有人已经这样做了,或者可能对如何实现这一点有完全不同的想法?

编辑:由于生病,我无法测试建议的内容,将尽快进行。

编辑 2:nicPrefixOverride 已作为 ARM 脚本的一部分进行了更改,因此更改设置似乎没有什么区别。

【问题讨论】:

  • 使用不同的nicPrefixOverride 重新部署扩展会发生什么?
  • 如果您查看节点上的 SF 目录,您会发现它们具有对其他集群成员的 ip 引用。简单地切换 vmss 子网不会更新这些引用,因此集群将不再知道如何通信。对于这些类型的更改,只需部署一个新集群并将工作负载转移过来总是更干净。
  • 经过一番思考后,我相信@CodedBeard 的建议是更好的解决方法。就我而言,你可以发一个帖子,如果你愿意,我可以将其标记为已回答。但是,在正确的子网中使用辅助规模集扩展集群,然后迁移工作负载和状态是否比创建全新的集群并迁移更可取,还是我遗漏了什么?

标签: azure-service-fabric azure-virtual-network


【解决方案1】:

如果您查看节点上的 SF 目录,您会发现它们具有对其他集群成员的 ip 引用。简单地切换 vmss 子网不会更新这些引用,因此集群将不再知道如何通信。对于这些类型的更改,只需部署一个新集群并将工作负载转移过来总是更干净。

虽然是的,但在正确的子网中添加一个新的 vmss 可能会很有效,但根据我自己的经验,我发现从头开始会更一致地成功。另外,我之前有一个集群被 Azure 更新阻塞,因此在这种情况下重新配置集群的经验真的很有帮助,而不是在中断期间第一次尝试它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-11
    • 2018-02-20
    • 1970-01-01
    • 2016-11-28
    • 2022-06-18
    • 2016-09-04
    • 1970-01-01
    • 2016-06-20
    相关资源
    最近更新 更多