在DR模式中,LVS负载调度器作为集群的访问入口,但是不作为网关使用,服务器中的节点都各自接入Internet,发送给客户机的web响应不经过LVS负载调度器。
这种方式入站、出站数据被分别处理,因此LVS负载调度器和所有的节点都需要配置有VIP地址,以便响应整个群集的访问。
环境
一台centos7两台 centos6
负载均衡调度器 ens33 192.168.72.128 ens33:0 192.168.72.100
node1 eth0: 192.168.72.130 lo:0 192.168.72.100
node2 eth0: 192.168.72.130 lo:0 192.168.72.100
负载均衡器操作
加载ip_vs模块
查看当前ip_vs模块加载情况
安装管理软件ipvsadm,不需要启动
[root@localhost ~]# yum -y install ipvsadm
配置虚拟地址
[root@localhost ~]# ifconfig ens33:0 192.168.72.100 broadcast 192.168.72.100 netmask 255.255.255.255 up
注:再LVS方案中
虚拟ip地址和普通网络接口完全不同。
虚拟ip地址的广播就是它自己本身,子网掩码是4个255,
这样就不会造成ip地址冲突,否则lvs将不能正常的转发访问请求。
配置路由
[root@localhost ~]# route add -host 192.168.72.100 dev ens33:0
创建虚拟服务器
[root@localhost ~]# ipvsadm -A -t 192.168.72.100:80 -s rr
添加服务器节点
[root@localhost ~]# ipvsadm -a -t 192.168.72.100:80 -r 192.168.72.130:80 -g
[root@localhost ~]# ipvsadm -a -t 192.168.72.100:80 -r 192.168.72.131:80 -g
查看
[root@localhost ~]# ipvsadm -Ln
Ipvsadm命令详解
语法:
ipvsadm command 【protocol】 service-address(vs) service-address 【工作模式】 【调度算法】
-A 表示添加虚拟服务器
-a 表示添加真实服务器器
-t 用来指定VIP地址以及TCP端口
-r 用来指定RIP地址以及TCP端口
-s 用来指定负载调度算法:rr(轮询) \wrr(加权轮询)\lc(最少连接) \wlc(加权最少连接)
-g 是DR模式 -m 是NAT模式 -i 是TUN模式
在节点上配置,每个node都要配置
使用DR模式时,节点服务器也需要vip地址,并调整内核的ARP响应参数以阻止更新vip的MAC地址,避免发生冲突。除此以外,web服务器配置和NAT模式一样。
安装httpd
yum -y install httpd
service start httpd
并修改界面
配置虚拟的ip地址
每个节点服务器同样需要具有vip,192.168.72.100
但此地地址仅用作发送web响应数据包的源地址,
并不需要监听客户机的访问请求(由调度器监听并分发)。
因此使用虚接口lo:0来承载vip地址,并为本机添加一条路由记录,
将访问vip的数据限制在本地,以免通信紊乱。
# cd /etc/sysconfig/network-scripts/
# cp ifcfg-lo ifcfg-lo:0
# vi ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.72.100
NETMASK=255.255.255.255
ONBOOT=yes
# ifup lo:0
# ifconfig lo:0
添加vip本地访问路由
# vi /etc/rc.local
添加:
/sbin/route add -host 192.168.72.100 dev lo:0
# route add -host 192.168.72.100 dev lo:0
-
调整/proc参数响应
# vi /etc/sysctl.conf 添加: ###lvs use### net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 net.ipv4.conf.default.arp_ignore = 1 net.ipv4.conf.default.arp_announce = 2 net.ipv4.conf.lo.arp_ignore = 1 net.ipv4.conf.lo.arp_announce = 2 # sysctl –p
4.测试