部署LVS-DR集群

LVS-DR原理图

		------------------------------->							--------------------------------------->				-----------  web1

client CIP---->VIP LVS调度器 CIP–>RIP ------|
<------------------------------- <-------------------------------------- ----------- web2
CIP<-----VIP CIP<-----RIP
大体流程为:客户端访问访问VIP,LVS调度器将目标地址换成RIP,根据算法分发给相应的web服务器,web服务收到请求后发现为本机,将应答信息从本地lo传给eth0网卡,eth0是收到应答信息后回传给调度器,调度器再将源地址换成VIP发送给客户端。

环境准备
一台proxy调度器、2台web服务器,1台client客户端
proxy DIP:192.168.4.5
VIP:192.168.4.15
web1:192.168.4.100
web2:192.168.4.200
client(CIP):192.168.4.10

以web1端为例(web2的lo:0及sysctl.conf文件配置与web1一样):
1、利用cp命令创建lo:0虚拟网卡

vim  ifcfg-lo:0    
DEVICE=lo:0     //设备
IPADDR=192.168.4.15             //VIP
NETMASK=255.255.255.255				//32位子网掩码
NETWORK=192.168.4.15				//网关
BROADCAST=192.168.4.15			//广播
ONBOOT=yes					自动激活
NAME=lo:0					网卡名

2、防止地址冲突,需忽略广播请求

vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2    //不向外宣告本地回环ip
net.ipv4.conf.all.arp_announce = 2

3、重起网卡

4、安装apache软件包(用其他方式构建web服务器亦可)

yum -y install httpd

5、配置简单的apache页面

web1:echo web1 > /var/www/html/index.html
web2:echo web2 > /var/www/html/index.html

6、启动httpd服务,确保可以正常访问页面

systemctl restart httpd

7、安装软件包ipvsadmi

yum -y install ipvsadm

8、添加LVS集群服务器

ipvsadm -A -t 192.168.4.15:80 -s wrr      //指定集群算法为加权轮询

9、添加real server服务器

ipvsadm -a -t 192.168.4.15:80 -r 192.168.4.100
ipvsadm -a -t 192.168.4.15:80 -r 192.168.4.200

10、查看ipvsadm配置结果

ipvsadm -L
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  proxy:http wrr
  -> 192.168.4.100:http           Route   1      0          0         
  -> 192.168.4.200:http           Route   1      0          0 

11、在client客户端进行访问

curl http://192.168.4.15
web2
curl http://192.168.4.15
web1

12、LVS集群默认没有健康检查功能,当我们关掉web1时,仍然会一直分发到web1

[root@client ~]# curl http://192.168.4.15
web2
[root@client ~]# curl http://192.168.4.15
curl: (7) Failed connect to 192.168.4.15:80; 拒绝连接

13、可以一些简单脚本进行检测主机状态,及时调整轮询策略,例如

#!/bin/bash

while :
do

for i in 100 200
do
        curl http://192.168.4.$i &> /dev/null
        if [ $? -ne 0 ];then
        ipvsadm -Ln | grep 4.$i && ipvsadm -d -t 192.168.4.15:80 -r  192.168.4.$i

fi

done
sleep 1
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值