暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

部署LVS-DR集群实现负载均衡实例

吴柯的运维笔记 2017-10-12
169

“每个理性的IT人士都置顶了吴柯的运维笔记”


使用LVS实现DR模式的集群调度服务器,为用户提供Web服务:

  • 路由器对外公网IP地址为202.114.106.20

  • 路由器内网IP地址为192.168.0.254

  • 路由是需要设置SNAT及DNAT功能

  • LVS调度器真实IP地址为192.168.0.10

  • LVS调度器VIP地址设置为192.168.0.253

  • 真实Web服务器地址分别为192.168.0.1、192.168.0.2

  • 使用加权轮询调度算法,真实服务器权重与其IP地址末尾数一致



使用4台虚拟机,1台作为Linux路由器、1台作为Director调度器、2台作为Real Server、物理机作为客户端:


一:配置网络环境

1)设置Web服务器网络参数

# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.1
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=202.106.0.20


# vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.253
NETMASK=255.255.255.255


# 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
net.ipv4.conf.all.arp_announce = 2


# sysctl -p

# systemctl restart NetworkManager


2)自定义Web页面

# echo “192.168.0.1” > /var/www/html/index.html
# echo “192.168.0.2” > /var/www/html/index.html


3)启动Web服务器软件

[root@web1 ~]# systemctl start httpd; systemctl enable httpd

[root@web2 ~]# systemctl start httpd; systemctl enable httpd


4)设置LVS调度器网络参数

# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.10
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=202.106.0.20


#vim /etc/sysconfig/network-scripts/ifcfg-eth0:0
DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.253
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=202.106.0.20


# systemctl restart NetworkManager


5)设置Linux路由器网络参数

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=202.114.106.20
DNS1=202.106.0.20


# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.254
NETMASK=255.255.255.0
DNS1=202.106.0.20


# systemctl restart NetworkManager


6)设置Linux路由器的SNAT、DNAT功能

# sed -i '/ip_forward/s/0/1/'  sysctl.conf  //开启路由转发

# sysctl -p
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -p tcp –j SNAT --to-source 202.114.106.20
# iptables -t nat -A PREROUTING -d 202.114.106.20 -p tcp --dport 80 –j DNAT --to-destination 192.168.0.253:80
# service iptables save



二:调度器安装软件并启动服务

1)安装软件

# rpm –ihv ipvsadm-1.25-10.el6.x86_64.rpm


2)启动服务

# systemctl start ipvsadm
# systemctl enable ipvsadm



三:部署LVS-DR模式调度器

1)创建集群服务器

# ipvsadm -A -t 192.168.0.253:80 -s wrr


2)添加真实服务器

# ipvsadm -a -t 192.168.0.253:80 -r 192.168.0.1 -g -w 1
# ipvsadm -a -t 192.168.0.253:80 -r 192.168.0.2 -g -w 2


3)查看规则列表,并保存规则

# ipvsadm –Ln
# ipvsadm-save -n > /etc/sysconfig/ipvsadm



四:客户端测试

客户端使用curl命令反复连接http://202.114.106.20,查看访问的页面是否会轮询到不同的后端真实服务器。


推荐阅读:

如何部署LVS-NAT集群实现负载均衡?

部署Cacti监控平台实现网络监控

如何搭建nagios监控服务器?

Nagios的插件介绍

如何实现MySQL读写分离?

使用XtraBackup工具实现数据库备份

使用mysqldump实现数据备份与恢复

如何搭建phpMyAdmin管理平台?

python编写分析apache访问日志的脚本

吴柯的运维笔记

BY wukeyy18s

长按二维码关注我们吧



文章转载自吴柯的运维笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论