LVS的DR模型试验搭建笔记

装备:
在我的windows上装有3台linux虚拟机,node01/node02/node03。
以node01做LVS,node02、node03做RealServer。

1、给node01配置VIP

ifconfig eth0:8 192.168.44.100/24

2、给node02、node03修改内核**

cd /proc/sys/net/ipv4/conf/eth0
echo 1 > arp_ignore
echo 2 > arp_announce
cd /proc/sys/net/ipv4/conf/all
echo 1 > arp_ignore
echo 2 > arp_announce

隐藏VIP的方法:对外隐藏,对内可见

arp_ignore:定义收到ARP请求时的响应级别

0:只要本地配置了响应地址,就给予响应;

1:仅在请求的目标MAC地址与到达的接口相对应的时候,才给予响应。

arp_announce:定义将自己地址向外通告时的通告级别

0:将本地任何接口上的任何地址向外通告;

1:试图仅向目标网络通告与其网络匹配的地址;

2:仅向与本地接口上地址匹配的网路进行通告。
配置隐藏的VIP

 ifconfig lo:2 192.168.44.100 netmask 255.255.255.255

3、配置RealSever中的服务:**

在ode02/node03中

#安装
yum install httpd -y
#启动
service httpd start
#在静态index.html页面中添加内容
 vi /var/www/html/index.html
 from 192.168.44.12

4、LVS服务配置:

在node01中

yum install ipvsadm

#给到达192.168.44.100:80端口的服务配置   轮询
ipvsadm -A -t 192.168.44.100:80 -s rr
#把192.168.44.100:80的服务转发到  192.168.44.12  DR模型  权重是1
ipvsadm -a -t 192.168.44.100:80 -r 192.168.44.12 -g -w 1
ipvsadm -a -t 192.168.44.100:80 -r 192.168.44.13 -g -w 1
#查看
ipvsadm ln

-A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] [–pe persistence_engine]
-A 向lvs添加一个虚拟服务 -E 修改一个虚拟服务
-t tcp服务 -u udp服务
-s 调度算法

-a|e -t|u|f service-address -r server-address [options]
-a 为虚拟服务添加一个RealServer -e 修改RealServer
-t tcp服务
-r 指定可以转发到真实服务器的地址

调度算法
四种静态:
rr:轮询
wrr:加权轮询
dh:目标地址散列算法
sh:源地址散列算法
六种动态:
lc:最少连接
wlc:加权最少连接
sed:最短期望延迟
nq:最少队列调度
lblc:基于本地的最少连接
lblcr:基于本地的带复制功能的最少连接

验证

浏览器访问 192.168.44.100 可以看见负载
netstat -natp 查看各台机器的tcp连接
在node01上查看lvs偷看到的连接记录。

ipvsadm -lnc
pro expire state       source             virtual            destination
TCP 01:53  FIN_WAIT    192.168.44.1:49459 192.168.44.100:80  192.168.44.12:80

FIN_WAIT:连接过,偷看了所以包
SYN_RECV:看见这个状态,LVS没问题,一定时后边网络层出问题了

你可能感兴趣的:(负载均衡)