ITPub博客

首页 > 数据库 > > 集群管理-配置虚拟IP

集群管理-配置虚拟IP

作者:GaussDB_数据库 时间:2020-01-13 14:33:47 0 删除 编辑

操作场景

目前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

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

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

增加和删除虚拟IP

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

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

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

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

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

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

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

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

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

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

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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3162786/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19181