博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7月5日任务LVS DR模式搭建、keepalived + LVS
阅读量:6092 次
发布时间:2019-06-20

本文共 2651 字,大约阅读时间需要 8 分钟。

hot3.png

18.11 LVS DR模式搭建

准备工作

三台机器, 三台机器均有公网IP。

调度器(director)

IP:192.168.5.163

real server1(real1)

IP:192.168.5.164

real server2(real2)

IP:192.168.5.165

VIP:192.168.5.200

开始搭建

配置director , dir上编写脚本 vim /usr/local/sbin/lvs_dr.sh

#! /bin/bashecho 1 > /proc/sys/net/ipv4/ip_forwardipv=/usr/sbin/ipvsadmvip=192.168.5.200rs1=192.168.5.164rs2=192.168.5.165#注意这里的网卡名字ifdown ens38ifup ens38ifconfig ens38:2 $vip broadcast $vip netmask 255.255.255.255 uproute add -host $vip dev ens38:2$ipv -C$ipv -A -t $vip:80 -s wrr$ipv -a -t $vip:80 -r $rs1:80 -g -w 1$ipv -a -t $vip:80 -r $rs2:80 -g -w 1

配置real server

分别在real1、real2配置下面的脚本: vim /usr/local/sbin/lvs_dr.sh

#/bin/bashvip=192.168.5.200#把vip绑定在lo上,是为了实现rs直接把结果返回给客户端ifdown loifup loifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 uproute add -host $vip lo:0#以下操作为更改arp内核参数,目的是为了让rs顺利发送mac地址给客户端#参考文档www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.htmlecho "1" >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho "2" >/proc/sys/net/ipv4/conf/lo/arp_announceecho "1" >/proc/sys/net/ipv4/conf/all/arp_ignoreecho "2" >/proc/sys/net/ipv4/conf/all/arp_announce

分别在dir上和两个rs上执行这些脚本

测试

ipvsadm -ln    可以查看 当前连接情况

 

18.12 keepalived lvs

完整架构需要两台服务器(角色为dir)分别安装keepalived软件,目的是实现高可用,但keepalived本身也有负载均衡的功能,所以本次实验可以只安装一台keepalived

keepalived内置了ipvsadm的功能,所以不需要再安装ipvsadm包,也不用编写和执行那个lvs_dir的脚本

三台机器分别为:

dir(安装keepalived)192.168.5.163

rs1 192.168.5.164

rs2 192.168.5.165

vip 192.168.5.200

• 两台rs上,依然要执行/usr/local/sbin/lvs_rs.sh脚本

• keepalived有一个比较好的功能,可以在一台rs宕机时,不再把请求转发过去

1. 配置director 配置文件 vim /etc/keepalived/keepalived.conf

vrrp_instance VI_1 {    #备用服务器上为 BACKUP    state MASTER    #绑定vip的网卡为ens38,你的网卡和阿铭的可能不一样,这里需要你改一下    interface ens38    virtual_router_id 51    #备用服务器上为90    priority 100    advert_int 1    authentication {        auth_type PASS        auth_pass aminglinux    }    virtual_ipaddress {        192.168.5.200    }}virtual_server 192.168.5.200 80 {    #(每隔10秒查询realserver状态)    delay_loop 10    #(lvs 算法)    lb_algo wlc    #(DR模式)    lb_kind DR    #(同一IP的连接60秒内被分配到同一台realserver)    persistence_timeout 0    #(用TCP协议检查realserver状态)    protocol TCP    real_server 192.168.5.164 80 {        #(权重)        weight 100        TCP_CHECK {        #(10秒无响应超时)        connect_timeout 10        nb_get_retry 3        delay_before_retry 3        connect_port 80        }    }    real_server 192.168.5.165 80 {        weight 100        TCP_CHECK {        connect_timeout 10        nb_get_retry 3        delay_before_retry 3        connect_port 80        }     }}

2. ipvsadm -C     //清空规则

systemctl restart network    //重启网络 可以把之前的vip清空掉

3. 两台rs上,依然要执行/usr/local/sbin/lvs_rs.sh脚本

转载于:https://my.oschina.net/u/3803395/blog/1818344

你可能感兴趣的文章
Nginx访问控制和虚拟主机
查看>>
report widget not working for external users
查看>>
windows phone 摄像头得到图片是旋转90°
查看>>
Linux--sed使用
查看>>
没有显示器的情况下安装和使用树莓派
查看>>
【android】使用handler更新UI
查看>>
mochiweb 源码阅读(十五)
查看>>
前端面试中的常见的算法问题
查看>>
计算机语言的基本理论
查看>>
nodejs流之行读取器例子
查看>>
批量文件重命名工具
查看>>
简单说一下UWP中的JumpList
查看>>
unity将object[]或者string对象转换成枚举enum
查看>>
以太坊系列之六: p2p模块--以太坊源码学习
查看>>
使用scikit-learn解决文本多分类问题(附python演练)
查看>>
2018 年最值得关注的 JavaScript 趋势
查看>>
什么是区块链?超级账本 Brian Behlendorf 从五个方面教你认识
查看>>
Linux中的帮助功能
查看>>
针对Android的Pegasus恶意软件版本和针对iOS的有什么不同?
查看>>
全局探色器
查看>>