2018-4-11 16周1次课 LVS DR模式搭建、keepalived + LVS

18.11 LVS DR模式搭建


IPtunnel模式用到的不多,不再多赘述

1,准备工作

三台机器

分发器,也叫调度器(简写dir):192.168.65.128

rs1:192.168.65.129

rs2:192.168.65.130

vip:192.168.65.100

dir上编写脚本 vim /usr/local/sbin/lvs_dr.sh,内容如下:

[[email protected] ~]# vim /usr/local/sbin/lvs_dr.sh


#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/usr/sbin/ipvsadm
vip=192.168.65.100
rs1=192.168.65.129
rs2=192.168.65.130
#注意这里的网卡名字
ifdown ens33
ifup ens33
ifconfig ens33:2 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev ens33: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

(-m是nat模式,-g是dr模式)

[[email protected] ~]# sh /usr/local/sbin/lvs_dr.sh
成功断开设备 'ens33'。
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)

两台rs上也编写脚本 vim /usr/local/sbin/lvs_rs.sh,内容如下:

[[email protected] ~]# vim /usr/local/sbin/lvs_rs.sh


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

[[email protected] ~]# sh /usr/local/sbin/lvs_rs.sh
[[email protected] ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.65.2    0.0.0.0         UG    100    0        0 ens33
192.168.65.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.65.100  0.0.0.0         255.255.255.255 UH    0      0        0 lo2,测试

2,测试

访问192.168.65.100

再刷新一下





18.12 keepalived + LVS

为什么将 keepalived 加入到 lvs 中来的目的:

1,lvs 有 分发器的角色,一旦宕机,所有服务和访问都会被终止(所有入口在分发器 dir 上)

2,keepalived 有负载均衡的作用

3,lvs 并不聪明,哪怕后台有一个 rs 宕机,它依然会将请求转发过去,有 keepalived 的话,再一台rs宕机时,keepalived 不会再将请求转发过去

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

1,准备:

三台机器分别为:

dir(安装keepalived)192.168.65.128

rs1 192.168.65.129

rs2 192.168.65.130

vip 192.168.65.100

·编辑keepalived配置文件 vim /etc/keepalived/keepalived.conf

关闭lvs的虚拟ip

启动nginx:

[[email protected] ~]# systemctl start nginx
[[email protected] ~]# ps aux |grep nginx
root        900  0.0  0.1  45992  1284 ?        Ss   21:01   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody      903  0.0  0.3  48480  3928 ?        S    21:01   0:00 nginx: worker process
nobody      904  0.0  0.3  48480  3928 ?        S    21:01   0:00 nginx: worker process
root       1597  0.0  0.0 112680   984 pts/0    R+   22:15   0:00 grep --color=auto nginx

[[email protected] ~]# systemctl stop keepalived
[[email protected] ~]# ip addr

(vip被关闭)

[[email protected] ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
[[email protected] ~]# systemctl start keepalived
[[email protected] ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.65.100:80 wlc persistent 60
-> 192.168.65.129:80            Route   100    0          0
-> 192.168.65.130:80            Route   100    0          0

关闭第二台rs:keepalived自动将宕机的rs踢除

重启rs2后,可以再重新加回来:

2,配置:

配置keepalived + lvs

在两台rs上要执行lvs_rs.sh脚本

在dir上只要执行 echo 1 > /proc/sys/net/ipv4/ip_forward 即可

3,测试

访问192.168.65.100

再刷新一下


原文地址:http://blog.51cto.com/11530642/2097183

时间: 2024-07-30 20:08:46

2018-4-11 16周1次课 LVS DR模式搭建、keepalived + LVS的相关文章

18.11 LVS DR模式搭建;18.12 keepalived lvs

扩展 : haproxy+keepalived : http://blog.csdn.net/xrt95050/article/details/40926255 nginx.lvs.haproxy比较 : http://www.csdn.net/article/2014-07-24/2820837 keepalived中自定义脚本 vrrp_script : http://my.oschina.net/hncscwc/blog/158746 lvs dr模式只使用一个公网ip的实现方法 : ht

18.11 LVS DR模式搭建18.12 keepalived + LVS

18.11 LVS DR模式搭建首先将两台rs的网关改回来,因为在做nat模式的时候更改了网关vip需要绑定在所有的机器上在分以器dir上编辑脚本vim /usr/local/sbin/lvs_dr.sh内容#! /bin/bashecho 1 > /proc/sys/net/ipv4/ip_forwardipv=/usr/sbin/ipvsadmvip=192.168.133.200rs1=192.168.133.132rs2=192.168.133.133#注意这里的网卡名字ifdown e

18.11 LVS DR模式搭建 18.12 keepalived + LVS

18.11 LVS DR模式搭建 准备三台机器,然后设置一下ip,网关也需要设置一下,然后所有的机器都需要绑定一下vip. 然后dir上需要编辑一个脚本,,内容如上. 是打开端口转发. 设置变量,后面都用前面的字符代替后面的地址或ip. 绑定vip. 把网卡重启一下,重启过程中会把之前设置的ip清空掉,为的是再次执行这个脚本就不会再重新设置这个ip了. 添加网关. 是规则. 然后我们执行开启. 然后我们还需要对两个rs机器也写一个脚本. 然后执行 然后我们可以看一下,可以看到有一个133.200

2018.1.11 5周4次课

五周第四次课(1月11日) 8.6 管道符和作业控制 8.7/8.8 shell变量 8.9 环境变量配置文件 8.6 管道符和作业控制 1. 管道符 前面已经提过管道符|,它用于将前一个指令的输出作为后一个指令的输人. 2. 作业控制 当运行进程时,常用的命令如下: 暂停:按ctrl+Z组合键 fg n:(foreground的简写)恢复第n个进程运行 bg n:(backgroup的简写)把第n个进程放到后台运行 终止:按ctrl+C组合键 jobs:把暂停或在后台的任务列出来. 命令 &:

2018.4.13 16周3次课

十六周三次课 (4月13日) 19.7 主动模式和被动模式 19.8 添加监控主机 19.9 添加自定义模板 19.10 处理图形中的乱码 19.11 自动发现 19.7 主动模式和被动模式 主动或者被动是相对客户端来讲的 被动模式,服务端会主动连接客户端获取监控项目数据,客户端被动地接受连接,并把监控信息传递给服务端 主动模式,客户端会主动把监控数据汇报给服务端,服务端只负责接收即可. 当客户端数量非常多时,建议使用主动模式,这样可以降低服务端的压力. 服务端有公网ip,客户端只有内网ip,但

2018.4.17 16周5次课

十六周五次课(4月17日) 20.1 shell脚本介绍 20.2 shell脚本结构和执行 20.3 date命令用法 20.4 shell脚本中的变量 20.1 shell脚本介绍 shell是一种脚本语言  aming_linux  blog.lishiming.net 可以使用逻辑判断.循环等语法 可以自定义函数 shell是系统命令的集合 shell脚本可以实现自动化运维,能大大增加我们的运维效率 在正式编写shell脚本之前,建议凡是自定义的的脚本都放到/usr/local/sbin

2018.4.12 16周2次课

十六周二次课(4月12日) 19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍 cacti.nagios.zabbix.smokeping.open-falcon等等 cacti.smokeping偏向于基础监控,成图非常漂亮 cacti.nagios.zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,nagi

2018.4.10 15周5次课

十五周五次课(4月10日) 18.6 负载均衡集群介绍 18.7 LVS介绍 18.8 LVS调度算法 18.9/18.10 LVS NAT模式搭建 18.6 负载均衡集群介绍 主流开源软件LVS.keepalived.haproxy.nginx等 其中LVS属于4层(网络OSI 7层模型),nginx属于7层,haproxy既可以认为是4层,也可以当做7层使用 keepalived的负载均衡功能其实就是lvs lvs这种4层的负载均衡是可以分发除80外的其他端口通信的,比如MySQL的,而ng

2018.3.1 10周2次课

十周第二次课(3月1日) 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机 11.14/11.15 Apache和PHP结合 配置httpd支持php httpd主配置文件/usr/local/apache2.4/conf/httpd.conf vim /usr/local/apache2.4/conf/httpd.conf   //修改以下4个地方 ServerName 搜索ServerName,把#ServerName www.example