Linux企业运维——LVS负载均衡
一、LVS简介
LVS(Linux Virtual Server)即Linux虚拟服务器,是一个虚拟的服务器集群系统,可以在unix/linux平台下实现负载均衡集群功能。LVS是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。
根据LVS工作模式的不同,真实服务器会选择不同的方式将用户需要的数据发送到终端用户,LVS工作模式分为NAT模式、TUN模式、以及DR模式。
二、DR模式
- DR模式:通过直接路由实现虚拟服务器。DR模式是通过改写请求报文的目标MAC地址,将请求发给真实服务器的,而真实服务器响应后的处理结果直接返回给客户端用户。DR模式可以极大的提高集群系统的伸缩性,而且DR模式没有IP隧道的开销,对集群中的真实服务器也没有必要必须支持IP隧道协议的要求。但是要求调度器与真实服务器都有一块网卡连接到同一物理网段上,必须在同一个局域网环境。
- 原理:LVS通过控制IP来实现负载均衡。ipvsadm是其具体的实现模块。
- ipvsadm的主要作用:安装在调度器上面,在调度器上虚拟一个对外访问的IP(VIP)。用户访问VIP,到达调度器,调度器根据一定的规则选择一个真实服务器,处理完成后然后返回给客户端数据。
三、使用DR模式实现负载均衡
(1)实验环境:server1为调度器,负载流量均衡(基于4层即传输层进行调度,调度算法有WRR/WLC等,传输协议为TCP/UDP),server2和server3为真实服务器节点。
(2)server1安装ipvsadm(用于用户端管理LVS的策略规则)
(3)书写策略:在server1上添加虚拟一个对外访问的IP:172.25.33.100(vip),即提供虚拟服务的ip地址,也可以直接用原有IP,但最好独立出来
(4)ipvsadm -A 添加规则;-t tcp协议;-s 调度;rr 轮叫
- -a向tcp虚拟服务添加
- -r real server
- -g 直连即DR模式
ipvsadm -ln:查看当前连接情况(-ln不用解析),
Forward:转发方式,当前是路由转发;
Weight:权重;
ActiveConn:当前活跃的连接数;
InActConn:当前不活跃的连接数
(5)server2和server3安装httpd服务,并开启
此时真机使用curl 172.25.33.2
可以显示server的发布页面,但curl 172.25.33.100
没有反应,这是因为LVS-DR集群类型要求,当用户向vip发起请求时,调度器和真实服务器上必须都要有vip,因此需要给server2和server3添加虚拟IP。
(6)server2和server3分别添加vip