设为首页 收藏本站
查看: 938|回复: 0

[经验分享] 用轮调算法配置集群LVS

[复制链接]

尚未签到

发表于 2019-1-6 06:07:30 | 显示全部楼层 |阅读模式
  本实验一共需要用到4台虚拟机,VMWare版本为7.0,如下所示:


Real server 1:
eth0 RIP: 192.168.1.11/24
lo:0 VIP: 192.168.1.1/24
Real server 2:
      eht0 RIP: 192.168.1.12/24
      lo:0 VIP: 192.168.1.1/24
Director:
      eth0 DIP: 192.168.1.13/24
      eth0:0 VIP: 192.168.1.1/24
Web server:
      eth0: 192.168.1.14/24

注:RIP和VIP可以不在同一网络,但所有RIP必在同一网络,VIP可以用公网地址,RIP用私有地址

配置Real server 1:
保证有WEB服务
# yum install httpd
制作一个简单的主页
# echo "This page is from Real server 1" > /var/www/html/index.html
注:在配置Real sever 2 时可写入不同内容,以增强实验效果,但在实际生产应用中,二者内容必须得保持一致
# service httpd start
# chkconfig httpd on

关闭selinux
# setenforce 0

查看80端口是否开启
# netstat -tnlp

# ifconfig eth0 192.168.1.11/24      RIP 此处不需要网关

隐藏ARP广播
# vim /etc/sysctrl.conf  添加如下内容:
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2

注:等号“=”前后必须有空格!!!

上述修改方法永久生效,下面给出一种临时生效的方法:
        echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
        echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
        echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
        echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

查看是否修改成功
# sysctrl -p
若出现所添加的内空,则说明添加成功

添加VIP
# ifconfig lo:0 192.168.1.1 broadcast 192.168.1.1 netmask 255.255.255.255 up
查看
# ifconfig

添加一个特殊路由,使所有访问VIP(192.168.1.1)请求都从lo:0发出
# route add -host 192.168.1.1 dev lo:0
查看
# route -n
显示Iface结果为lo而不是lo:0,这是正常现象

配置Real server 2:
过程和Real server 1相同!!!
这里不再赘述

配置Director:

添加DIP
# ifconfig eth0 192.168.1.13/25

添加VIP
# ifconfig eth0:0 192.168.1.1 broadcast 192.168.1.1 netmask 255.255.255.255 up

查看
# ifconfig

# route add -host 192.168.1.1 dev eth0:0
查看
#route -n

开启路由功能
# vim /etc/sysctl.conf
修改net.ipv4.ip_forward的值为1,显示为:
net.ipv4.ip_forward = 1

接下来开始定义虚拟服务
之前,最好清空iptables,或直接关闭之

# yum install ipvsadm

清空ipvs信息
# ipvsadm -C
查看
# ipvsadm -L -n

添加新规则
# ipvsadm -A -t 192.168.1.1:80 -s rr
注:此处 -s 为指定算法,如果需要其它算法,可在些处修改
# ipvsadm -a -t 192.168.1.1:80 -r 192.168.1.11 -g -w 5
# ipvsadm -a -t 192.168.1.1:80 -r 192.168.1.12 -g -w 8
保存配置
# serviec ipvsd save
查看保存情况
# ipvsadm -L -n
#




至此,可以客户端的浏览器中访问192.168.1.1
由于本实验采用的是cc(轮调算法),所以每刷新一次访问的页都不同,会在Real server 1和Real server 2两者的页面之间转换

配置Web server

# yum install httpd
# echo "This page is from nfs of the Web server!!!" > /var/www/html/index.html
# service httpd start

关闭selinux
# setenforce 0

# ifconfig eth0 192.168.1.14/24

启用nfs共享
# vim /etc/exports
添加
/var/www 192.168.1.11(ro)
/var/www 192.168.1.12(ro)

注:只允许两台Real server挂载

设置开机自动启动nfs
# chkconfig nfs on

至此,Web server 配置完毕

在Real server挂载nfs之前,它们最好先删去或重命名之前创建的/var/www/html/index.html文件

在两台Real server上分别执行如下命令挂载nfs
# mount 192.168.1.14:/var/www   /var/www



再次在客户端上访问192.168.1.14
发现出现的页面一直都是来自web server 的页面
实验成功!!!

注:如果想少开一台虚拟机,可以将Web server省去,在一台Real server上做好web服务,然后用nfs共享,让另一台Real server挂载,可减小物理机的开销!





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-659761-1-1.html 上篇帖子: 实现基于LVS负载均衡集群的电商网站架构 下篇帖子: 一步步教你为LVS中的Director实现高可用集群
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表