美文网首页
高并发和负载均衡(二)

高并发和负载均衡(二)

作者: Robin92 | 来源:发表于2020-04-03 20:59 被阅读0次

    LVS 搭建实操

    前提准备

    准备 VMware,并安装三个 centos 系统。取名 master、node1、node2。

    实操

      1. 在 master 中配一个网卡及地址 192.168.16.100 作为 VIP (虚拟IP)。
    ifconfig <网卡name>:N 192.168.16.100/24 # 配置一个虚拟网卡并分配地址。N 随意取一个数字就好
    
      1. 在配 node1 和 node2 之前需要先配置内核,不然一配置就会被通告出去,造成失败。在 node1、node2 上:
    cd /proc/sys/net/ipv4/conf/<网卡name> # (我的是 ens33)
    echo 1 > arp_ignore
    echo 2 > arp_announce
    # 现在只改了一个接口,为保证以后也生效,改一下 all 接口的配置
    cd ../all
    echo 1 > arp_ignore
    echo 2 > arp_announce 
    
      1. 配置 node 机器上的隐藏的 VIP
    ifconfig lo:2 192.168.16.100 netmask 255.255.255.255 # 这里掩码位数不同,不能写 /24 了
    
      1. 搭起一个 Real Service,装 httpd 并使生效
    yum install httpd -y
    service httpd start
    
      1. 在 node 上创建一个 http 服务,并能使浏览器访问到此页面。
    vi /var/www/html/index.html # 写入一些数据
    
      1. 在 master 上安装 ipvsadm 工具
    yum install -y ipvsadm
    
      1. 在 master 上添加进包出包规则
    ipvsadm -A -t 192.168.16.100:80 -s rr # 进包规则(-A),tcp协议(-t),schedule规则(-s),rr 表示轮询
    ipvsadm -ln # 查看 入口规则
    ipvsadm -a -t 192.168.16.100:80 -r 192.168.16.107 -g -w 1 # 出包规则(-a),Real Server(-r),轮询(-g),权重(-w)
    
    image.png
      1. 测试,在浏览器中访问 192.168.16.100,失败

    现象: 能 ping 通 xxx.100 ,但 curl 连接时报 80 商品拒绝访问。

    解释:

    • ARP 是做 IP 到 MAC 地址映射的,所以当数据包到达 LVS 的时候,LVS (ipvsadm)将 RS(Real Server)的 MAC 地址拼到数据包上,广播出去。
    • 同一网络内的 RS 发现数据包是自己的网卡信息,接收到这个数据包,看到里面的 IP 和端口,和 80 端口建立连接。

    附:

    ipvsadm 添加集群服务 ipvsadm 管理集群服务 image.png

    相关文章

      网友评论

          本文标题:高并发和负载均衡(二)

          本文链接:https://www.haomeiwen.com/subject/jdfnuhtx.html