[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
Web开发
> 详细
DR+keepalived实现web群集的负载均衡和高可用性
时间:
2018-05-12 02:36:00
阅读:
223
评论:
0
收藏:
0
[点我收藏+]
我们搭建好的Lvs-DR群集是有一台lvs调度器的,生产环境中如果调度器出现故障,整个群集将瘫痪。通过keepalived做lvs调度器的双机热备就可以很好的解决这个问题。keepalived采用VRRP虚拟路由冗余协议,以软件的方式实现Linux服务器的多机热备功能。
案列拓扑:本次lvs+keepalived群集搭建需要两台nginx做的网站服务器和两台LVS负载均衡调度器。如下图
IP地址规划:两台nginx分别使用172.16.16.177和172.16.16.178;两台调度器分别使用172.16.16.21和172.16.16.22作为地址。
操作步骤:1、部署nginx作为群集的web服务器
1)nginx的安装部署可参考以下文http://blog.51cto.com/13434336/
2102925
2)为nginx配置VIP,此地址用作发送web响应数据包的源地址,不需要监听客户机的访问请求,所以可以配置lo:0上,并需要为本机添加一条路由记录,将访问VIP的数据限制在本地,避免通信紊乱。
3)调整/proc响应参数vim /etc/sysctl.conf,添加6行。然后执行sysctl -p更新
4)为做区分我将第二台nginx服务器的网页做了修改
(两台nginx上的配置除了网页和IP地址其余完全相同)
2、调度器配置。
1)首先为调度器的eth0网卡再配置一个地址172.16.16.172作为vip(群集地址)vim /etc/sysconfig/network-scripts/ifcfg-eth0:0(该地址用于响应群集访问,所以需要配置eth0:0)。
2)调整/proc响应参数
因为lvs负载调度器和各节点需要共用vip地址,应该关闭linux内核重定向参数响应,打开vi /etc/sysctl.conf,增加三行。执行sysctl -p更新。
3)挂载系统盘安装ipvsadm群集调度工具
4)配置负载分配策略
3、在调度器上配置keepalived。
1)安装keepalived支持软件包
2)编译安装keepalived
3)chkconfig命令设置keepalived开机自启动
4)配置keepalived。vim /etc/keepalived/keepalived.conf
修改完配置重启keepalived服务。
5)从调度器配置
router-id LVS2
state BACKUP
priority 99
其余配置项相同即可,修改完配置重启keepalived服务。
3、验证群集
1)登陆172.16.16.172
换一台电脑登陆
这就成功验证了轮询调度算法(RR)的负载均衡
2)验证lvs群集。断掉第一台nginx的网卡,然后登陆172.16.16.172。
发现仍然可以登陆,不过出现的是第二台nginx的网页。
3)在优先级为100的主调度器上通过ip addr show dev eth0查看keepalived的漂移地址。
断掉该调度器的网卡,再次查看。
查看另一台调度器
地址已经漂移到从调度器上了。再次登陆172.16.16.172。
发现依然可以登陆网站。
总结:本案例中,使用Lvs-DR搭建了负载均衡的web群集;为避免负载均衡调度器故障引发的群集瘫痪,采用keepalived实现了调度器的双机热备,成功的实现了该web群集的高可用性和高并发处理性(搭建Lvs-DR可以使用多台nginx服务器)。
文档只做实验环境中使用。
DR+keepalived实现web群集的负载均衡和高可用性
原文:http://blog.51cto.com/13434336/2115423
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!