rocky9.2实现lvs(DR模式)+keepalived实现高可用的案例详解(双机热备、lvs负 ...

打印 上一主题 下一主题

主题 924|帖子 924|积分 2772

  

前言

想必能搜到这个也不是来看知识点的,这里就简朴形貌一下lvs的dr模式的工作原理,其他的就不过多阐述了,直接看操作步调就好,还是很详细的
lvs(DR模式)的工作原理

LVS DR(Direct Routing)模式通过一个负载均衡器的假造 IP 地点(VIP)接收客户端请求,然后将请求转发给后端真实服务器(RIP),而不经过负载均衡器的返回路径,真实服务器直接将相应发回客户端。这也是和nat模式的区别地点,nat模式则必要经过负载均衡器返回。DR这种模式进步了性能和资源使用率,但所有真实服务器必须在同一局域网内。
情况

体系主机名ip服务假造iprocky9.2lvs1192.168.10.11lvs+keepalived192.168.10.111rocky9.2lvs2192.168.10.12lvs+keepalived192.168.10.111rocky9.2web1192.168.10.13httpd无rocky9.2web2192.168.10.14httpd无rocky9.2client192.168.10.11仅访问使用无 必要留意的地方
这篇博文的操作部分是根据原先centos7版本的笔记来做的,改了一些部分,可能有一些多余的操作,但末了结果是没有问题的
实现过程

一、lvs1设置

1.dnf安装ipvsadm和keepalived
  1. yum -y install ipvsadm keepalived
复制代码
2. 加载ip_vs模块
  1. modprobe ip_vs
复制代码
3.修改内核参数,关闭icmp重定向
  1. vim /etc/sysctl.conf
复制代码
  1. net.ipv4.conf.all.send_redirects=0
  2. net.ipv4.conf.default.send_redirects=0
  3. net.ipv4.conf.ens33.send_redirects=0
复制代码
使设置收效
  1. sysctl -p
复制代码
4.设置keepalived
主要有双机热备、lvs负载均衡、对后端服务器康健查抄
  1. vim /etc/keepalived/keepalived.conf
复制代码
  1.    global_defs {
  2.        router_id LVS_DEVEL1
  3.    }
  4.    vrrp_instance VI_1 {
  5.        state MASTER
  6.        interface ens33
  7.        virtual_router_id 51
  8.        priority 100
  9.        advert_int 1
  10.        authentication {
  11.            auth_type PASS
  12.            auth_pass 1111
  13.        }
  14.        virtual_ipaddress {
  15.            192.168.10.111
  16.        }
  17.    }
  18.    virtual_server 192.168.10.111 80 {
  19.        delay_loop 3
  20.        lb_algo rr
  21.        lb_kind DR
  22.        persistence_timeout 0
  23.        protocol TCP
  24.        real_server 192.168.10.13 80 {
  25.            weight 1
  26.            TCP_CHECK {
  27.                connect_timeout 10
  28.                retry 3
  29.                delay_before_retry 3
  30.                connect_port 80
  31.            }
  32.        }
  33.        real_server 192.168.10.14 80 {
  34.            weight 1
  35.            TCP_CHECK {
  36.                connect_timeout 10
  37.                retry 3
  38.                delay_before_retry 3
  39.                connect_port 80
  40.            }
  41.        }
  42.    }
复制代码
5.启动keepalived服务
  1. systemctl start keepalived
  2. systemctl enable keepalived
复制代码
不出不测的话ip add

是能看到假造ip的
  1. ip add
复制代码

二、lvs2设置

这里跟lvs1同步,区别仅在于keepalived设置文件
  1. vim /etc/keepalived/keepalived.conf
复制代码
  1.    global_defs {
  2.        router_id LVS_DEiVEL2
  3.    }
  4.    vrrp_instance VI_1 {
  5.        state BACKUP
  6.        interface ens33
  7.        virtual_router_id 51
  8.        priority 99
  9.        advert_int 1
  10.        authentication {
  11.            auth_type PASS
  12.            auth_pass 1111
  13.        }
  14.        virtual_ipaddress {
  15.            192.168.10.111
  16.        }
  17.    }
  18.    virtual_server 192.168.10.111 80 {
  19.        delay_loop 3
  20.        lb_algo rr
  21.        lb_kind DR
  22.        persistence_timeout 0
  23.        protocol TCP
  24.        real_server 192.168.10.13 80 {
  25.            weight 1
  26.            TCP_CHECK {
  27.                connect_timeout 10
  28.                retry 3
  29.                delay_before_retry 3
  30.                connect_port 80
  31.            }
  32.        }
  33.        real_server 192.168.10.14 80 {
  34.            weight 1
  35.            TCP_CHECK {
  36.                connect_timeout 10
  37.                retry 3
  38.                delay_before_retry 3
  39.                connect_port 80
  40.            }
  41.        }
  42.    }
复制代码
web1设置

1.设置假造ip
由于lvs是dr模式,以是这里也必要设置假造ip才行
本来想设置永世ip地点的,结果总是出问题,以是这里就设置临时ip了
不过更怪的就来了,我重启这个接口后这个ip还会存在
呃呃呃,拼集用吧
  1. ip add
  2. r add 192.168.10.111/32 dev lo
复制代码
2.添加一条到假造ip的路由
  1. route add -host 192.168.10.111 dev lo
复制代码
3.关闭到假造IP的arp相应
  1. vim /etc/sysctl.conf
复制代码
  1. net.ipv4.conf.default.arp_ignore = 1
  2. net.ipv4.conf.all.arp_ignore = 1
  3. net.ipv4.conf.lo.arp_ignore = 1
  4. net.ipv4.conf.default.arp_announce =2
  5. net.ipv4.conf.all.arp_announce =2
  6. net.ipv4.conf.lo.arp_announce = 2
复制代码
使设置收效
  1. sysctl -p
复制代码
4.设置服务(httpd)
  1. yum -y install httpd
  2. echo web1 > /var/www/html/index.html
  3. systemctl start httpd
  4. systemctl enable httpd
复制代码
欣赏器检察

web2设置

同web1
区别仅有web页面内容不一样
  1. echo web2 > /var/www/html/index.html
复制代码
欣赏器检察

结果验证

客户机(client)访问假造ip

在lvs1断开主keepalived检察热备效果
  1. systemctl stop keepalived
  2. ip add
复制代码
可以看到已经没有假造ip了

在lvs2检察
  1. ip add
复制代码
可以看到假造ip地点已经转移过去了

客户机访问
可以看到客户机访问也是没有问题

规复主keepalived
  1. systemctl start keepalived
  2. ip add
复制代码
可以看到假造地点已经回来了

lvs2检察
假造地点已经消失

客户端访问验证
仍旧没有问题

总结

大体就是上面这些操作了
如果能看到这里,提前祝大家国庆快乐,吃好玩好

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

汕尾海湾

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表