跳到主要内容

切换 MongoDB 集群

数据库 switchover 是指在数据库集群中将主数据库的角色切换到备用数据库的过程,使备用数据库成为新的主数据库实例。通常在主数据库故障、维护或升级时执行 switchover 操作,以确保数据库服务的高可用性和连续性。可使用 kbcli 命令对 MongoDB 集群版执行切换,KubeBlocks 将切换实例角色。

开始之前

  • 确保集群正常运行。

  • 检查以下角色探针参数是否存在,确认是否已启用探针。

    kubectl get cd mongodb -o yaml
    >
    probes:
    roleProbe:
    failureThreshold: 3
    periodSeconds: 2
    timeoutSeconds: 2

切换集群

将 MongoDB 主备版的从节点切换为主节点,原来的主节点实例将被切换为从节点实例。

  • 不指定主节点实例进行切换。

    kbcli cluster promote mycluster
  • 指定一个新的主节点实例进行切换。

    kbcli cluster promote mycluster --instance='mycluster-mongodb-2'
  • 如果有多个组件,可以使用 --components 参数指定一个组件。

    kbcli cluster promote mycluster --instance='mycluster-mongodb-2' --components='mongodb'

验证集群切换

检查实例状态,验证切换是否成功。

kbcli cluster list-instances

处理异常情况

如果报错,请参考异常处理排查问题。