首页 > 其他分享 >12、Keepalived解决LVS的高可用问题(双主双业务模式)并开启sorry server和持久连接

12、Keepalived解决LVS的高可用问题(双主双业务模式)并开启sorry server和持久连接

时间:2023-06-05 17:07:41浏览次数:43  
标签:10.0 www 12 LVS root Keepalived curl meng com

Keepalived解决LVS的高可用问题(双主双业务模式)

12、Keepalived解决LVS的高可用问题(双主双业务模式)并开启sorry server和持久连接_LVS开启会话保持


再安装两台web服务器7、17并配置好页面
[root@ubuntu2004 ~]#echo web1.meng.com `hostname -I` > /var/www/html/index.html
[root@ubuntu2004 ~]#echo web2.meng.com `hostname -I` > /var/www/html/index.html
测试页面内容
[root@rocky8 ~]#curl 10.0.0.7
web1.meng.com 10.0.0.7
[root@rocky8 ~]#curl 10.0.0.17
web2.meng.com 10.0.0.17

给客户端做解析 
(VIP1:10.0.0.100对应www.meng.org)
(VIP2:10.0.0.200对应www.meng.com)
[root@rocky8 ~]#cat /etc/hosts 
10.0.0.100 www.meng.org
10.0.0.200 www.meng.com

访问域名,发现www.meng.org
[root@rocky8 ~]#curl www.meng.org
web2.meng.org 10.0.0.18
[root@rocky8 ~]#curl www.meng.org
web1.meng.org 10.0.0.8
[root@rocky8 ~]#curl www.meng.com
curl: (7) Failed to connect to www.meng.com port 80: Connection refused
[root@rocky8 ~]#curl www.meng.com
curl: (7) Failed to connect to www.meng.com port 80: Connection refused
把以下内容配置到所有keepalived服务器www.meng.com.conf最下面,实现LVS的高可用问题,用http做后端服务器的健康性检查
virtual_server 10.0.0.200 80 {
    delay_loop 6
    lb_algo wrr
    lb_kind DR
    #persistence_timeout 50
    protocol TCP

    #sorry_server 127.0.0.1 80

    real_server 10.0.0.7 80 {
        weight 1
        HTTP_GET {
                url {
                    path /index.html
                    status_code 200
                }
                connect_timeout 1
                nb_get_retry 3
                delay_before_retry 1
   }   
 }
   real_server 10.0.0.17 80 {
        weight 2
        HTTP_GET {
                url {
                    path /index.html
                    status_code 200
                }
                connect_timeout 1
                nb_get_retry 3
                delay_before_retry 1
    }  
  } 
}
[root@ka1 conf.d]#systemctl restart keepalived
[root@ka2 conf.d]#systemctl restart keepalived
查看各keepalived节点IP情况
[root@ka1 conf.d]#hostname -I
10.0.0.101 10.0.0.100 192.168.10.100
[root@ka2 conf.d]#hostname -I
10.0.0.102 10.0.0.200 192.168.10.101

节点查看ipvs规则
[root@ka2 conf.d]#ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.0.0.100:80 wrr
  -> 10.0.0.8:80                Route   1      0          0         
  -> 10.0.0.18:80                Route   1      0          0         
TCP  10.0.0.200:80 wrr
  -> 10.0.0.7:80                  Route   1      0          0         
  -> 10.0.0.17:80                 Route   2      0          0

由于是DR模型,后端nginx全部机器需配虚拟地址,修改内核(脚本完成)

[root@ubuntu2004 ~]#bash lvs_dr_rs.sh start 
The RS Server is Ready!
[root@ubuntu2004 ~]#ip a 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet 10.0.0.200/32 scope global lo:1

配置完成后,客户端访问www.meng.com权重比为2:1

[root@rocky8 ~]#curl www.meng.com
web2.meng.com 10.0.0.17
[root@rocky8 ~]#curl www.meng.com
web2.meng.com 10.0.0.17
[root@rocky8 ~]#curl www.meng.com
web1.meng.com 10.0.0.7
挂掉一台keepalived,观察情况
客户端持续访问
[root@rocky8 ~]#while :;do curl www.meng.com;curl www.meng.org;sleep 1;done
web1.meng.org 10.0.0.101
web2.meng.com 10.0.0.17
web2.meng.org 10.0.0.102
web1.meng.com 10.0.0.7
正常工作

挂掉ka1,持续访问不受影响,但VIP1:10.0.0.100飘到了ka2上
[root@ka2 conf.d]#hostname -I
10.0.0.102 10.0.0.200 10.0.0.100 192.168.10.101

当ka1起来后,VIP1又飘回ka1
[root@ka1 ~]#hostname -I 
10.0.0.101 10.0.0.100 192.168.10.100

sorry server

在两个keepalived机器上安装nginx,作为后端服务器挂了之后的sorry server
[root@ka1 ~]#echo Sorry Server 10.0.0.101 > /var/www/html/index.html
[root@ka1 ~]#curl 127.0.0.1
Sorry Server 10.0.0.101

[root@ka2 ~]#echo Sorry Server 10.0.0.102 > /var/www/html/index.html
[root@ka2 conf.d]#curl 127.0.0.1
Sorry Server 10.0.0.102
启用sorry server(各服务都启用)
[root@ka1 ~]#vim /etc/keepalived/conf.d/www.meng.com.conf 
virtual_server 10.0.0.100 80 {
    delay_loop 6
    lb_algo wrr
    lb_kind DR
    #persistence_timeout 50
    protocol TCP

    sorry_server 127.0.0.1 80  #启用sorry server,当后端nginx挂了之后,访问sorry server页面
[root@ka1 ~]#systemctl restart keepalived
关闭www.meng.com.conf 业务对应的后端所有对应服务器,查看sorry server是否正常
[root@rocky8 ~]#curl www.meng.com
Sorry Server 10.0.0.102
[root@rocky8 ~]#curl www.meng.com
Sorry Server 10.0.0.102
已正常启用
开启持久连接
所有的业务配置文件都做修改
virtual_server 10.0.0.200 80 {
    delay_loop 6
    lb_algo wrr
    lb_kind DR
    persistence_timeout 120   #会话保持时间
    protocol TCP
[root@ka1 ~]#systemctl restart keepalived 

查看实现了会话保持
[root@rocky8 ~]#while :;do curl www.meng.com;curl www.meng.org;sleep 1;done
web1.meng.com 10.0.0.7
web2.meng.org 10.0.0.18
web1.meng.com 10.0.0.7
web2.meng.org 10.0.0.18
防火墙标签把80、443端口绑定在一起,认为一个集群(www.meng.com.conf对应服务进行绑定)
第一步:所有keepalived节点添加标签
iptables -t mangle -A PREROUTING -d 10.0.0.200 -p tcp -m multiport --dports 80,443 -j MARK --set-mark 6

第二步:修改www.meng.com.conf配置文件
virtual_server fwmark 6 {
    delay_loop 6
    lb_algo wrr
    lb_kind DR
    persistence_timeout 120
    protocol TCP
[root@ka1 ~]#systemctl restart keepalived   

一个整体调度
[root@rocky8 ~]#curl www.meng.com;curl -K https://www.meng.com
web2.meng.com 10.0.0.17
web1.meng.com 10.0.0.7

标签:10.0,www,12,LVS,root,Keepalived,curl,meng,com
From: https://blog.51cto.com/mfc001/6417853

相关文章

  • LED汽车大灯BOM表+线路图 AP5125降压恒流IC应用
    1,方案来源:深圳市世微半导体有限公司汤小姐2,产品描述 AP5125是一款外围电路简单的Buck型平均电流检测模式的LED恒流驱动器,适用于8-100V电压范围的非隔离式大功率恒流LED驱动领域。芯片采用固定频率140kHz的PWM工作模式,利用平均电流检测模式,因此具有优异的负载调整......
  • 11、Keepalived解决LVS的高可用问题
    keepalived解决LVS的高可用问题(四层)七层靠haproxy配置两个nignx机器并写入内容[root@web1~]#echoweb1.meng.org`hostname-I`>/var/www/html/index.html[root@web2~]#echoweb2.meng.org`hostname-I`>/var/www/html/index.html另一机器测试[root@ubuntu2004~]#curl......
  • 10、Keepalived实现双业务双主架构
    实现Master/Master的Keepalived双主架构master/slave的单主架构,同一时间只有一个Keepalived对外提供服务,此主机繁忙,而另一台主机却很空闲,利用率低下,可以使用master/master的双主架构,解决此问题.Master/Master的双主架构:即将两个或以上VIP分别运行在不同的keepalived服......
  • P5012 水の数列 题解
    水の数列题目大意对于给定的数列\(a\),选择一个数\(x\),定义其得分为数列中所有小于等于\(x\)的数形成的若干个连续区间的平方和除以\(x\)所得到的数。现进行多次询问,每次询问给定两个数\(l,r\),要求出一个得分最大的\(x\),满足数列中所有小于等于\(x\)的数形成的若干个......
  • 126个专业心理测试系统ACCESS数据库
    今天这份数据库是从一个心理测试软件破解出来的一系列的心理自量表,人格自量表以及精神病自量表等量化心理测试表,适用于医院、学校、职场等机构进行心里咨询,并且可以进行诊断测试。【续后:原150个测试项目经过第二次整理检查去除无效数据仅有126个测试项目,实际记录数会和上面截......
  • 2021-08-12--Web前端性能指标和性能优化(综述)
    title:网站的几个性能指标和优化(简易)categories:-网络安全与性能优化tags:-性能优化-性能指标-白屏时间-首屏时间-TTFBabbrlink:5c56date:2021-08-1223:42:49updated:2021-08-1223:42:49来源:https://m.sohu.com/a/201865334_509523/关于......
  • 轻量应用服务器和云服务器哪个更好?有什么区别?45.125.46.x
       做应用开发和网站建设的朋友在选择服务器配置时可能会遇到一个问题,轻量应用服务器与云服务器有什么不同之处?哪款服务器更好?今天微微来给你分享一下第一、配置区别我们可以看到,轻量服务器带宽是比云服务器大的,比如腾讯云,轻量服务器是5M带宽、云服务器是1M带宽,但是前者是1000......
  • 具有120度大机翼的喷气式飞机
    具有120度大机翼的喷气式飞机 图片图片图片具有120度大机翼的喷气式飞机技术领域具有120度大机翼的喷气式飞机是由左右两个60度直角三角形机翼组成的大机翼的飞机,尤其是一种喷气式飞机。背景技术具有120度大机翼的喷气式飞机是由左右两个60度直角三角形机翼组成的大机翼......
  • 小迪安全web学习笔记(12)
    1、SQL注入数据库类型提交方法数据类型查询方法回显/盲注注入扩展WAF绕过防御方案2、mySQL简单注入危害:SQL注入可操控数据简易代码分析原理:通过参数传递把恶意代码传入sql语句中,让后面的代码显现出来。需要学习php、html、mySQL语句的基础知识去理解3、post注入的地方是输入账号......
  • [刷题笔记] ybt1250:The Castle
    ProblemSolution显然bfs,只不过扩散的时候需要判断墙那么如何判断墙呢?题目只给出了每个方块墙方向的和原来的思路是可以暴力,很复杂但是可做,代码就不给了。后来教练讲到了可以用位运算巧妙实现,这里重点介绍一下:首先,我们观察一下每面墙代号的二进制:十进制二进制100......