配置虚拟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实例数
主机数 |
每台主机部署的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 集群管理




