当前位置:网站首页>【Azure微服务 Service Fabric 】如何转移Service Fabric集群中的种子节点(Seed Node)
【Azure微服务 Service Fabric 】如何转移Service Fabric集群中的种子节点(Seed Node)
2022-07-07 21:38:00 【51CTO】
注意:在对Service Fabric的节点做操作之前,请务必确认是否是种子节点(Seed Node)且当前节点的数量是否与SF的持久层要求的数量一致。
可靠性级别是 Service Fabric 群集资源的一个属性。 对于各个节点类型,此属性的配置必须相同。 该属性控制群集系统服务的复制因子,是群集资源级别的设置。
可靠性级别决定了主节点类型必须具有的节点数下限。 可靠性层可以采用以下值:
- 白金:运行包含 7 个目标副本集和 9 个种子节点的系统服务。
- 金:运行包含 7 个目标副本集和 7 个种子节点的系统服务。
- 银:运行包含 5 个目标副本集和 5 个种子节点的系统服务。
- 铜:运行包含 3 个目标副本集和 3 个种子节点的系统服务。
建议的最低可靠性级别为“银”级。
在使用Service Fabric的过程中,有时会遇见某个节点出现问题,一般情况下,SF集群被设计为高可用集群,当单个节点停机期间会有其他的节点来接管。但是有时候也需要把种子节点转移出去,当有这种需求的时候,可以参考一下步骤:
准备条件:
- 使用Powershell/sfctl 已经连接到当前SF集群( Connect-ServiceFabricCluster & sfctl cluster)
- 使用Service Fabric Explorer连接到SF集群
执行步骤:
一:确保node type下的虚机数量满足reliability tier的最低需求,并同时满足至少有一个以上的none-seed node
二:使用powershell 或者
三:等待seed node状态由 ‘disabling’ 转换为 ‘disabled’
等待操作触发的cluster upgrade 完成,以及_nt1vm_5 转换为none-seed node
四:在VMSS界面直接移除对应的虚机 (运行在Linux上的Service Fabric Cluster不支持sfctl node transition命令)
五:使用powershell 或者 sfctl 移除node state
参考资料:
导致群集故障的随机故障: https://docs.azure.cn/zh-cn/service-fabric/service-fabric-disaster-recovery#random-failures-that-lead-to-cluster-failures
Service Fabric 具有种子节点的概念 。 种子节点可以维护基础群集的可用性。
种子节点可以与其他节点签署租约,在发生某些类型的故障时充当断路器,这样可确保群集保持启动状态。 如果随机故障删除了群集中的大部分种子节点并且无法快速将其恢复,则群集会自动关闭。 群集随后会发生故障。
在 Azure 中,Service Fabric 资源提供程序管理 Service Fabric 群集配置。 默认情况下,资源提供程序在主节点类型的容错域和升级域之间分配种子节点 。 如果将主节点类型标记为“银”或“金”级耐久性,则在通过缩减主节点类型或手动删除种子节点的方式删除种子节点时,群集会尝试从主节点类型的可用容量中提升另一个非种子节点。 如果你的可用容量少于群集可靠性级别对主节点类型的要求,则此尝试会失败。
在独立 Service Fabric 群集和 Azure 中,主节点类型是运行种子的节点类型。 定义主节点类型时,Service Fabric 会自动利用为每个系统服务创建最多九个种子节点和七个副本时提供的节点数。 如果一组随机故障同时导致其中的大部分副本关闭,则系统服务会进入仲裁丢失状态。 如果大部分种子节点丢失,群集会在不久之后关闭。
https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-capacity
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!
边栏推荐
- 反爬通杀神器
- 2022 how to evaluate and select low code development platforms?
- Meta force force meta universe system development fossage model
- Magic weapon - sensitive file discovery tool
- Restore backup data on persistent volumes
- Use camunda to do workflow design and reject operations
- Dry goods sharing | devaxpress v22.1 original help document download collection
- Win11如何解禁键盘?Win11解禁键盘的方法
- Take the intersection of two sets
- Why can't win11 display seconds? How to solve the problem that win11 time does not display seconds?
猜你喜欢
反爬通杀神器
[C language] advanced pointer --- do you really understand pointer?
Build your own website (18)
Cv2.resize function reports an error: error: (-215:assertion failed) func= 0 in function ‘cv::hal::resize‘
The strongest installation of the twin tower model, Google is playing "antique" again?
Dry goods sharing | devaxpress v22.1 original help document download collection
Restapi version control strategy [eolink translation]
operator
Usage of MySQL subquery keywords (exists)
Problems encountered in installing mysql8 for Ubuntu and the detailed installation process
随机推荐
三元表达式、各生成式、匿名函数
TCP/IP 协议栈
Jerry's fast pairing does not support canceling pairing [article]
EasyUI date control emptying value
How does win11 unblock the keyboard? Method of unlocking keyboard in win11
2022 how to evaluate and select low code development platforms?
Problems encountered in installing mysql8 for Ubuntu and the detailed installation process
谈谈制造企业如何制定敏捷的数字化转型策略
L'enregistreur de disque dur NVR est connecté à easycvr par le Protocole GB 28181. Quelle est la raison pour laquelle l'information sur le canal de l'appareil n'est pas affichée?
Automatic classification of defective photovoltaic module cells in electronic images
Use json Stringify() to realize deep copy, be careful, there may be a huge hole
[C language] advanced pointer --- do you really understand pointer?
Tcp/ip protocol stack
Develop those things: go plus c.free to free memory, and what are the reasons for compilation errors?
Nine degree 1201 - traversal of binary sort number - binary sort tree "suggestions collection"
Focusing on safety in 1995, Volvo will focus on safety in the field of intelligent driving and electrification in the future
The little money made by the program ape is a P!
null == undefined
Cv2.resize function reports an error: error: (-215:assertion failed) func= 0 in function ‘cv::hal::resize‘
Song list 11111