安装“故障转移群集”:到此为此,基本准备工作已经结束了,下面就开始在两个节点上安装群集服务。在此以server1为例,安装方法是:打开服务器管理器图标----添加功能,从中选择“故障转移群集”。如果没有 就是你那版本不支持或者是硬件不满足要求
如何从 Windows Server 2003 故障转移群集中退出节点
k8s集群中的一个node节点故障,将这个node节点下线后上面的pod迁移到其他节点,但是大量pod都产生报错。经排查,是由于redis集群故障导致。但是查看resdis pod,都是running状态,如下图

由于这些pod是组成集群使用,既然pod是正常的,应用又报redis链接的错误,所以问题肯定出在Redis Cluster上,查看Redis Cluster状态:

这个示意图我只画出三个node,简单表达一下意思即可。三个node上各运行了一个master和一个slave节点。由于node3节点故障已经移除集群,这个节点上之前运行的其他无状态pod迁移到其他节点可以正常运行,但是master2和slave2在node3上有持久化数据,虽然在node4上重建了,但是由于缺失数据,原来的集群状态被破坏了,所以重新部署也无法恢复,由于是master2和slave2的数据都丢失了,集群无法重建。通过开发了解到,redis上都是缓存数据,丢失影响不大,于是删除本地持久化数据,重新部署redis node,再手动创建集群。
三个节点都添加完成,并且没有报错。进入一个master节点查看集群状态:

集群状态终于恢复正常。重建后的Redis Cluster集群架构示意图如下
总结:对于有状态的应用,redis、mysql等,容器化时一定要考虑周全,避免主从节点运行在一个节点上。对于redis应用,如果读写I/O不是特别高,还是建议直接使用主从复制架构,故障恢复简单且迅速。
2.在树中双击群集名称。 3.右键单击要从群集中删除的节点,然后单击“停止群集服务”。停止服务时将出现一个对话框。停止服务之后,节点图标将显示 X。 4.再次右键单击该节点,然后单击“退出节点”。 5.此时将出现一个对话框,询问您是否确定要退出该节点。确保在对话框中指定了正确的节点,然后单击“是”退出该节点。 使用群集管理器从 Windows Server 2003 故障转移群集中退出最后一个节点-------------------------------------------------------------------------------- 1.打开“群集管理器”工具。 2.在树中双击群集名称。 3.右键单击要从群集中删除的节点,然后单击“退出节点”选项。 完成该操作之后,群集管理器将报告该群集不可用。 使用 Cluster.exe 从 Windows Server 2003 故障转移群集中退出节点-------------------------------------------------------------------------------- 1.在要退出的节点上打开“命令提示符”窗口。 2.通过运行以下命令停止群集服务: 复制 net stop clussvc3.停止群集服务之后,通过运行以下命令退出节点: 复制 Cluster <ClusterName> node <NodeName> /evict注意: 使用 Cluster.exe 退出群集中的最后一个节点时,不必在运行步骤 3 中的命令之前停止群集服务。 使用 Cluster.exe 强制从 Windows Server 2003 故障转移群集中退出节点-------------------------------------------------------------------------------- 1.在要强制退出的节点上打开“命令提示符”窗口。 2.通过运行以下命令停止群集服务: 复制 net stop clussvc3.停止群集服务之后,通过运行以下命令强制退出节点。


