暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T CN隔离恢复

墨天轮 2019-09-23
437

CN隔离恢复

集群CN由于故障被隔离时,可以根据本节内容恢复故障CN。该操作仅支持在分布式部署模式下执行。

背景信息

部署集群时,建议用户将CN实例分散部署在其他多个服务器上,以避免主机故障造成的集群不可用。如表1所示。

表1 集群部署方案示例

主机

AZ

CN

CM

ETCD

DN

plat1

AZ1

CN 1

CM备

ETCD1

DN1备

plat2

AZ1

CN 2

CM主

ETCD2

DN2备

plat3

AZ1

-

-

ETCD3

DN1主

plat4

AZ1

-

-

-

DN2主

前提条件

  • 不支持恢复由于物理损坏而被隔离并替换的故障CN。
  • 在故障CN恢复期间,不允许进行DDL操作。
  • 如果集群中有负载均衡组件,需要从负载均衡组件中剔除对故障CN的业务分发。在故障恢复后,再在负载均衡组件中恢复CN。

操作步骤

  • omm用户身份登录GaussDB 100被隔离CN所在服务器。
  • 使用以下命令查看集群状态。

    gs_om -t status

    状态显示为DELETED的CN,为被隔离的CN。集群状态详解,请参见集群状态查询。

  • (可选)故障CN被隔离期间,如果在其它正常CN上进行过DDL操作,需要将元数据同步到故障CN上。

    • 在故障CN上以本地登录方式使用zsql连接数据库。
      zsql / as clsmgr -D cn_data_dir
    • (可选)如果使用zsql连接失败,需要使用如下命令手工启动CN进程后再使用命令“zsql / as clsmgr -D cn_data_dir”本地登录故障CN。
      zengine open --coordinator -D cn_data_dir
    • 将元数据同步到故障CN上。
      @业务DDL脚本.sql
    • 退出当前链接。
      exit

  • 使用以下命令,关闭CM自动更新CN和DN的路由信息表功能。

    cm ctl updateCNSwitchCmd updateNodeRoute=OFF

  • 关闭CM检测CN自动隔离开关。

    cm ctl set -p CoordinatorHeartbeatTimeout -v 0

  • 在除故障CN以外的集群所有CN、主DN上,以本地登录方式执行以下命令,加回故障节点。

    本地登录CN的命令为“zsql / as clsmgr -D cn_data_dir”,本地登录DN的命令为“zsql / as sysdba -D dn_data_dir”。

    CREATE NODE cn_name WITH ( TYPE = 'coordinator', NODEID =401, HOST = '192.168.0.3 ', PORT = 8000, USERNAME = omm, PASSWORD = 'gaussdb_123' );

  • 恢复集群中故障CN的状态。

    cm ctl restoreCn -H host_name -I instance_name

  • 重启故障CN。

    gs_om -t start -h host_name -I cn_name

  • 打开CM检测CN自动隔离开关。

    cm ctl set -p CoordinatorHeartbeatTimeout -v 300

    系统默认CN故障5分钟(即300秒)后进行故障隔离。

  • 启动CM的自动更新CN和DN的路由信息表功能。

    cm ctl updateCNSwitchCmd updateNodeRoute=ON

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论