前言
想必能搜到这个也不是来看知识点的,这里就简朴形貌一下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
- yum -y install ipvsadm keepalived
复制代码 2. 加载ip_vs模块
3.修改内核参数,关闭icmp重定向
- net.ipv4.conf.all.send_redirects=0
- net.ipv4.conf.default.send_redirects=0
- net.ipv4.conf.ens33.send_redirects=0
复制代码 使设置收效
4.设置keepalived
主要有双机热备、lvs负载均衡、对后端服务器康健查抄
- vim /etc/keepalived/keepalived.conf
复制代码- global_defs {
- router_id LVS_DEVEL1
- }
- vrrp_instance VI_1 {
- state MASTER
- interface ens33
- virtual_router_id 51
- priority 100
- advert_int 1
- authentication {
- auth_type PASS
- auth_pass 1111
- }
- virtual_ipaddress {
- 192.168.10.111
- }
- }
- virtual_server 192.168.10.111 80 {
- delay_loop 3
- lb_algo rr
- lb_kind DR
- persistence_timeout 0
- protocol TCP
- real_server 192.168.10.13 80 {
- weight 1
- TCP_CHECK {
- connect_timeout 10
- retry 3
- delay_before_retry 3
- connect_port 80
- }
- }
- real_server 192.168.10.14 80 {
- weight 1
- TCP_CHECK {
- connect_timeout 10
- retry 3
- delay_before_retry 3
- connect_port 80
- }
- }
- }
复制代码 5.启动keepalived服务
- systemctl start keepalived
- systemctl enable keepalived
复制代码 不出不测的话ip add
是能看到假造ip的
二、lvs2设置
这里跟lvs1同步,区别仅在于keepalived设置文件
- vim /etc/keepalived/keepalived.conf
复制代码- global_defs {
- router_id LVS_DEiVEL2
- }
- vrrp_instance VI_1 {
- state BACKUP
- interface ens33
- virtual_router_id 51
- priority 99
- advert_int 1
- authentication {
- auth_type PASS
- auth_pass 1111
- }
- virtual_ipaddress {
- 192.168.10.111
- }
- }
- virtual_server 192.168.10.111 80 {
- delay_loop 3
- lb_algo rr
- lb_kind DR
- persistence_timeout 0
- protocol TCP
- real_server 192.168.10.13 80 {
- weight 1
- TCP_CHECK {
- connect_timeout 10
- retry 3
- delay_before_retry 3
- connect_port 80
- }
- }
- real_server 192.168.10.14 80 {
- weight 1
- TCP_CHECK {
- connect_timeout 10
- retry 3
- delay_before_retry 3
- connect_port 80
- }
- }
- }
复制代码 web1设置
1.设置假造ip
由于lvs是dr模式,以是这里也必要设置假造ip才行
本来想设置永世ip地点的,结果总是出问题,以是这里就设置临时ip了
不过更怪的就来了,我重启这个接口后这个ip还会存在
呃呃呃,拼集用吧
- ip add
- r add 192.168.10.111/32 dev lo
复制代码 2.添加一条到假造ip的路由
- route add -host 192.168.10.111 dev lo
复制代码 3.关闭到假造IP的arp相应
- net.ipv4.conf.default.arp_ignore = 1
- net.ipv4.conf.all.arp_ignore = 1
- net.ipv4.conf.lo.arp_ignore = 1
- net.ipv4.conf.default.arp_announce =2
- net.ipv4.conf.all.arp_announce =2
- net.ipv4.conf.lo.arp_announce = 2
复制代码 使设置收效
4.设置服务(httpd)
- yum -y install httpd
- echo web1 > /var/www/html/index.html
- systemctl start httpd
- systemctl enable httpd
复制代码 欣赏器检察
web2设置
同web1
区别仅有web页面内容不一样
- echo web2 > /var/www/html/index.html
复制代码 欣赏器检察
结果验证
客户机(client)访问假造ip
在lvs1断开主keepalived检察热备效果
- systemctl stop keepalived
- ip add
复制代码 可以看到已经没有假造ip了
在lvs2检察
可以看到假造ip地点已经转移过去了
客户机访问
可以看到客户机访问也是没有问题
规复主keepalived
- systemctl start keepalived
- ip add
复制代码 可以看到假造地点已经回来了
lvs2检察
假造地点已经消失
客户端访问验证
仍旧没有问题
总结
大体就是上面这些操作了
如果能看到这里,提前祝大家国庆快乐,吃好玩好
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |