03: HAProxy服务器 、 Keepalived热备 、 Keepalived+LVS

简介:

LVS/DR 
不对realserver 主机上的服务做健康性检查
是基于四层负载均衡集群软件(端口)

一、使用Haproxy软件部署网站LB集群
1.1 普通LB集群

客户端 192.168.4.250

haproxy服务器 192.168.4.100

网站服务器 192.168.4.101/102

配置 haproxy服务器:192.168.4.100
装包 
yum list | grep -i haproxy
rpm -q haproxy || yum -y install haproxy

修改配置文件
cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak
vim /etc/haproxy/haproxy.cfg
[global]
....

[default]
...... 
stats uri /admin
listen lbweb 0.0.0.0:80
cookie SERVERID rewrite
balance roundrobin
server webA 192.168.4.101:80 cookie app101a check inter 2000 rise 2 fall 5
server webB 192.168.4.102:80 cookie app102b check inter 2000 rise 2 fall 5

:wq

启动服务#service haproxy start ; chkconfig haproxy on
查看端口 #netstat -utnalp | grep :80
客户端250 测试 #elinks --dump http://192.168.4.100/test.html
查看web页面显示健康性检查信息 http://192.168.4.100/admin
++++++++++++++++++++++++++++++++++++++++++++++
test.html a.php
]# service haproxy stop
]# mv haproxy.cfg haproxy.cfg-1
]# cp haproxy.cfg.bak haproxy.cfg

1.2 区分业务的LB集群(七层)
]# vim haproxy.cfg
stats uri /admin
frontend weblb 192.168.4.100:80
acl pathhtml path_end -i .html
acl pathphp path_end -i .php

use_backend   htmlgrp  if pathhtml
use_backend   phpgrp  if pathphp
default_backend   htmlgrp

backend htmlgrp
balance roundrobin
server app101 192.168.4.101:80 check
server app102 192.168.4.102:80 check
backend phpgrp
balance roundrobin
server app103 192.168.4.103:80 check
server app104 192.168.4.104:80 check
]# service haproxy start
++++++++++++++++++++++++++++++++++++++++
250 elinks --dump http://192.168.4.100/test.html
web101
web102
250 elinks --dump http://192.168.4.100/a.php
hello web103
hello web104

250 elinks --dump http://192.168.4.100
++++++++++++++++++++++++++++++++++++++
二、使用keepalived软件部署网站HA集群

  • 能够实现任意单故障节点的高可用集群。

配置网站高可用集群 103 和 104
1 在主机上都安装keepalived软件
#yum list | grep -i keepalived
#rpm -q keepalived || yum -y install keepalived

2 修改服务的主配置文件/etc/keepalived/keepalived.conf
2.1修改主服务器192.168.4.103
vim /etc/keepalived/keepalived.conf
...
state MASTER
priority 150
33 lb_kind DR
35 #persistence_timeout 50 #50秒内访问同一台

....
:wq
2.2修改备用服务器192.168.4.104
vim /etc/keepalived/keepalived.conf
....
state BACKUP
priority 100
33 lb_kind DR
35 #persistence_timeout 50 #50秒内访问同一台

....
:wq
++++++++++++++++++++++++++++++
3 启动服务
主服务器
/etc/init.d/keepalived start 
chkconfig keepalived on

备用服务器
/etc/init.d/keepalived start 
chkconfig keepalived on

4 查看是否获取到vip 地址
#ip addr show | grep 192.168.4.

4测试
250: elinks --dump http://vip/teset.php
192.168.4.253

++++++++++++++++++++++++++++++++++++++++++++++++
部署 101 和 102 为 HA 高可用集群。
客户端访问集群的vip地址是 192.168.4.252

101 <------- 102
思考: HA 集群中 主服务器没有宕机,但是应用服务(httpd)停止了,为问主服务器 是否会是否vip地址?

service httpd stop
ip addr show | grep 192

elinks --dump http://192.168.4.252/test.html

+++++++++++++++++++++++++++++++++++++++++++++++++
三、使用keepalvied 做lvs分发器的HA集群
3.1 配置KVS/DR模式的LB集群(网站)
3.1.1、配置网站服务器101 、 102 
运行网站服务 并编辑网页文件
修改网络接口运行参数 、绑定vip 地址

3.1.2、在做分发器的主机100、200上安装提供lvs服务的软件ipvsadm

3.2 配置分发器的HA集群 100、200
3.2.1 在2台分发器主机上分别安装keepalived软件
3.2.2 分别修改2台分发器主机上keepalived服务配置文件
3.2.3 分别启动2台分发器主机上的keepalived服务
3.2.4 查看是否获取到VIP地址 和 虚拟服务及realserver

3.3 测试HA集群的配置
把主服务器宕机后,客户端仍然能够正常访问网站服务。
elinks --dump http://192.168.4.253/test.html
vip 地址

http://192.168.4.253/b.html

http://192.168.4.252/c.html

+++++++++++++++++++++++++++++++++++++++++++
搭建共享存储服务器 192.168.4.105
配置需求:
配置LB集群中的网站服务把网页文件存储在 存储服务器105主机的/dev/vdd磁盘上。

共享目录的服务有哪些? NFS Samba tftp ftp
nfs cifs tftp ftp

mount /dev/vdd1 /sharedir 
3G

一、配置存储服务器192.168.4.105
1.1 准备存储空间: 分区 、 格式化 、 挂载
165 fdisk -l /dev/vdd
165 fdisk /dev/vdd -> n -> p ->1 ->2次回车->w 
165 fdisk -l /dev/vdd
169 blkid /dev/vdd1
170 mkfs.ext4 /dev/vdd1
171 blkid /dev/vdd1
172 mkdir /webdir
173 mount /dev/vdd1 /webdir
174 df -h /webdir/

umount /webdir

设置开机挂载 /etc/fstab
[root@storage105 ~]# tail -1 /etc/fstab 
UUID=3f505f56-b559-4f95-9d99-8f99d9318e3c /webdir ext4 defaults 0 0
[root@storage105 ~]# mount -a
[root@storage105 ~]# mount | grep /webdir

1.2 共享存储存储空间: 装包 、修改配置文件、启动服务
184 rpm -q nfs-utils
185 rpm -q nfs-utils || yum -y install nfs-utils
186 rpm -q nfs-utils
]# rpm -q rpcbind || yum -y install rpcbind
]# vim /etc/exports
/webdir *(rw)
:wq
]# chmod o+w /webdir/

193 /etc/init.d/rpcbind status
194 /etc/init.d/rpcbind start
195 /etc/init.d/nfs status
196 /etc/init.d/nfs start
#chkconfig rpcbind on 
#chkconfig nfs on

1.3 在本机查看共享信息
[root@storage105 ~]# which showmount
/usr/sbin/showmount
[root@storage105 ~]# rpm -qf /usr/sbin/showmount 
nfs-utils-1.2.3-64.el6.x86_64
[root@storage105 ~]# 
[root@storage105 ~]# showmount -e localhost
Export list for localhost:
/webdir 
[root@storage105 ~]# 
二、配置应用服务器192.168.4.101/102
2.1 挂载nfs共享目录
]# yum -y install nfs-utils
]# showmount -e 192.168.4.105
]# rm -rf /var/www/html/

]# mount -t nfs 192.168.4.105:/webdir /var/www/html/
2.2 在105主机上编写网页文件
vim /webdir/test.html
aaaa
cccc
:wq
2.3 客户端 250 访问 lb集群能够看到网页内容
elinks --dump http://192.168.4.253/test.html


     本文转自sweak_h 51CTO博客,原文链接:http://blog.51cto.com/13478354/2069985,如需转载请自行联系原作者




相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
10月前
|
负载均衡 前端开发 JavaScript
LVS-DR模式、keepalived、Nginx与Tomcat合作,打造动静分离,高效负载均衡与高可用性
为了采用这样的架构,你需要对LVS-DR、Keepalived、Nginx与Tomcat有一定的理解和掌握,同时也需要投入一些时间去研究和配置,但是一旦你把它运行起来,你将会发现,这一切都是值得的。
396 11
|
负载均衡 网络协议 关系型数据库
一口把LVS、Nginx及HAProxy工作原理讲清楚了。(附图)
一口把LVS、Nginx及HAProxy工作原理讲清楚了。(附图)
306 0
|
负载均衡 算法 Linux
LVS+Keepalived:实现高效软负载均衡的利器
本文介绍了如何使用LVS(Linux Virtual Server)和Keepalived搭建高可用负载均衡集群。LVS通过不同调度算法将请求转发给后端服务器,而Keepalived基于VRRP协议实现服务高可用,避免IP单点故障。具体步骤包括环境准备、安装配置ipvsadm和Keepalived、启动服务及测试。文中还详细解释了配置文件中的关键参数,并提供了故障转移测试方法。最后,文章简要对比了软件、硬件和云负载均衡方案的特点,帮助读者选择合适的负载均衡策略。
1916 4
|
运维 负载均衡 网络协议
LVS+Keepalived 负载均衡
LVS+Keepalived 负载均衡
443 8
LVS+Keepalived 负载均衡
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
文章介绍了如何配置HAProxy以支持HTTPS协议和实现服务器的动态上下线。
1062 8
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
|
监控 Apache
HAProxy的高级配置选项-Web服务器状态监测
这篇文章介绍了HAProxy的高级配置选项,特别是如何进行Web服务器状态监测,包括基于四层传输端口监测、基于指定URI监测和基于指定URI的request请求头部内容监测三种方式,并通过实战案例展示了配置过程和效果。
441 8
HAProxy的高级配置选项-Web服务器状态监测
|
网络协议
keepalived对后端服务器的监测方式实战案例
关于使用keepalived进行后端服务器TCP监测的实战案例,包括配置文件的编辑和keepalived服务的重启,以确保配置生效。
273 1
keepalived对后端服务器的监测方式实战案例
|
域名解析 运维 负载均衡
LVS+Keepalived 负载均衡(二)28-1
【8月更文挑战第28天】LVS+Keepalived 负载均衡 配置 LVS VIP
301 6
|
负载均衡 监控 应用服务中间件
在Linux中,lvs/nginx/haproxy 优缺点?
在Linux中,lvs/nginx/haproxy 优缺点?
|
负载均衡 应用服务中间件 Linux
在Linux中,LVS、Nginx、HAproxy有什么区别?工作中怎么选择?
在Linux中,LVS、Nginx、HAproxy有什么区别?工作中怎么选择?