• 构建LVS负载均衡集群——NAT模式(最简单方式)


    一、装备一台lvs调度器主机
    要求两个网卡一个为内部局域网ip,一个为公网ip

    #IP地址设置过程不再重复
    [root@localhost ~]# ip a | grep eth0   #内网ip
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        inet 192.168.200.10/24 brd 192.168.200.255 scope global eth0
    [root@localhost ~]# ip a | grep eth1    #公网ip
    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        inet 192.168.100.1/24 brd 192.168.100.255 scope global eth1
    
    #开启路由功能,以便两个不同网络之间通信
    [root@localhost ~]# vim /etc/sysctl.conf 
    net.ipv4.ip_forward = 1
    [root@localhost ~]# sysctl -p
    net.ipv4.ip_forward = 1

    安装ipvsadm软件,配置lvs负载均衡

    [root@localhost ~]# yum -y install ipvsadm
    [root@localhost ~]# lsmod | grep "ip_vs"   #查看策略中有没有
    #没有添加
    [root@localhost ~]# modprobe ip_vs
    [root@localhost ~]# lsmod | grep "ip_vs"
    ip_vs                 

    添加负载分配策略

    [root@localhost ~]# ipvsadm -A -t 192.168.100.1:80 -s rr
    [root@localhost ~]# ipvsadm -a -t 192.168.100.1:80 -r 192.168.200.111:80 -m -w 1
    [root@localhost ~]# ipvsadm -a -t 192.168.100.1:80 -r 192.168.200.112:80 -m -w 1
    
    ———————————————————————————————————
    -A:表示添加虚拟服务器
    -t用来指定VIP 地址及TCP端口
    -s:用来指定负载调度算法——轮询(rr)
    -a:添加服务器
    -r 用来指定RIP 地址及TCP 端口
    -m:使用NAT 群集模式(-g DR 模式、-i TUN 模式
    -w:用来设置权后重(权重为0 时表示暂停节点)

    查看群集节点状态

    [root@localhost ~]# ipvsadm -Ln
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
      -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
    TCP  192.168.100.1:80 rr
      -> 192.168.200.111:80           Masq    1      0          0         
      -> 192.168.200.112:80           Masq    1      0          0

    二、设置两台轮询主机
    #安装Apache,并开启服务,不再复述
    修改两台主机的默认网关,改为lvs服务器内网IP地址

    部分修改内容
    第一台
    [root@tomcat1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728 
    IPADDR=192.168.200.112
    NETMASK=255.255.255.0
    GATEWAY=192.168.200.10
    DNS1=8.8.8.8
    ~       
    第二台           
    [root@tomcat1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728 
    IPADDR=192.168.200.111
    NETMASK=255.255.255.0
    GATEWAY=192.168.200.10
    DNS1=8.8.8.8

    为两台主机准备测试文件

    第一台
    [root@tomcat1 ~]# echo "222222222222" > /var/www/html/index.html
    第二台
    [root@localhost ~]# echo "1111111" > /var/www/html/index.html

    三、测试
    关闭防火墙,测试

    #是轮询访问
    [root@localhost ~]# while : ; do curl 192.168.100.1 ;sleep 2; done
    1111111
    222222222222
    1111111
    222222222222
    1111111
    222222222222
    1111111
    222222222222
    1111111
    222222222222
    1111111
    222222222222
  • 相关阅读:
    Tensorflowlite移植ARM平台iMX6
    人生信条集
    浅谈聚类
    常用距离度量方法大全
    sklearn学习小结
    SpringBoot 2.x版本+MultipartFile设置指定文件上传大小
    SpringBoot无法访问webapp目录下的文件
    idea搜索不到任何插件
    Caused by: org.springframework.data.mapping.PropertyReferenceException: No property id found for type Users!
    Annotation-specified bean name 'userDaoImpl' for bean class [***] conflicts with existing, non-compatible bean definition of same name and class [***]
  • 原文地址:https://www.cnblogs.com/canflyfish/p/11635059.html
Copyright © 2020-2023  润新知