1、LVS简介
LVS(Linux Virtual Server) 即Linux虚拟服务器,由章文嵩主导开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。他是一个虚拟的四层交换器集群系统,根据目标地址和目标端口实现用户请求转发,目前是负载均衡性能最好的集群系统。
LVS是四层(传输层tcp/vdp),七层(应用层)的负载均衡工具,用的最多的是就是四层负载均衡功能的ipvs,七层的内容分发负载ktcpvs(kenrnel tcp virtual server),基于内容的调度,因为应用层交换处理复杂,但伸缩性有限,目前还不成熟
2、三种工作模式的解析
1、基于NAT的LVS模式负载均衡
类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式
2、TUN模式(IP隧道模式)
IP Tunnel,简称TUN模式
采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的Internet连接直接回应客户机,而不再经过负载调度器
服务器节点分散在互联网中的不同位置,具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信
3、DR模式(直接路由)
Direct Routing,简称DR模式
采用半开放式的网络结构,与TUN模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络
负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道
3、LVS的作用
1 主要用于多服务器的负载均衡。
2 工作在网络层,可实现高性能,高可用的服务器集群技术廉价,可把许多低性能的服务器组合在一起形成一个超级服务器。
3 易用,配置简单,有多种负载均衡的方法。
4 稳定可靠,即使在集群的服务器中某台服务器无法正常工作,也不影响整体效果
5 可扩展性好
4、LVS的基础配置
首先在适配器上安装 ipvsadm 管理工具
添加vip:
添加虚拟服务以及将其关联到真实服务器上
用 ipvsadm -ln 查看一下是否有实验结果
网络服务器配置
首先需要两台主机 server2 server3
并且接下来的实现两台主机的操作一模一样
先进行httpd的安装和启用
添加vip
这个时候我们在测试机 curl 5.0.0.125 会发现只有server2 或者server3 一种结果 这是为什么呢?
因为我们在访问的时候绕过了server1的管理,直接访问了server2 或者server3 因此我们需要在server2和server3上进行优化
5、负载均衡的优化
sever2和server3的操作也是一样的
安装arptables 管理工具
arptables作用 arp广播屏蔽的功能
设定IP进出时的功能
设置好后 需要保存策略
测试
4、Keepalived - LVS管理软件
结合上面的内容 我们可以思考
当你的调度器 down了我们应该怎么办
LVS本身down了应该怎么办
这便需要 Keepalived - LVS来进行管理
KeepAlived,用于监控检查兼容性非常好,如果RS一个节点挂掉,keepalived会将此节点从管理列表中剔出,当节点恢复再拉回管理列表,但是此时的调度器存在单点故障的可能性,所以还必须使用其他软件来实现调度器的高可用,比如hearbeat。最好的方法是软硬件相结合,用router调用lvs,这样既能节省资源又能避免节点故障
在最开始的server1上
使用 ipvsadm -C 清除记录
下载安装httpd
下载安装Keepalived服务
在 vim /etc/keepalived/keepalived.conf 修改配置文件
使用 ipvsadm -ln 查看
再申请一个server5 用来当作备用机
注意 server5和server1的所有操作一样 只有在 vim /etc/keepalived/keepalived.conf配置文件不同
所以此时我们有两台调度器 其中一台时备用机server5 如果此时我们停掉server1上的服务,在进行测试如果测试没有问题说明实验成功
实验成功!!!!!!!!
这个就叫 高可用双机热备