主备(keepalived+haproxy)
系统:centos6.9 mini
主机名 ip 虚拟ip
kh1 192.168.126.210
kh2 192.168.126.220 192.168.126.100
web11 192.168.126.230
web22 192.168.126.240
1、在kh1和kh2安装keepalived和haproxy
[root@kh1 ~]# yum install -y keepavlivd haproxy
[root@kh2 ~]# yum install -y keepavlivd haproxy
2、在web1和web2上部署web服务
[root@web11 ~]# yum install -y httpd
[root@web11 ~]# echo "web1">/var/www/html/index.html
[root@web11 ~]# service httpd restart
[root@web11 ~]# chkconfig httpd on
[root@web22 ~]# yum install -y httpd
[root@web22 ~]# echo "web2">/var/www/html/index.html
[root@web22 ~]# service httpd restart
[root@web22 ~]# chkconfig httpd on
3、在kh1和kh2 配置keepalived,在kh1上查看虚拟ip
[root@kh1 ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id kh1
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.126.100
}
}
[root@kh1 ~]# /etc/init.d/keepalived restart
[root@kh1 ~]# ip addr list
link/ether 00:0c:29:da:01:36 brd ff:ff:ff:ff:ff:ff
inet 192.168.126.210/24 brd 192.168.126.255 scope global eth0
inet 192.168.126.100/32 scope global eth0
[root@kh2 ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id kn2
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.126.100
}
}
[root@kh2 ~]# /etc/init.d/keepalived restart
4、在kh1和kh2上配置haproxy(两个节点的配置一样的,红色部分为添加部分)
[root@kh1 ~]# cat /etc/haproxy/haproxy.cfg
#---------------------------------------------------------------------
# Example configuration for a possible web application. See the
# full configuration options online.
#
# http://haproxy.1wt.eu/download/1.4/doc/configuration.txt
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
# to have these messages end up in /var/log/haproxy.log you will
# need to:
#
# 1) configure syslog to accept network log events. This is done
# by adding the '-r' option to the SYSLOGD_OPTIONS in
# /etc/sysconfig/syslog
#
# 2) configure local2 events to go to the /var/log/haproxy.log
# file. A line like the following can be added to
# /etc/sysconfig/syslog
#
# local2.* /var/log/haproxy.log
#
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
# turn on stats unix socket
stats socket /var/lib/haproxy/stats
#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
stats uri /haproxy-stats #监控页面的url
stats refresh 30s #更新页面时间
stats auth admin:admin #监控页面的提示信息
stats hide-version #隐藏统计页面上的HAproxy版本信息
#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend http_80_in
bind *:80 #监听端口,即haproxy提供web服务的端口,和lvs的vip端口类似
mode http #http的7层模式
log global
default_backend test1
#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
#backend static
# balance roundrobin
#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend test1
balance roundrobin
server web11 192.168.126.230:80 weight 1 check inter 15000 rise 2 fall 4
server web22 192.168.126.240:80 weight 2 check inter 15000 rise 2 fall 4
#web集群配置,服务器定义web11,webv22 ,check inter 1500是检测心跳频率rise 2是2次正确认为服务器可用,
fall 4是4次失败认为服务器不可用,weight代表权重
[root@kh1 ~]# scp /etc/haproxy/haproxy.cfg root@192.168.126.220:/etc/haproxy/haproxy.cfg
#复制配置文件到kh2上
[root@kh1 ~]# /etc/init.d/haproxy restart
[root@kh2 ~]# /etc/init.d/haproxy restart
5、验证
5.1 在kh1上关掉keepalived和haproxy 服务,vip 转移到kh2上,后端服务正常
[root@kh1 ~]# /etc/init.d/keepalived stop
Stopping keepalived: [ OK ]
[root@kh1 ~]# /etc/init.d/haproxy stop
Stopping haproxy:
[root@kh2 ~]# ip addr list
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:80:2e:09 brd ff:ff:ff:ff:ff:ff
inet 192.168.126.220/24 brd 192.168.126.255 scope global eth0
inet 192.168.126.100/32 scope global eth0
inet6 fe80::20c:29ff:fe80:2e09/64 scope link
valid_lft forever preferred_lft forever
[root@kh2 ~]# curl http://192.168.126.100
web2
[root@kh2 ~]# curl http://192.168.126.100
web2
[root@kh2 ~]# curl http://192.168.126.100
web1
5.2 访问haproxy 监控页面,最浏览器输入http://192.168.126.100/haproxy-stats ,填入用户名admin和密码admin(图一),接着看到的是监控的页面(图二),可以看到web11,web2都是up的,当web11 宕机了,再次刷新,可以看到web11的状态是down 的,颜色变成了红色(图三)

图一

图二

图三
主备(keepalived+haproxy)的更多相关文章
- Keepalived 主备配置
keepalived主备或多主多备,配置都是一样配置方法,只是搭建多少的问题. 1.keepalived安装 参考:https://www.cnblogs.com/zwcry/p/9542867.ht ...
- Centos7.6部署k8s v1.16.4高可用集群(主备模式)
一.部署环境 主机列表: 主机名 Centos版本 ip docker version flannel version Keepalived version 主机配置 备注 master01 7.6. ...
- haproxy+keepalived主备与双主模式配置
Haproxy+Keepalived主备模式 主备节点设置 主备节点上各安装配置haproxy,配置内容且要相同 global log 127.0.0.1 local2 chroot /var/lib ...
- 二十七. Keepalived热备 Keepalived+LVS 、 HAProxy服务器
1.Keepalived高可用服务器 proxy:192.168.4.5(客户端主机) web1:192.168.4.100(Web服务器,部署Keepalived高可用软件) web2:192.16 ...
- KeepAlived主备/主主模型高可用Nginx
部署准备: 两台CentOS 7主机HA1和HA2 CentOS 7 基于rpm包安装Nginx: 由于Base源中没有Nginx,所以要安装EPEL源,命令如下: wget http://dl.fe ...
- KeepAlived主备模型高可用LVS
部署前准备: 1.至少4台主机:两个Director(HA1,HA2),两个Real Server(RS1,RS2) 2.Director之间时间必须同步,且关闭各主机的防火墙和Selinux 3.出 ...
- keepalived工作原理和配置说明 腾讯云VPC内通过keepalived搭建高可用主备集群
keepalived工作原理和配置说明 腾讯云VPC内通过keepalived搭建高可用主备集群 内网路由都用mac地址 一个mac地址绑定多个ip一个网卡只能一个mac地址,而且mac地址无法改,但 ...
- Nginx+Keepalived主备切换(包含nginx服务停止)
原文地址:http://blog.sina.com.cn/s/blog_79ac6aa80101bmed.html Nginx+Keepalived主备切换(包含nginx服务停止) 环境: VM中4 ...
- 测试redis+keepalived实现简单的主备切换【转载】
转自: 测试redis+keepalived实现简单的主备切换 - Try My Best 尽力而为 - ITeye技术网站http://raising.iteye.com/blog/2311757 ...
- Nginx+Keepalived 主备高可用 安装与配置
环境说明:操作系统:CentOS6.7 x86_64Nginx版本:nginx-1.9.7Keepalived版本:keepalived-1.2.24 主nginx + Keepalived :10. ...
随机推荐
- [51nod1709]复杂度分析
给出一棵n个点的树(以1号点为根),定义dep[i]为点i到根路径上点的个数.众所周知,树上最近公共祖先问题可以用倍增算法解决.现在我们需要算出这个算法精确的复杂度.我们定义计算点i和点j最近公共组先 ...
- HDU4355-Party All the Time-三分
Party All the Time Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- HDU 2066 最短路floyd算法+优化
http://acm.hdu.edu.cn/showproblem.php?pid=206 题意 从任意一个邻居家出发 到达任意一个终点的 最小距离 解析 求多源最短路 我想到的是Floyd算法 但是 ...
- excel数据导出新妙招
之前在做项目的时候需要将数据库中的数据导出为excel表格一遍打印查阅,在网上找了很多插件也没有找到自己理想的好用的插件(也就是说没有找到令我满意的插件),最近在学习a标签的相关知识时理解到,a标签不 ...
- MVC 统一异常处理
在出现异常时,我们不希望将错语的原因让客户看见,常常会做一个404错误页面,将所有发生的异常都跳至该页面,并把异常信息写在日志中.步骤如下: 1.让我们看看Global.asax页面Applicati ...
- UEP-下拉
uep建立下拉 静态下拉: ①private Map<String,String> beanMap = new HashMap<String,String>(); //gett ...
- App Doc View Frame中指针的获取
// App中获取其它三项指针 void CSDIApp::OnApp() { // App // Doc CDocument *pDoc = ((CFrameWndEx *)m_pMainWnd)- ...
- 工作小结(关于webpack)
今天在工作中遇到了一个新问题,是关于webpack的. 是这样的,我在项目中添加了一个新页面,修改完配置文件后,开始运行,刚开始并没有什么问题,很顺利,后来我又添加了一个页面,然后修改配置文件,然后运 ...
- vue-cli脚手架的环境搭建
vue-cli (1)检查node版本 在安装vue的环境之前,安装NodeJS环境是必须的.可以使用node -v指令检查,需要保证安装了4.0版本以上的nodeJS环境. 当然,没有安装的话,去N ...
- 炫酷线条动画--svg
我们经常可以在一些页面看到看起来很酷的线条动画,有些可以用css实现,有些css就无能为力了,今天来研究另一种实现方式,svg 如果对svg是什么还不了解的话,可以先去看看svg的基础教程: 一般对于 ...