LVS负载均衡——伪装模式

  • LVS负载均衡

    • 负载均衡的分层结构

      • 第一层:负载调度器,这是访问整个群集的唯一入口,对外开放一个VIP提供访问,作为群集IP地址。一般会配置一个备用调度器,并实现热备份,确保调度器的高可用性。

      • 第二层:服务器池(realserver),负责处理调度器调度过来的请求,通过某种机制将出错的服务器隔离,避免将请求调度到故障服务器上。

      • 第三层:共享存储,为群集中所有节点提供稳定,一致的存储服务器,确保整个集群数据的统一性。

    • 负载均衡的工作模式

      • 地址转换NET模式(地址伪装masquerade)

          • 在该模式中,调度器既负责网关功能,也负责调度功能,因此对调度器的负载有一定压力,适应于小型的集群部署。安全性较高

      • IP隧道(ip-ip协议)

          • 简称TUN模式:当群集中的设备不在同一个局域网内,而来自互联网上时就需要该模式,调度器负责调度,群集内的服务器处理完信息后不经调度器直接回应客户端。因为采用ip-ip加密建立隧道因此得名。

      • 直接路由(DR)

          • 调度器与群集服务器在同一局域网络,调度器通过本地网络与节点服务器通信。

    • LVS

      • (linux vartual server)linux虚拟服务器,中国章文嵩博士于1998年创建。该技术已经集成在Linux内核中。

      • LVS调度算法

        • 轮询(rr--roundRobin)

          • 将收到的请求按顺序轮流分配个各节点,缺点:没有考虑节点服务器的连接数于系统负载。

        • 加权轮询(wrr--weighted round Robin)

          • 根据设置的权重来分配请求,权重越高分配的请求就越多。

        • 最少连接(lc)

          • 哪个服务器连接数量最少就将该请求分配给它。

        • 加权最少连接(wlc)

          • 在服务器性能差异较大的情况下设置,调度器会自动调整权重,来实现负载均衡。

    • 实验操作

      • 拓扑

      • 根据需求配置好相关网络信息后,关闭或添加防火墙,并关闭内核安全机制。

      • 将内核地址转发功能开启并激活

        • echo “net.ipv4.ip_forward=1“>>/etc/sysctl.conf

        • sysctl -p

          • 出现该字样表示成功开启地址转发功能。
      • 安装ipvsadm(ip虚拟服务器管理)

        • ipvsadm -C

          • 清空集群策略

        • ipvsadm -A -t 172.16.16.172:80 -s rr

          • -A 添加集群服务

          • -t tcp类型的服务

          • -s 调度算法

            • 默认算法wlc

        • ipvsadm -a -t 172.16.16.172:80 -r 192.168.10.102:80 -m -w 1

          • -a 向集群中添加节点服务器。

          • -t tcp的服务

          • -r (real server)

          • -m (masquerade地址伪装也就是NAT模式)

          • -w 权重 (权重值越大承担的请求任务就越多)

          • 有多少添加多少

        • 查看策略

          • ipvsadm -ln

        • 开机自启

          • systemctl enable ipvsadm

      • 之后在两台服务器部署web服务进行测试就行

        • 先创建不同的测试内容来确认是否正确进行调度

        • 通过for i in $(seq 100);do curl 目标webIP ;done的结果来查看结果

      • 在分别在web服务器于nfs服务器建立共享目录,并挂载,之后进行访问,看共享存储是否成功。

    • 连接状态

      • LISTENING状态

        • 服务启动后首先处于侦听(LISTENING)状态。

      • ESTABLISHED状态

        • ESTABLISHED的意思是建立连接。表示两台机器正在通信。

      • CLOSE_WAIT

        • 对方主动关闭连接或者网络异常导致连接中断,这时我方的状态会变成CLOSE_WAIT 此时我方要调用close()来使得连接正确关闭

      • TIME_WAIT

        • 我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT。

      • SYN_SENT状态

        •    SYN_SENT状态表示请求连接,当你要访问其它的计算机的服务时首先要发个同步信号给该端口,此时状态为SYN_SENT,如果连接成功了就变为ESTABLISHED

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值