首页 > 其他分享 >服务器动态下线

服务器动态下线

时间:2023-10-08 09:45:22浏览次数:32  
标签:haproxy down com web2 web1 服务器 tan 动态 下线

 

######haproxy动态下线需要用到socat工具
socat工具:
对服务器动态权重和其它状态可以利用 socat工具进行调整,Socat 是 Linux 下的一个多功能的网络工具,名字来由是Socket CAT,相当于netCAT的增强版.Socat 的主要特点就是在两个数据流之间建立双向通道,且支持众多协议和链接方式。如 IP、TCP、 UDP、IPv6、Socket文件等。

更改线上的服务器的权重为0,使haproxy不往该服务器调度,从而达到下线的效果

注:1、只支持动态算法下使用
2、每次只能修改一个单进程(sock文件)

######ha1安装socat工具
[root@ha1 ~]#yum install -y socat

######修改ha1上的haproxy配置socket文件。
[root@ha1 ~]#vim /etc/haproxy/haproxy.cfg

global
...
stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin process 1
...
######重启haproxy服务
[root@ha1 ~]#systemctl restart haproxy

######编写动态上下线服务器脚本
[root@ha1 ~]#vim haproxy_host_up_down.sh
#!/bin/bash

#================================================================
# Copyright (C) 2022 IEucd Inc. All rights reserved.
#
# 文件名称:haproxy_host_up_down.sh
# 创 建 者:TanLiang
# 创建日期:2022年08月27日
# 描 述:This is a test file
#
#================================================================

. /etc/init.d/functions
case $1 in
up)
echo "set weight httpd_80/$2 1" | socat stdio
/var/lib/haproxy/haproxy.sock
[ $? -eq 0 ] && action "$2 is up"
;;
down)
echo "set weight httpd_80/$2 0" | socat stdio /var/lib/haproxy/haproxy.sock
[ $? -eq 0 ] && action "$2 is down"
;;
*)
echo "Usage: `basename $0` up|down IP"
;;
esac


######使用脚本动态下线web1
[root@ha1 ~]#bash haproxy_host_up_down.sh down web1

web1 is down [ OK ]

######访问nginx验证
[root@client ~]#curl 10.0.0.150
web2.tan.com
[root@client ~]#curl 10.0.0.150
web2.tan.com
[root@client ~]#curl 10.0.0.150
web2.tan.com
[root@client ~]#curl 10.0.0.150
web2.tan.com

######使用脚本上线web1,下线web2
[root@ha1 ~]#bash haproxy_host_up_down.sh up web1

web1 is up [ OK ]
[root@ha1 ~]#bash haproxy_host_up_down.sh down web2

web2 is down [ OK ]

######client访问haproxy验证。
[root@client ~]#while :;do curl 10.0.0.150 && sleep 1;done
web2.tan.com
web2.tan.com
web2.tan.com
web2.tan.com
web2.tan.com
web2.tan.com
web2.tan.com
web2.tan.com
web2.tan.com
web2.tan.com
web2.tan.com
web1.tan.com
web2.tan.com
web1.tan.com
web2.tan.com
web1.tan.com
web2.tan.com
web1.tan.com
web1.tan.com
web1.tan.com
web1.tan.com
web1.tan.com

 

标签:haproxy,down,com,web2,web1,服务器,tan,动态,下线
From: https://www.cnblogs.com/tanll/p/17748120.html

相关文章

  • openstack cinder实现基于lvm、NFS实现云盘动态拉伸
     #cindder部署官方参考文档https://docs.openstack.org/cinder/train/install/cinder-controller-install-rdo.html1.#数据库准备:[root@openstack-mysql~]#mysqlWelcometotheMariaDBmonitor.Commandsendwith;or\g.YourMariaDBconnectioni......
  • centos ntfs Centos系统服务器挂载硬盘(ntfs格式和exfat格式)
    centos ntfsCentos系统服务器挂载硬盘(ntfs格式和exfat格式)ntfs格式硬盘挂载首先安装ntfs-3gyuminstallntfs-3g安装成功后挂载:mount.ntfs-3g/dev/sdhdisk_tmp ......
  • 【实用】登录图形认证 图形码 验证码 中文图形验证码 动态图形验证码 图片验证码 验证
    后端测试: 主要code:https://www.cnblogs.com/liuguiqing/p/17722366.html ......
  • Pycharm连接远程服务器并实现远程调试
    Pycharm连接远程服务器并实现远程调试Pycharm连接远程服务器并实现远程调试连接远程服务器同步代码配置远程解释器进行调试连接远程服务器1、点击Tools(工具),点击部署Deployment(部署),点击Configuration(配置)2、新增一个SFTP协议的链接3、给链接命名4、配置服务器信息......
  • 小程序需要用到服务器吗
    小程序需要用到服务器吗我们碰到的一个常见的问题就是微信小程序需要服务器吗?其实,这主要是看小程序的具体应用。1)如果是使用微信门店小程序、微信小店小程序,以及静态的小程序,那么是不需要购买域名和服务器。或者使用某些免费的第三方平台,也是不需要我们来购买域名和服务器的......
  • 动态规划——DP与最短路 学习笔记
    动态规划——DP与最短路学习笔记例题:P2761软件补丁问题,很容易写出转移方程:\(dp_s\leftarrowdp_{s\setminusF_1\cupF_2}+t_i\),但是这样就出现了环,没有形成DAG就无法跑动态规划了,怎么办?可以将原问题转换为[最短路]:将原状态\(s\)记为一个点,将原转移路径记为一条边\(......
  • c#动态执行字符串脚本(优化版)
    像javascript中有eval()来执行动态代码,c#中是没有的,于是自己动手丰衣足食,先来代码1usingSystem;2usingSystem.Data;3usingSystem.Configuration;4usingSystem.Text;5usingSystem.CodeDom.Compiler;6usingMicrosoft.CSharp;7usingSystem.Re......
  • 服务器数据恢复-V7000存储更换故障磁盘后同步失败导致逻辑盘无法挂载的数据恢复案例
    服务器数据恢复环境:P740+AIX+Sybase+V7000存储,存储阵列柜上共12块SAS机械硬盘(其中一块为热备盘)。服务器故障:存储阵列柜中有磁盘出现故障,工作人员发现后更换磁盘,新更换的磁盘数据同步到40%左右时,阵列柜中的另一块磁盘也出现问题,数据同步中断,逻辑盘无法挂接到小型机上,业务中断。存......
  • 基于亚马逊云科技Amazon EC2云服务器,以高弹性和安全性自建堡垒机
    背景 在很多企业的实际应用场景中,特别是金融类的客户,大部分的应用都是部署在私有子网中,如何能够让客户的开发人员和运维人员从本地的数据中心中安全的访问云上资源,堡垒机是一个很好的选择。传统堡垒机的核心实现原理是基于SSH协议的安全连接,通常运用SSH(SecureShell)协议实现数据的......
  • 简述DNS服务器原理,并搭建主-辅服务器
    1)DNS简介:DNS是计算机域名系统(DomainNameSystem或DomainNameService)的缩写。域名便于人们记忆,但机器之间只认IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。上网时输入的网址通过域名解析系统解析找到了......