阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu环境部署LVS DR模式

116次阅读
没有评论

共计 2469 个字符,预计需要花费 7 分钟才能阅读完成。

一、环境说明:
系统环境:Ubuntu 14.04
lvs 服务器:10.36.1.55/10.36.1.56
真实服务器:10.36.1.55/10.36.1.56 在这里也充当 mysql 和 zabbix 角色
VIP:10.36.1.101
部署目的:
1、访问 VIP 的 3306 端口,可以将请求报文转发至 10.36.1.55-56 上进行负载
2、zabbix agent 向 VIP 的 10051 端口上报采集数据的时候,可以将请求报文转发至 10.36.1.55-56 上进行负载
3、向 VIP 访问 80 端口(zabbix web 管理界面)的时候,可以将请求报文转发至 10.36.1.55-56 上进行负载

二、安装 LVS(两台服务器都要安装)
apt-get -y install ipvsadm

查看版本
ipvsadm -v

查看是否已加载进内核模块中
lsmod | grep ip_vs

# 查看 lvs 规则
ipvsadm -L -n     

# 查看连接情况
ipvsadm -L -c 

三、配置 LVS VIP 服务
说明:- A 是添加一条虚拟服务器记录,即 VIP。此处配置要选择算法
ipvsadm -A -t 10.36.1.101  -s wrr -p 300    #代理转发所有去往该 IP TCP 的报文,- s 指定算法 wrr 为加权轮询算法,- p 会话保持时间(默认值是 300s)

ipvsadm -A -t 10.36.1.101:80 -s wrr -p 20    #代理转发去往该 IP TCP80 端口的报文
ipvsadm -A -t 10.36.1.101:3306 -s wrr -p 20
ipvsadm -A -t 10.36.1.101:10051 -s wrr -p 20

四、VIP 维护
使用 - E 修改 VIP 设置
例:ipvsadm -E -t 10.36.1.101 -s wrr -p 40 #可修改会话保持时间与算法。

使用 - D 删除 VIP 设置
例:ipvsadm -D -t 10.36.1.101    #删除该条 VIP

五、配置 LVS RIP 规则
- a 是添加 VIP 要对哪些真实服务器 IP(即 RIP)进行负载(默认是 DR 模式即 -g)。
我这里的 LVS 服务器也充当了真是服务器

ipvsadm -a -t 10.36.1.101 -r 10.36.1.55 -g -w 1  #- r 指定真实服务器 IP,- g 为选择 DR 模式(- m 为 NAT 模式,- t 为 tunnel 模式),- w 选择权重。
ipvsadm -a -t 10.36.1.101 -r 10.36.1.56 -g -w 1

# 如果只对 tcp 80 端口进行负载,可使用如下命令:
ipvsadm -a -t 10.36.1.101:80 -r 10.36.1.55:80 -g -w 1 
ipvsadm -a -t 10.36.1.101:80 -r 10.36.1.56:80 -g -w 1

ipvsadm -a -t 10.36.1.101:3306 -r 10.36.1.55:3306 -g -w 1 
ipvsadm -a -t 10.36.1.101:3306 -r 10.36.1.56:3306 -g -w 1

ipvsadm -a -t 10.36.1.101:10051 -r 10.36.1.55:10051 -g -w 1 
ipvsadm -a -t 10.36.1.101:10051 -r 10.36.1.56:10051 -g -w 1

RIP 维护:

使用 - e 修改 RIP 配置
例:ipvsadm -e -t 10.36.1.101 -r 10.36.1.55 -g -w 4    #修改这条 RIP 规则的权重。

使用 - d 删除 RIP 配置
例:ipvsadm -d -t 10.36.1.101 -r 10.36.1.55 -g -w 1  #删除该条 RIP 配置

六、在真实服务器上配置 VIP

在两台真实服务器上都配置上 VIP,即 10.36.1.101 地址。
ifconfig lo:0 10.36.1.101 netmask 255.255.255.255

七、在真实服务器上关闭 ARP 响应
关闭真实服务器上 loop 口的 arp 回应,其它口的无须关闭。
默认 arp_ignore 和 arp_announce 的参数都是 0,即回应所有目的 IP 是本机的 arp 请求。
在所有真实服务器上进行如下操作:
echo “1”>/proc/sys/net/ipv4/conf/all/arp_ignore        #只回答目标 IP 地址是来访网络接口本地地址的 ARP 查询请求。
echo “2”>/proc/sys/net/ipv4/conf/all/arp_announce      #对查询目标使用最适当的本地地址。

# 此处可以进行测试,在测抑制 arp 前,能 ping 通 VIP 地址。在抑制 arp 后,在前端交换机上清掉 arp 缓存,再 ping VIP 就不通了。但物理 eth0 网卡 IP 还是能通的。

arp 含义参考地址:http://www.linuxidc.com/Linux/2016-12/138116.htm

接下来在 lvs 上配置 VIP:
ifconfig lo:0 10.36.1.101 netmask 255.255.255.255(注意,我这里是 LVS 和业务服务器都跑一起了,所以配置一次即可)

八、开启内核转发功能
在 lvs 上开启内核转发功能。
echo ‘net.ipv4.ip_forward=1’ >>/etc/sysctl.conf
sysctl -p    #查看配置

9、LVS 测试
# 查看 lvs 规则
ipvsadm -L -n     
# 查看连接情况

ipvsadm -L -c 
至此 lvs 搭建成功。

说明:以上配置系统重启以后无效,需重新配置一遍

10、配置好后,那么目前的 lvs 面临有哪些问题呢?

1、自身无法对真实服务器保活,如果出现服务器 down 情况,还会向 down 的服务器转发请求。解决方法是 keepalived 或自已写脚本来监测连通性再清除相应规则。

2、一台 LVS 服务器会出现单点故障,需要有备份 LVS 服务器,解决方法是 keepalived 来进行 LVS 故障接管。

LVS DR 模式 负载均衡服务搭建 http://www.linuxidc.com/Linux/2016-11/136644.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/138108.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计2469字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中