Lvs+keepalived

一.Lvs

—LVS 是 Linux Virtual Server ,Linux 虚拟服务器;
—是一个虚拟的服务器集群(多台机器 LB IP);

LVS 集群分为三层结构:
—负载调度器(load balancer):它是整个LVS 集群对外的前端机器,负责将client请求发送到一组服务器(多台LB IP)上执行,而client端认为是返回来一个同一个IP(通常把这个IP 称为虚拟IP/VIP)

—服务器池(server pool):一组真正执行client 请求的服务器,一般是我们的web服务器;除了web,还有FTP,MAIL,DNS

—共享存储(shared stored):它为 server pool 提供了一个共享的存储区,很容易让服务器池拥有相同的内容,提供相同的服务
LVS 工作模式—DR
DR(Direct Routing) 工作原理:
(1)client 发送一个pv请求给VIP;VIP 收到这请求后会跟LVS设置的LB算法选择一个LB 比较合理的realserver,然后把此请求的package 的MAC地址修改为realserver的MAC地址;
(2)然后VIP会把这个包广播到当前的这个LAN里面,所以,要提前保证VIP 和 所有的realserver 在同一个网段;
(3)realserver 收到这个pachet后,首先判断dst ip 是否是自己的IP地址;如果不是就丢掉包;如果是就处理这个包。所以,DR模式还要在所有的realserver 的机器上面绑定VIP的ip地址;
(4)这样realserver 发现package 的dst(vip) 自己能识别,会处理这个包,处理完后把package的src mac, dst mac, src ip, dst ip 都修改后再通过ARP 发送给VIP,通过VIP 发送给client。
需要注意的是:
—LVS 的VIP 和 realserver 必须在同一个网段,不然广播后所有的包都会丢掉;
—所有的realserver 都必须绑定VIP的IP地址;

总结:DR模式的工作原理
client –> vs –> rs(也有vip,需要nonArp,不接受直接访问vip) –> client
1.vs的数据包中包含cip和vip
2.vs和rs在同一个vlan中
3.在vs中做了二层链路的mac地址的转化
4.rs中mac向上解析得到vip和cip

LVS实践中的亮点
—lvs 不会主动断开连接
client通过LVSvip采用长链接方式访问server即使我们把LVS下面realserver的status.html文件删除了,原本通过LVS 跟这台realserver 链接的请求也不会被强制断开,(在client主动断开期间,client可以跟这台realserver 正常通信);
这样的好处就是:在网络抖动时,LVS不会频繁的流量截断到不同的RS上面。

二.Keepalived 定义

Keepalived是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免单点故障。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。
Keepalived使用的是vrrp协议方式,虚拟路由冗余协议 (Virtual Router Redundancy Protocol,简称VRRP);
Keepalived的目的是模拟路由器的高可用;
Keepalived中实现轻量级的高可用,一般用于前端高可用,且不需要共享存储,一般常用于两个节点的高可用。

实验前提:

1.操作系统
Rhel6.5 X86_64
2.实验环境
物理机
Server1
Server2
Server3
Server4
实验一(LVS负载均衡):

在server1中:
1.添加yum源完整的安装包

[root@server1 ~]# vim /etc/yum.repos.d/rhel-source.repo 

这里写图片描述
这里写图片描述

#物理机查看版本6.5镜像yum源完整的安装包 

这里写图片描述

#在server1中查看6.5版本yum源完整的安装包

这里写图片描述
2.安装管理集群服务ipvsadm

[root@server1 ~]# yum install ipvsadm -y

3.添加临时ip,并设置为lvs的vip

[root@server1 ~]# ip addr add 172.25.14.100/24 dev eth0 #添加临时ip
[root@server1 ~]# ipvsadm -A -t 172.25.14.100:80 -s rr #-A:添加策略 -t:TCP协议 -s:算法 rr:round roubin 轮询 
#若添加ip错误可用此命令ipvsadm -C ##-C表示清空策略,后再次添加

4.vip添加RS地址,并设置为DR模式

[root@server1 ~]# ipvsadm -a -t  172.25.14.100:80 -r 172.25.14.2:80 -g #-rRS地址,-gDR模式
[root@server1 ~]# ipvsadm -a -t  172.25.14.100:80 -r 172.25.14.3:80 -g
#查询ipvsadm状态

这里写图片描述
5.保存ipvsadm操作

[root@server1 ~]# /etc/init.d/ipvsadm save ##保存策略到文件中<
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值