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

华为GaussDB A 配置虚拟IP

墨天轮 2019-10-12
1309

配置虚拟IP

操作场景

目前Linux系统单台主机最大可用端口数约64000个,随着业务的扩展,集群规模会不断增大,GaussDB 200集群除了固定的监听端口外,建立连接时会申请大量随机端口,GaussDB 200单个节点上的机端口号不够用。此时,可通过给集群配置virtualIP(虚拟IP)参数,解决大集群随机端口号不够用问题,从而提高整个集群的扩展能力。

当集群规模增大,单个物理机所需随机端口大于可用随机端口号数时,即大并发大集群随机端口不够使用时,才需要配置虚拟IP。虚拟IP只允许配置在部署了Coordinator的节点。

轻量化单节点组网没有此功能。

背景信息

GaussDB 200集群目前可支持的最大集群规模是256节点。GaussDB 200集群除了固定的监听端口外,建立连接时会申请大量随机端口。Client端申请的随机端口如果先于固定监听端口前先绑定了,那么Gaussdb进程会因为监听固定端口失败报错退出。所以“net.ipv4.ip_local_port_range”不应该包含GaussDB 200固定监听端口,操作系统默认“32768 - 61000”,即可用随机端口数为61000 - 32768 = 28232。配置使用虚拟IP的条件是:单个物理机端口大于可用随机端口号数。

单个物理机随机端口号计算公式:

  • 如果采用TCP通信,端口号的计算方式如下:

    单个物理机随机端口=单个物理机CN个数*单CN端口+单个物理机DN个数*单DN端口

    单CN端口=并发数*主机数*每台主机部署DN实例数

    单DN端口=并发数*主机数*每台主机部署DN实例数

  • 如果采用STCP通信,端口号的计算方式如下:

    单个物理机随机端口=单个物理机CN个数*单CN端口+单个物理机主DN个数*单DN端口

    单CN端口=并发数*主机数*每台主机部署DN实例数

    单DN端口=主机数*每台主机部署DN实例数

表1 端口号占用计算实例

主机数

每台主机部署的DN实例数

每台主机部署的CN实例数

并发查询数

TCP使用端口

STCP使用端口

系统端口限制(上限65535)

100

6

1

20

84000

15600

/proc/sys/net/ipv4/

ip_local_port_range

120

6

1

20

100800

18720

/proc/sys/net/ipv4/

ip_local_port_range

200

6

1

20

168000

31200

/proc/sys/net/ipv4/

ip_local_port_range

如果主机或网卡重启,虚拟IP会自动生效。

限制与约束骤

  • 虚拟IP在集群中按照独立的IP使用,必须和集群的业务IP属于同一网段且唯一,该IP为集群的预留IP。
  • 集群需预留IP资源供虚拟IP分配使用。
  • 虚拟IP必须配置在部署了Coordinator的节点。

修改虚拟IP

  • 登录FusionInsight Manager。
  • 选择“集群 > 待操作的集群名称 > 服务 > MPPDB”。
  • 单击“实例”,在实例列表中单击部署了Coordinator的MPPDBServer。
  • 选择“实例配置 > 基础配置”。将“mppdb.coo.virtualIp”值修改为需要修改的虚拟IP,单击“保存”。
  • 在弹出窗口中,单击“确定”。待界面提示“操作成功。”,单击“完成”。
  • 重新启动配置过期的服务或实例以使配置生效。

    • 选择“集群 > 待操作的集群名称 > 更多 > 重启配置过期的实例”,对所有过期的实例进行重启。
    • 如果只重启一个服务,在相应的服务页面选择更多 > 重启,对指定服务进行重启。

增加和删除虚拟IP

增加和删除虚拟IP可以分为两种情况,一是在已经部署了Coordinator的MPPDBServer的节点上,单独增加和删除虚拟IP。二是在没有部署Coordinator的MPPDBServer的节点上,r同时增加Coordinato和虚拟IP;部署了Coordinator的MPPDBServer的节点上,同时删除Coordinator和虚拟IP。

在已经部署了Coordinator的MPPDBServer的节点上,单独增加和删除虚拟IP。

  • 选择“集群 > 待操作的集群名称 > 服务 > MPPDB”。
  • 单击“实例”,在实例列表中单击部署了Coordinator的MPPDBServer。
  • 选择“实例配置 > 基础配置”,将“mppdb.coo.virtualIp”的值配置为设定的虚拟IP,或单击修改为空,单击“保存”。
  • 在弹出窗口中,单击“确定”。待界面提示“操作成功。”,单击“完成”。
  • 重新启动配置过期的服务或实例以使配置生效。

    • 选择“集群 > 待操作的集群名称 > 更多 > 重启配置过期的实例”,对所有过期的实例进行重启。
    • 如果只重启一个服务,在相应的服务页面选择更多 > 重启,对指定服务进行重启。

在没有部署Coordinator的MPPDBServer的节点上,同时增加Coordinator和虚拟IP。

  • 选择“集群 > 待操作的集群名称 > 服务 > MPPDB”。
  • 单击“实例”,在实例列表中单击要增加Coordinator和虚拟IP的MPPDBServer。
  • 选择“实例配置 > 基础配置”,将“mppdb.coo.number”的值修改为“1”,配置“mppdb.coo.virtualIp”的值,单击“保存”。
  • 在弹出窗口中,单击“确定”。待界面提示“操作成功。”,单击“完成”。
  • 重新启动配置过期的服务或实例以使配置生效。

    • 选择“集群 > 待操作的集群名称 > 更多 > 重启配置过期的实例”,对所有过期的实例进行重启。
    • 如果只重启一个服务,在相应的服务页面选择更多 > 重启,对指定服务进行重启。

部署了Coordinator的MPPDBServer的节点上,同时删除Coordinator和虚拟IP。

  • 选择“集群 > 待操作的集群名称 > 服务 > MPPDB”。
  • 单击“实例”,在实例列表中单击要删除的Coordinator和虚拟IP的MPPDBServer。
  • 选择“实例配置 > 基础配置”,将“mppdb.coo.number”的值修改为“0”,单击“mppdb.coo.virtualIp”的值修改为空,单击“保存”。
  • 在弹出窗口中,单击“确定”。待界面提示“操作成功。”,单击“完成”。
  • 重新启动配置过期的服务或实例以使配置生效。

    • 选择“集群 > 待操作的集群名称 > 更多 > 重启配置过期的实例”,对所有过期的实例进行重启。
    • 如果只重启一个服务,在相应的服务页面选择更多 > 重启,对指定服务进行重启。

说明:
  • 在Coordinator为1的节点上配置了虚拟IP,若此虚拟IP发生故障,则会出现Coordinator进程异常告警,可通过实例修复来修复此告警。
  • 若修改、增加或删除虚拟IP操作失败,检查输入的虚拟IP是否为满足条件的IP,如果配置的虚拟IP不符合条件,修改为正确的虚拟IP,然后单击“保存”。

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

评论