【发布时间】: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