• lvs集群DR模式,负载均衡


    LVSLinux虚拟服务器)全拼:Linux Virtual Server

    是一个虚拟的服务器集群系统

    三种模式:

     

    LVS-NAT:地址转换,

    原理简述

    客户端向VIP发起请求连接,DS在经过调度之后选取RS,然后RS返还数据给DS,DS将数据返还客户端,数据包来回都要经过NAT转换,所以DS将成为系统瓶颈。NAT支持10-20台服务器。需要有两个网卡。

    =====================================================================

     

    LVS-TUN:隧道

    原理简述

    客户端向VIP发送请求时,DS经过调度轮询后选择一个RS后使用隧道技术再次封装后向RS发送,RS通过隧道收到请求后拆开数据后得到目的IP,找到数据后将数据直接通过公网返还给客户端,可以跨网段。速度快。

    =====================================================================

    LVS-DR: 路由模式

    原理简述

    直接路由,此种方式是最常用的方式,当客户端向VIP发起请求时,数据包通过路由器发送到DS。然后DS不修改其源IP目的iP。经过调度后将目的MAC改为RS的MAC,然后RS找到数据后直接通过公网返回给客户端。

    速度快,所有的DS和RS都在同一个物理网络中(交换机)并且都只有一块网卡。

    =====================================================================

    调度常用算法:

    1. 轮叫调度 rr

    2. 加权轮叫 wrr

    3. 最少链接 lc

    4. 加权最少链接 wlc

    步骤:(注意:老板,员工都的安装yum -y install httpd*)

    所需环境,一台DS,两台RS,一台客户机,在一个网段中,全部关闭防火墙。操作过程中不可重启。

    DS(老板)

    1.

    #yum -y install ipvsadm #下载ipvsadm命令

    参数:

    -C–clear 清除内核虚拟服务器表中的所有记录。

    -A:增加一台新的虚拟服务器,也就是VIP

    -a:在虚拟服务器中增加一台新的真实服务器

    -t–tcp 说明虚拟服务器提供的是tcp 的服务

    -r:后跟真实的服务器ip

    -s:指定调度算法

    -g:指定LVS 的工作模式为直接路由模式

    2.

    #ipvsadm -C 

    #ipvsadm -A -t 192.168.154.250:80 -s rr 

    #ipvsadm -a -t 192.168.154.250:80 -r 192.168.29.139:80 -g

    #ipvsadm -a -t 192.168.154.250:80 -r 192.168.29.140:80 -g

    #ifconfig eno16777736:0 192.168.154.250 broadcast 192.168.154.250 netmask 255.255.255.255 up

    ens33网卡添加一块子网卡,IP地址设为250,并且设置为广播地址

    #route add -host 192.168.154.250 dev eno16777736:0

    访问192.168.154.250的时候指定一条路由,走子网卡,

    RS(员工1|员工2)

    1.

    # ifconfig lo:0 192.168.154.250 broadcast 192.168.154.250 netmask 255.255.255.255 up

    LOOPBACK添加子网卡,设置IP为250,并设置为广播地址

    # route add -host 192.168.154.250 dev lo:0

    访问250指定路由是从设备LOOPBACK走

    2.

    配置内核参数文件

    arp_ignore 定义接收到ARP请求时的响应级别

    0:默认,只有本地配置的有相应的地址才给与回应

    1:仅仅在目标地址是本地地址,并是配置在请求进来的接口上的时候才给予响应

    arp_announce:定义将自己的地址向外通告时的级别

    0:默认,表示使用配置在任何接口的任何地址向外通告

    1:尽量仅向目标网络通过余其网络匹配地址

    2:仅向与本地接口上地址匹配的网络进行通告

    # echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

    # echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

    # echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

    # echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

    该配置文件重启失效,是写在内存中的。

    如果要永久生效,要把参数写在/etc/sysctl.conf中

    3.

    RS和DS端都安装httpd服务

    RS1,RS2端/var/www/html目录下创建index.html文件

    编辑:<h1>this is 138 host</h1>

    <h1>this is 139 host</h1>

    启动httpd服务

    4.

    测试:

    在客户机执行 curl 192.168.154.250,或者在浏览器输入网址

    DS上查看ipvsadm的

    ipvsadm -Ln --stats

    -L:显示内核虚拟服务器表

    -n:输出IP地址和端口的数字形式

    ipvsadm --zero :清空流量

    为防止服务重启失败

    cd /etc/sysconfig

    touch ipvsadm文件

  • 相关阅读:
    求助求助——请教各位高手,抽出一点宝贵的时间根据这个实例讲解一下应该如何分层呢?
    我的数据访问函数库的源代码(一)—— 共用部分
    我的网站的结构说明
    我的网站的后台管理的结构图。
    [转载]大项目中项目经理的作用
    ASP.net实现无扩展名的URL重写。简单、方便、无需ISAPI。
    我的数据访问函数库的源代码(三)——返回结构数组
    数据访问层的使用方法
    我的数据访问函数库的源代码(二)—— SQL语句部分
    [导入]用户登录及验证用户是否登录的代码
  • 原文地址:https://www.cnblogs.com/songjiang-hong/p/9920538.html
Copyright © 2020-2023  润新知