构建LVS负载均衡集群--NET模式

1、准备四台虚拟机(一台Linux配置LVM,两台Web,一台windows机测试)

2、关闭Linux虚拟机的防火墙和安全机制

systemctl stop  firewalld
iptables -F
setenforce 0

一、配置LVM主机(给主机添加两个网卡,两个网卡不在一个模式下,分别配置IP地址)

网卡一:NET模式
网卡二:VMnet2模式
[root@localhost ~]# ip a | grep eno 2: eno16777728: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 inet 192.168.200.111/24 brd 192.168.200.255 scope global eno16777728 3: eno33554960: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 inet 172.16.1.1/16 brd 172.16.255.255 scope global eno33554960

1、开启路由功能

[root@localhost ~]# vim /etc/sysctl.conf  //永久修改路由文件
net.ipv4.ip_forward = 1
[root@localhost ~]# sysctl -p  //查看路由是否开启
net.ipv4.ip_forward = 1

2、安装ipvsadm管理工具

[root@localhost ~]# yum -y install ipvsadm

添加模块 ip_vs

 [root@localhost ~]# modprobe ip_vs
 [root@localhost ~]# lsmod | grep ^ip_vs
 ip_vs                 136798  0 

检查版本

[root@localhost ~]# ipvsadm -v
ipvsadm v1.27 2008/5/15 (compiled with popt and IPVS v1.2.1)

3、添加负载分配策略

[root@localhost ~]# ipvsadm -A -t 172.16.1.1:80 -s rr   //加载一台虚拟主机IP为172.16.1.1 端口是80,算法为rr轮询
[root@localhost ~]# ipvsadm -a -t 172.16.1.1:80 -r 192.168.200.112:80 -m -w 1  //添加服务器节点192.168.200.112,net模式,权重为1
[root@localhost ~]# ipvsadm -a -t 172.16.1.1:80 -r 192.168.200.113:80 -m -w 1

--------------------------------------------
rr:轮询
wrr:加权轮询
lc:最小连接
wlc:加权最小连接

--------------------------------------------
-A:添加虚拟服务器
-t:用来指定VIP地址及TCP端口
-s:指定负载调度的算法
-a:添加服务器
-r:指定RIP地址及TCP端口
-m:使用NAT集群模式(-g:DR模式、-i:TUN模式)
-w:设置权重(权重为0时表示暂停节点)

4、查看节点状态

1 [root@localhost ~]# ipvsadm -Ln
2 IP Virtual Server version 1.2.1 (size=4096)
3 Prot LocalAddress:Port Scheduler Flags
4   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
5 TCP  172.16.1.1:80 rr
6   -> 192.168.200.112:80           Masq    1      0          0         
7   -> 192.168.200.113:80           Masq    1      0          0  

二、设置两台轮询(web)主机

修改主机的网关地址,使两台web主机的网关指向LVS主机的内网IP(192.168.200.111)

1、第一台主机:

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728
ONBOOT=yes
IPADDR=192.168.200.112
NETMASK=255.255.255.0
GATEWAY=192.168.200.111   //修改网关地址
DNS1=202.106.0.20

[root@localhost ~]# systemctl restart network //重启网络服务

yum安装apache,开启服务

[root@localhost ~]# yum -y install httpd
[root@localhost ~]# systemctl start httpd

创建测试文件

[root@localhost ~]# echo "11111111" > /var/www/html/index.html

2、第二台主机

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728
ONBOOT=yes
IPADDR=192.168.200.113
NETMASK=255.255.255.0
GATEWAY=192.168.200.111
DNS1=202.106.0.20

[root@localhost ~]# systemctl restart network //重启网络服务

yum安装apache,开启服务

[root@localhost ~]# yum -y install httpd
[root@localhost ~]# systemctl start httpd

创建测试文件

[root@localhost ~]# echo "2222222" > /var/www/html/index.html

三、windows测试机测试

windows主机的IP与虚拟主机的IP在同一网段下,并且要处于同一模式下

 

 

在LVS主机上创建测试脚本,就可以看见轮询的效果了。

[root@localhost ~]# while :
> do 
> curl 172.16.1.1
> sleep 2
> done
11111111
2222222
11111111
2222222
11111111
2222222

猜你喜欢

转载自www.cnblogs.com/tanxiaojuncom/p/11593917.html