构建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

 

posted @ 2019-10-08 13:59  会飞的fish  阅读(283)  评论(0编辑  收藏  举报