Linux自动化运维—LVS

一、LVS是什么?

1、LVS是Linux Virtual Server的简写,即Linux虚拟服务器,是一个虚拟的服务器集群系统,可伸缩网络服务的几种结构。lvs 负载均衡根据目标地址和目标端口实现用户请求转发,本身不产生流量,只做用户请求转发,目前是负载均衡性能最好的集群系统。
2、实现虚拟网络服务的主要技术中,IP负载均衡技术是在负载调度器的实现技术中效率最高的。在已有的IP负载均衡技术中,主要有通过网络地址转换将一组服务器构成一个高性能的、高可用的虚拟服务器,即VS/NAT技术;通过IP隧道实现虚拟服务器的方法VS/TUN ;通过直接路由实现虚拟服务器的方法VS/DR。它们可以极大地提高系统的伸缩性,这三种技术是LVS集群中实现的三种IP负载均衡技术。
3、LVS工作原理:客户端访问公司的外部负载均衡服务器,则用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该请求发送给后端的某台Web服务器。终端用户访问LVS调度器虽然会被转发到后端真实的服务器,但如果真实服务器连接的是相同的存储,提供的服务也是相同的服务,所以无论用户访问的是哪台真实服务器,得到的服务内容都是相同的。

 

二、进行lvs集群的搭建

真机使用ssh命令,连接三台虚拟机,server1作为DR(调度器),server2、3作为RS(真实服务器)。
工作过程:C(Client) ----> DR —> RS ----> C(Client)。
原理:LVS通过控制IP来实现负载均衡。ipvsadm是其具体的实现模块。
ipvsadm的主要作用:安装在调度器上面,在调度器上虚拟一个对外访问的IP(VIP)。用户访问VIP,到达调度器,调度器根据一定的规则选择一个真实服务器,处理完成后然后返回给客户端数据。

server1安装ipvsadm(用于管理LVS的策略规则)
在这里插入图片描述

 书写策略:在server1上虚拟一个对外访问的IP:172.25.36.100(vip),即虚拟服务的ip地址。

 ipvsadm -A 添加规则;-t tcp协议;-s 调度;rr 轮叫(调度方式);-a向tcp虚拟服务添加 -r real server;-g 直连即DR模式

 ipvsadm -ln:查看当前连接情况(-ln不用解析),Forward 转发方式,当前是路由转发;Weight 权重;
ActiveConn 当前活跃的连接数;InActConn 当前不活跃的连接数;

 server2和server3安装httpd服务,并开启

echo server2 > /var/www/html/index.html

echo server3 > /var/www/html/index.html

 

 

  此时真机使用curl 172.25.36.2可以显示server的发布页面;但curl 172.25.36.100没有反应,这是因为LVS-DR集群类型要求,当用户向vip发起请求时,调度器和真实服务器上必须都要有vip,因此需要给server2和server3添加虚拟IP。

 此时真机使用curl 172.25.0.100,出现轮叫的显示RS的Apache发布页面的内容

 问题:curl 172.25.36.100,只出现了server2的发布页面,说明此时客户端向vip发起请求时,并没有经过调度器,而是直接到达了真实服务器server2。
在这里插入图片描述

 

yum install arptables -y 用于管理内核中的ARP包过滤规则表,设定APR配置规则,因为DR模式要求服务器节点应该禁用设备的APR响应

server2和server3隐藏vip

ip addr add 172.25.36.100/32 dev eth0

arptable_filter 只有一个表 filter ,不指定 -t 表名 时默认就是 filter 表。
filter 表有两个链,一个是INPUT,表示外面发进来的 ARP 包;另外一个是 OUTPUT,表示本机发出的 ARP 包。
-A:向规则链中追加规则;
-d:指定要匹配ARP包的目的IP地址;
-j:指定满足规则的添加时的目标;
-s:指定要匹配ARP包的源ip地址;
以下命令表示:当数据包的目的地址是172.25.36.100时就丢弃该数据包,当从本机发出的数据包IP是172.25.36.100时,伪装成是IP是172.25.36.2。设定完毕,保存arptables规则,此时重启arptables服务后,即可看到所添加的规则。

arptables -A INPUT -d 172.25.36.100 -j DROP

arptables -A OUTPUT -s 172.25.36.100 -j mangle --mangle-ip-s 172.25.36.2(3)

arptables -nL

 

 

 此时真机使用curl 172.25.0.100,出现轮叫的显示RS的Apache发布页面的内容

 ARP协议是将IP地址映射为MAC地址的协议,其在协议上使用ARP请求及ARP应答报文来实现,真机查看vip所对应的MAC,此时正是server1的MAC

 

 当真机执行arp -d 删除指定的虚拟IP时,此时不能过滤得到172.25.36.100的MAC地址。
在这里插入图片描述

 但Ping之后,又可以得到。此时vip所对应的MAC,此时是server2的MAC

若server1也安装了httpd服务

 url 172.25.36.100不会访问server1的80

 LVS优先级比http高

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值