• 首页 > 
  • 通用方案:专有云V3环境如何对SLB的LVS机器进行上下线

通用方案:专有云V3环境如何对SLB的LVS机器进行上下线

KB: 140823

 · 

更新时间:2021-03-02 11:07

1. 概述

本文介绍专有云V3环境中,如何对SLB的LVS机器进行上下线。

方案总览

类别 内容
国产化
风险等级(方案执行的影响)
操作方式 黑屏
操作复杂度
预估执行时长 N/A
客户业务的影响
可监控性 不支持
有效性(重启、重拉、补丁、升级、扩容等配置是否丢失) 固化
数据修订(变更是否涉及增删改操作)
执行灰度策略 请向产品侧咨询,明确灰度策略
首次发布时间 N/A
预计完成时间 N/A

1.1. 适用范围

  • 专有云版本:V3.*
  • 产品:SLB

1.2. 风险说明

LVS机器通常是双节点或多节点部署,在对LVS机器下线时,确保一台机器为上线状态,对业务无影响。

2. 问题描述

专有云V3环境需要对LVS机器上下线,进行重启或关机维修等操作。

3. 解决方案

3.1. 环境检查

根据以下步骤,进行环境检查:

3.1.1. 查看Agent的IP地址

  1. 登录天基控制台,在Project框中搜索slb,选择slbCluster-A-XXX-XXX集群,单击集群运维中心
  2. 集群运维中心页面,选择slb-lvs服务与SlbLvs#服务角色,单击Terminal,登录SlbLvs#服务角色所在的机器。
  3. 执行如下命令,查看并记录Agent的IP地址。
    sudo ifconfig lo:mgt | grep inet
    系统显示类似如下。

3.1.2. 查看LVS机器的Agent状态

  1. 登录天基控制台,在Project框中搜索slb,选择slbCluster-A-XXX-XXX集群,单击集群运维中心
  2. 集群运维中心页面,选择slb-controller服务与SlbAg#服务角色,单击Terminal登录机器。
  3. 执行如下命令,登录slb-ag容器。
    docker exec -it `docker ps |grep SlbAg |awk -F' ' '{print $1}'` bash
  4. 在slb-ag容器中,执行cli命令进入命令行工具,选择“1”。
  5. 执行如下命令,查看LVS机器的Agent状态。
    list admin lb_node
    说明:可以通过Ctrl+C组合按键退出以上模式。
    系统显示类似如下,确认LVS节点的服务状态为Enabled且转发状态为online
    注意:专有云V3.8及之后的版本中,heartbeat_status需为Healthy

3.2. 实施步骤

  1. 在slb-ag容器中,执行cli命令进入命令行工具,选择“1”。
  2. 执行如下命令,关闭机器的引流,移除转发流量。
    config admin maintain_agent address [$Agent_IP] enable 0
    说明:[$Agent_IP]为环境检查步骤获取的Agent地址。
    系统显示类似如下。
  3. 登录待下线的LVS机器。依次执行如下命令,关闭SLB转发进程并确认进程状态。
    sudo service slb_monitord stop
    sudo service slb_monitord status
    系统显示类似如下,确认返回结果为“OK”。
    说明:移除流量成功后,方可重启机器或关机维修。

3.3. 结果验证

  1. 登录slb-ag容器,执行cli命令进入命令行工具,选择“1”。
  2. 执行如下命令,查看LVS机器的Agent状态。
    list admin lb_node
    系统显示类似如下。

4. 回滚方案

参考以下步骤,对LVS机器进行上线操作:

  1. 登录SlbLvs#服务角色所在的机器,执行如下命令,确认SLB转发进程已经启动。
    sudo service slb_monitord status
    系统显示类似如下。
    说明:slb_monitord进程通常会开机自启动。
  2. 在slb-ag容器中,执行cli命令进入命令行工具,选择“1”。
  3. 执行如下命令,开启机器引流。
    config admin maintain_agent address [$Agent_IP] enable 1
    系统显示类似如下。
  4. 执行如下命令,确认服务状态为Enabled且转发状态为online,说明开启机器引流成功。
    list admin lb_node
    系统显示类似如下。