文档中心MogDBMogDB StackUqbar
v5.0

文档:v5.0

支持的版本:

其他版本:

MogDB/CM/PTK支持双网段

可获得性

本特性自MogDB 5.0.6版本开始引入。

特性简介

MogDB/CM/PTK支持双网段场景的系统部署。

客户价值

支持双网段后,某个节点在发生单网段故障后仍然能保证正常工作,提供网段级故障的高可用管理能力。

特性描述

当前的主流双网段依赖硬件来实现,即将两个不同的网段通过VLAN的操作bind成一个网段,再将这个网段配置至数据库集群中,这种方案依赖交换设备的支持。本特性从软件层面为MogDB和CM提供双网段能力。

CM支持双网段部署

作为MogDB的高可用管理工具,CM支持双网段部署,其故障处理逻辑如下:

  • 当发生单节点单网段故障,且此时集群无交叉网段故障时,该节点的mogdb、cm_server进程均正常工作,角色保持不变,cm_agent与cm_sevrer的通信会从故障网段切换至正常网段。
  • 当发生单节点双网段故障时,此时该节点网络彻底瘫痪,无法与集群的其他节点进行通信,该节点的mogdb和cm_server进程被杀死,停止服务。
  • 当发生多节点单网段故障(多个节点故障的网段都为同一个网段)时,集群一切正常。

PTK支持MogDB双网段安装部署

PTK对CM实现了适配,安装时在config.yaml文件中配置参数ha_ips即可实现双网段部署。ha_ips需要配置在db_servers的每个节点下,此参数是一个列表,列表内配置第二个网段的IP,目前最多支持配置一个IP。

两节点部署(一主一备),需要在yaml配置文件中配置third_party_gateway_ip参数(单网段的三方网关)为双网段参数,以逗号分隔,如third_party_gateway_ip: 172.0.0.17,10.0.0.17

单网段部署时,third_party_gateway_ip只需要配置一个IP;双网段部署时,third_party_gateway_ip需要配置两个网段的三方网关ip,以,分隔。

说明:

  • 本特性所指的网段均为数据库集群内部网络层面,即HA管控网络和数据网络,不涉及应用层的网络层面。
  • 双网段部署时,PTK会自动为节点之间的两个网段建立SSH互信。

两节点(一主一备)安装示例配置文件:

# config.yaml
global:
  cluster_name: test51
  user: test51
  group: test51
  db_password: pTk6NjM4ZmRkOWE8Qz08PUQ/RXU5NTFmaDZwZTdmSU9zcGh4OWJ1S2ZzcGxKdG40R0lyaHdaMGJKb3lTa2s=
  db_port: 24635
  base_dir: /data/test51/mogdb
  db_conf:
    log_min_messages: 'DEBUG5'
  ssh_option:
    port: 22
    user: root
    key_file: "/root/.ssh/id_rsa"
  cm_option:
    cm_server_port: 24678
    cm_server_conf:
      ddb_type: 1
      enable_ssl: on
      third_party_gateway_ip: 172.0.0.17,10.0.0.17
      cms_enable_failover_on2nodes: 'true'
      cms_enable_db_crash_recovery: 'true'
      log_min_messages: 'DEBUG5'
    cm_agent_conf:
      enable_ssl: on
      log_min_messages: 'DEBUG5'
db_servers:
  - host: 172.0.0.12
    role: primary
    az_name: AZ1
    az_priority: 1
    ha_ips: [10.0.0.12]
    ssh_option:
      password: pTk6NjM4ZmRkOWE8Qz08PUQ/RXU5NTFmaDZwZTdmSU9zcGh4OWJ1S2ZzcGxKdG40R0lyaHdaMGJKb3lTa2s=
  - host: 172.0.0.22
    role: standby
    az_name: AZ1
    az_priority: 1
    ha_ips: [10.0.0.22]
    ssh_option:
      password: pTk6NjM4ZmRkOWE8Qz08PUQ/RXU5NTFmaDZwZTdmSU9zcGh4OWJ1S2ZzcGxKdG40R0lyaHdaMGJKb3lTa2s=

一主二备(三节点)安装示例配置文件:

# config.yaml
global:
  cluster_name: test50
  user: test50
  group: test50
  db_password: pTk6NjM4ZmRkOWE8Qz08PUQ/RXU5NTFmaDZwZTdmSU9zcGh4OWJ1S2ZzcGxKdG40R0lyaHdaMGJKb3lTa2s=
  db_port: 24635
  base_dir: /data/test50/mogdb
  db_conf:
    log_min_messages: 'DEBUG5'
  ssh_option:
    port: 22
    user: root
    key_file: "/root/.ssh/id_rsa"
  cm_option:
    cm_server_port: 24678
    cm_server_conf:
      ddb_type: 1
      enable_ssl: on
      cms_enable_failover_on2nodes: 'true'
      cms_enable_db_crash_recovery: 'true'
      log_min_messages: 'DEBUG5'
    cm_agent_conf:
      enable_ssl: on
      log_min_messages: 'DEBUG5'
db_servers:
  - host: 172.0.0.12
    role: primary
    az_name: AZ1
    az_priority: 1
    ha_ips: [10.0.0.12]
    ssh_option:
      password: pTk6NjM4ZmRkOWE8Qz08PUQ/RXU5NTFmaDZwZTdmSU9zcGh4OWJ1S2ZzcGxKdG40R0lyaHdaMGJKb3lTa2s=
  - host: 172.0.0.22
    role: standby
    az_name: AZ1
    az_priority: 1
    ha_ips: [10.0.0.22]
    ssh_option:
      password: pTk6NjM4ZmRkOWE8Qz08PUQ/RXU5NTFmaDZwZTdmSU9zcGh4OWJ1S2ZzcGxKdG40R0lyaHdaMGJKb3lTa2s=
  - host: 172.0.0.43
    role: standby
    az_name: AZ1
    az_priority: 1
    ha_ips: [10.0.0.43]
    ssh_option:
      password: pTk6NjM4ZmRkOWE8Qz08PUQ/RXU5NTFmaDZwZTdmSU9zcGh4OWJ1S2ZzcGxKdG40R0lyaHdaMGJKb3lTa2s=

使用PTK挂载vip

使用PTK命令为集群挂载vip

ptk cluster -n CLUSTER_NAME load-cm-vip --action install --vip VIP

其中, CLUSTER_NAME为集群名, VIP为待挂载的vip,注意,挂载的vip网段需要与目标网段保持一致。单网段集群环境可以挂载一个vip,双网段集群环境可以挂载两个vip(每个网段一个)。

特性约束

  • 本特性依赖PTK1.4及以上版本。
  • 本特性挂载的vip限制为IPV4,暂不支持IPV6。
  • 需要配置双网段的数据库集群每个节点至少必须有两个网段。
  • 双网段部署不支持交叉网段故障场景(如节点1网段1故障,节点2网段2故障)。
  • 部署节点相应网段均需启用ping权限。
  • 网段故障后,MogDB的流复制切换发生在wal_receiver_timeout参数指定的时间后。降低该参数的值,可以加快MogDB流复制切换的时间。
  • 当某节点发生单网段故障时,集群正常工作。该网段恢复后,由于DCF建立TCP连接以及获取资源需要时间,该网段正常建立连接需要15秒时间。
  • 由于MogDB流复制数量配置限制,双网段部署最多支持一主4备。
  • 安装部署集群时,不支持部分节点配置单网段、部分节点配置双网段(集群每个节点的网段数应该是一致的)。
  • 当扩缩容时,不支持单网段集群扩容双网段节点,不支持双网段集群扩容单网段节点(即集群每个节点的网段数应该是一致的)。
  • 当部署双网段的两节点集群时,cm_sever.conf文件中三方网关参数third_party_gateway_ip应该配置两个网段的三方网关ip,如"172.0.0.17,10.0.0.17",即每个网段都应该有自己的三方网关ip,以英文逗号分隔。

依赖关系

DCF(分布式共识框架(Distributed Consensus Framework))、DCC(分布式配置管理中心(Distributed Consensus Center))

相关页面

统一数据库管理工具PTK配置文件字段说明DCF

Copyright © 2011-2024 www.enmotech.com All rights reserved.