LVS ——(Linux Virtual Server),即Linux虚拟服务器,又可为一个虚拟的服务器集群系统,是由我国章文嵩博士在1998年研究得出的;主要利用此技术实现一个高性能,高可用的服务器;提供很好的可伸缩性、可靠性、可管理性;

    LVS集群的三种模型:

        NAT:Network Address Translation(地址转换)

        DR:Direct Routing(直接路由)、

        TUN:IP Tunneling(IP隧道)

    

    NAT模型:客户通过Virtual IP Address(虚拟服务的IP地址)访问网络服务时,请求报文到达调度器,调度器根据连接调度算法从一组真实服务器中选出一台服务器,将报文的目标地址Virtual IP Address改写成选定服务器的地址,报文的目标端口改写成选定服务器的相应端口,最后将修改后的报文发送给选出的服务器。同时,调度器在连接Hash表中记录这个连接,当这个连接的下一个报文到达时,从连接Hash表中可以得到原选定服务器的地址和端口,进行同样的改写操作,并将报文传给原选定的服务器。当来自真实服务器的响应报文经过调度器时,调度器将报文的源地址和源端口改为Virtual IP Address和相应的端口,再把报文发给用户。我们在连接上引入一个状态机,不同的报文会使得连接处于不同的状态,不同的状态有不同的超时值。这样,客户所看到的只是在Virtual IPAddress上提供的服务,而服务器集群的结构对用户是透明的。

    使用NAT模型至少需要三台主机;一个调度器VS 两个真实服务器RS

    1.首先VS(调度器):

        因为做调度器的任务所以一般需要两个IP接口,一个外网的用来接收客户端请求,另一个内网用于转发报文到RS上面;即VIP与DIP;(调度器需要开启核心转发功能 临时:# echo 1 > /proc/sys/net/ipv4/ip_forward 永久开启:# vim /etc/sysctl.conf 之后用 # sysctl -p重新加载即可)

        VIP: 172.16.6.6

        DIP: 192.168.100.1

    2.RS1(真实服务器1)

        配置其IP地址为:192.168.100.5  

        指定网关:192.168.100.1

        # route add default gw 192.168.100.1

        并且开启http服务

       RS2(真实服务器2)

        配置其IP地址为:192.168.100.6

        指定网关:192.168.100.1

        # route add default gw 192.168.100.1

         并且开启http服务


    剩下的任务是在VS上面使用ipvsadm命令进行相关操作完成NAT模型的构建:

lvs的集群之 lvs-nat模型的部署_lvs

lvs的集群之 lvs-nat模型的部署_nat_02

lvs的集群之 lvs-nat模型的部署_nat_03

 到此,NAT模型已经构建完成;只需访问VIP就可获取RS1与RS2上的http服务的主页信息,因为采用的是rr算法,所以访问时也会在RS1与RS2中轮流访问;