LVS(Linux Virtual Server)集群,由前进的心所写
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一,是根据iptables的实现来开发的,所以使用时候会和iptables相当类似
官网:http://www.linuxvirtualserver.org/
中文站点: http://zh.linuxvirtualserver.org/
LVS负载均衡的三种包转发方式

 LVS提供了三种包转发方式:NAT(网络地址映射)、IP Tunneling(IP隧道)、Direct Routing(直接路由)。不同的转发模式决定了不同的cluster的网络结

LVS-NAT 模式工作原理:

        客户端访问调度器时,调度器通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器;真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程。

集群各节点ip注解:
客户端计算机的IP(CIP):
可能是一个本地的、与VIP在同一网络的私有ip地址,或者是一个因特网上的公共ip地址。用作向集群发送请求的源ip地址
虚拟IP(VIP):
Director用于向客户端提供服务的ip地址
Director的IP(DIP):
在Director的VIP上接收访问集群服务的请求,这些请求通过DIP转发出去抵达各个集群节点
真实real server IP(RIP):
向外部世界提供服务的节点叫做真实服务器,因此在真实服务器上使用的ip地址叫做真实ip地址(RIP)
配置LVS-NAT:
前期准备:
1、准备3台主机 以redhat7.6为例
主机名 ip
LVS-Server 192.168.1.40
LVS-RIP1 192.168.2.41
LVS-RIP2 192.168.2.42
为LVS-Server配置网络环境

    添加一个网卡(需要两张网卡), 配置成以下网络环境:

eth0 192.168.1.40 模式:br0 模拟公网

    eth1  192.168.2.40  模式:vmnet4    模拟内网

2、vi /etc/selinux/config 关闭selinux
3、iptables -F 清除规则
4、systemctl stop firewalld 关闭防火墙 或者
firewall-cmd --permanent --add-port=1~65535/tcp #开启全部的端口
firewall-cmd --reload
firewall-cmd --list-all #查看规则
准备完成以后===========================开始配置
打开路由转发功能
[root@LVS-Server ~]# vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@LVS-Server ~]# sysctl -p #配置生效

   [root@LVS-Server ~]#systemctl restart network                         #重启网卡
    [root@LVS-Server ~]#yum install ipvsadm -y                             #安装ipvsadm
    [root@LVS-Server ~]#ipvsadm -A -t 192.168.1.40:80 -s rr           #添加虚拟服务器,添加TCP的服务,添加调度算法
    [root@LVS-Server ~]#ipvsadm -a -t 192.168.1.40:80 -r 192.168.2.41 -m    #添加real server的地址,ip地址
    [root@LVS-Server ~]#ipvsadm -a -t 192.168.1.40:80 -r 192.168.2.42 -m
    [root@LVS-Server ~]#ipvsadm -L -n                                          #查看ipvs表和算法

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.1.40:80 rr
-> 192.168.2.41:80 Masq 1 0 0
-> 192.168.2.42:80 Masq 1 0 0

    [root@LVS-Server ~]#ipvsadm --save > /etc/sysconfig/ipvsadm   或ipvsadm -S    #保存以上的配置

配置真实服务器
配置IP:REAL SERVER自己的网络相关信息配置成如下:
LVS-RIP1: eth0: vmnet4 : 192.168.2.41 网关: 192.168.2.40
LVS-RIP2: eth0: vmnet4 : 192.168.2.42 网关: 192.168.2.40
配置LVS-RIP1为realserver, 并启web服务
[root@LVS-RIP1 ~]# yum install -y httpd
[root@LVS-RIP1 ~]# systemctl restart httpd
[root@LVS-RIP1 ~]# echo "192.168.2.41" > /var/www/html/index.html #(实验期间,各个服务器的页面不同)
配置LVS-RIP2为realserver, 并启web服务
[root@LVS-RIP2 ~]# yum install -y httpd
[root@LVS-RIP2 ~]# systemctl restart httpd
[root@LVS-RIP2 ~]# echo "192.168.2.42" > /var/www/html/index.html #(实验期间,各个服务器的页面不同)
测试:
在LVS-Server上测试:
[root@LVS-Server ~]# yum install elinks
测试VIP :
[root@LVS-Server ~]# elinks 192.168.2.40
[root@LVS-Server ~]# elinks 192.168.2.40 --dump
192.168.2.41
[root@LVS-Server ~]# elinks 192.168.2.40 --dump
192.168.2.42
往分发机上写入---------分别分发给真实的设备 负载的轮询算法rr
访问: 在物理上打开浏览器访问: 每按F5刷新一次,就会变换一个页面。

分类: linux负载均衡 标签: 暂无标签

评论

暂无评论数据

暂无评论数据

目录