Linux-LVS负载均衡群集-NAT模式

来源:互联网 发布:淘宝网ccdd女装正品 编辑:程序博客网 时间:2024/05/03 13:13

一、LVS群集应用

群集或者集群的称呼来自于英文单词Cluster表示一群,一串的意思,用在服务器领域则表示大量的服务器的集合体,以区分于单个服务器,本次将对集群结构,工作模式,LVS虚拟应用。

1.群集的类型

负载均衡群集:以提高应用系统的响应能力,尽可能处理更多的访问请求,减少延迟为目标,获得高并发,高负载的整体性能。

高可用群集:以提高应用系统的可靠性,尽可能地减少中断时为目标,确保服务的连续性,达到高可用的容错效果。

高性能的运算集群:以提高应用系统的CPU运算速度,扩展硬件资源和分析能力为目标,获得相当于大型,超级计算机的高性能运算

2.负载均衡的分层结构

第一层:负载均衡调度器,这是访问整个群集系统的唯一的入口,对外使用所有服务器共有的vip,也称为群集的IP地址

第二层:服务器池,群集所提供的应用服务如:HTTP FTP等 由服务器池承担。

第三层:共享存储,为服务器中所有的节点提供稳定,一致的文件存取服务,确保整个群集的统一性。在linux/UNIX环境中,共享存储可以使用NAS设备或者提供NFS共享服务的专用服务器


3、负载均衡的工作模式


1.地址转换:简称为NET模式,类似于防火墙的私有网络结构,负载调度器作为所有的服务器节点的网关,及作为客户机的访问入口,也是各个节点回应客户机的访问出口。服务器节点使用私有的IP地址于负载调度器位于同一个物理网络,安全性要优于其他两个方式

2.IP隧道模式:简称TUN模式采用开放式网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的internet连接直接回应客户机,而不是经过负载调度器服务器,服务器的节点分散在互联网中的不同位置,具有独立的IP地址,通过IP隧道于负载调度器相互通信

3.直接路由:简称DR模式,采用的半开放式的网络结构,与TUN模式结构类似,但各个节点并不是分散在各地,而是与调度器位于同一个物理网络。负载调度器与各个节点服务器通过本地网络连接,不需要建立专用的网络隧道

以上的三种模式中,在NAT方式只需要一个公网的IP地址,从而为最易用的一种负载均衡模式,安全性也比较好,许多硬件负载均衡设备就是采用的这种方式;相对而言,DR模式和TUN模式的负载能力更加强大,适用能力范围更广,但是节点的安全性稍差一些

准备环境:client-客户端     Centos7.0---分发器-两块网卡

    Centos7.0---Web服务器

      Centos7.0---Web服务器

下面开始配置分发器

1)打开路由转发功能

[root@yankai ~]# vim /etc/sysctl.conf

改:net.ipv4.ip_forward = 0 为:net.ipv4.ip_forward = 1 


让配置生效:[root@localhost ~]# sysctl -p
      net.ipv4.ip_forward = 1

2)配置网络环境

添加一块网卡,配置以下的网络环境。

ens33  192.168.161.128 模式:NET  这台我直接DHCP获取了,为了和客户机通信这里我就不设置IP地址了

ens36  192.168.100.1     模式:Vmnet4 


3)安装: LVS管理工具: ipvsadmin 

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



4)配置Web服务器

    首先我们更改Web1的IP地址为192.168.100.2 网关指向分发器192.168.100.1

  web2的地址为192.168.100.3    网关指向分发器192.168.100.1




注意:分发器/Web1/Web2全部关闭防火墙/Selinux 关闭防火墙后我们拿web1/2ping分发器看看是否能通信


确定可以通信之后我们配置LVS分发器

配置LVS转发规则

[root@localhost ~]# ipvsadm -A -t 192.168.161.128:80 -s rr 

-A 添加    -t 表示TCP的服务  VIP:PORT  -s 指定调度算法  rr表示round-robin 轮循

[root@localhost ~]# ipvsadm -a -t 192.168.161.128:80 -r 192.168.100.2 -m
[root@localhost ~]# ipvsadm -a -t 192.168.161.128:80 -r 192.168.100.3 -m

选项:  -a 表示添加real server的地址  -r 指定real server的IP地址  -m 表示masquerade 也就是NAT方式的LVS 

查看: ipvsadm     配置及查看内核IPVS表和算法的工具类似于iptables 

[root@localhost ~]# ipvsadm -L -n

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

配置web1/2,并启动httpd服务

web1:

[root@localhost ~]# yum install -y httpd 

systemctl  start  httpd.server

[root@localhost ~]# echo "yk111111" > /var/www/html/index.html

web2:

[root@localhost ~]# yum install -y httpd 

systemctl  start  httpd.server

[root@localhost ~]# echo "yk222222" > /var/www/html/index.html    #(实验期间,各 个服务器的页面不同)

测试:拿client打开浏览器去访问分发器192.168.161.128按F5多刷新几次,就会变换一个页面



访问成功! 希望对您有所帮助