实验环境

server1 和 server2 是调度器,server3 和 server4 是服务器

一、调度器中进行配置 haproxy+keepalived

server1 与server2 均要配置

【1】下载keepalived

yum install -y keepalived


【2】server1 中修改配置文件

[root@server1 keepalived]# cat keepalived.conf
! Configuration File for keepalivedglobal_defs {notification_email {root@localhost}notification_email_from keepalived@localhostsmtp_server 127.0.0.1smtp_connect_timeout 30router_id LVS_DEVELvrrp_skip_check_adv_addr#vrrp_strictvrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_script check_haproxy {#script "killall -0 haproxy"script "/opt/check_haproxy.sh"    #可以使用脚本,也可以直接killallinterval 2weight 0
}vrrp_instance VI_1 {state MASTERinterface eth0virtual_router_id 65priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}track_script {check_haproxy}virtual_ipaddress {172.25.0.100}
}

【3】server2 中修改配置文件(server2是backup,且优先级低于server1)

[root@server2 keepalived]# cat keepalived.conf
! Configuration File for keepalivedglobal_defs {notification_email {root@localhost}notification_email_from keepalived@localhostsmtp_server 127.0.0.1smtp_connect_timeout 30router_id LVS_DEVELvrrp_skip_check_adv_addr#vrrp_strictvrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_script check_haproxy {#script "killall -0 haproxy"script "/opt/check_haproxy.sh"    #可以使用脚本,也可以直接killallinterval 2weight 0}vrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 65priority 50                advert_int 1authentication {auth_type PASSauth_pass 1111}track_script {check_haproxy}virtual_ipaddress {172.25.0.100}
}

二、编写脚本

记得给可执行权限
两台虚拟机中都需要创建此脚本

[root@server1 opt]# vim /opt/check_haproxy.sh
#!/bin/bash
systemctl status haproxy &> /dev/null || systemctl restart haproxy &> /dev/null
killall -0 haproxyif [ $? -ne 0 ];thensystemctl stop keepalived
fi[root@server1 opt]# chmod +x /opt/check_haproxy.sh  #可执行权限

三、haproxy

可以先修改好一台虚拟机中的/etc/haproxy/haproxy.cfg文件,然后使用scp命令发送到另一台虚拟机上

#    use_backend static          if url_staticacl read_request method GETacl read_request method HEADacl write_request method PUTacl write_request method POSTuse_backend static          if read_requestuse_backend app             if write_requestdefault_backend             static
#   default_backend             app
#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
backend staticbalance     roundrobinserver      static 172.25.15.3:80 check
#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend appbalance     roundrobin#  balance     source# balance static-rrserver  app1 172.25.15.4:80 checkserver  backup 127.0.0.1:80 backup

四、测试

【1】初始状态
两台虚拟机中的haproxy和keepalived都是打开状态。此时172.25.15.100是在server1上(因为server1的是master优先级高),server2没有172.25.15.100

【2】验证高可用

在server1上:systemctl stop haproxy

此时172.25.15.100不再server1上了
关闭haproxy后172.25.15.100直接迁移到server2中了,实现了高可用

【3】验证优先级
重新打开server1中的haproxy之后,ip又会迁移回来。这是因为server1中的优先级高于server2

高可用集群下的负载均衡(7):haproxy + keepalived 实现高可用负载均衡相关推荐

  1. 运维企业专题(11)RHCS高可用集群下MySql数据库与共享磁盘(单点写入、多点写入)的设置

    实验环境 主机名 IP 服务 server1 172.25.6.1 ricci,luci, iscsi,mysql-server server2 172.25.6.2 ricci,iscsi,mysq ...

  2. Hadoop高可用集群下namenode格式化失败问题解决

    Hadoop高可用集群下namenode格式化失败问题解决 输入hdfs namenode -format报如下错误 解决方法: 1.在zookeeper目录下执行./bin/zkServer.sh ...

  3. 实战_23_高可用负载均衡集群的实现(Mycat+ZK +HAProxy + Keepalived)

    接上一篇:实战_22_Mycat设置开机自启https://blog.csdn.net/weixin_40816738/article/details/100086556 文章目录 一.高可用集群架构 ...

  4. 高可用集群下的负载均衡(8):pacemaker + corosync + haproxy 实现高可用

    实验环境 server1 和 server2 是调度器,server3 和 server4 是服务器 [1]调度器server1 server2 关闭 keepalived 和 httpd,并打开pc ...

  5. 高可用集群下的负载均衡(6):haproxy实现访问不同资源的负载均衡(日志、监控、acl访问控制的配置)

    8.7am 2 1.haproxy的日志管理 [1]修改日至配置文件 [root@server2 haproxy]# pwd /etc/haproxy [root@server2 haproxy]# ...

  6. 高可用集群下的负载均衡(5):haproxy的动静分离与读写分离

    一.haproxy动静分离 实验环境: server2(haproxy):安装 haproxy server3(静态服务器):在apache的默认发布目录下创建一个 images目录,并放一张图片 s ...

  7. docker 如何加入kubernetes_使用 Kind 在 5 分钟内快速部署一个 Kubernetes 高可用集群...

    什么是 Kind Kind(Kubernetes in Docker) 是一个Kubernetes孵化项目,Kind是一套开箱即用的Kubernetes环境搭建方案.顾名思义,就是将Kubernete ...

  8. 负载均衡集群、高可用集群详解,DR、NAT超详细搭建步骤

    集群概述 流量相关:     PV:PV(page view)即页面浏览量或点击量,是衡量一个网站或网页用户访问量.具体的说,PV值就是所有访问者在24小时(0点到24点)内看了某个网站多少个页面或某 ...

  9. Centos 7 部署 OpenStack_Rocky版高可用集群3-1

    Centos 7 部署 OpenStack_Rocky版高可用集群3-1 文章目录 Centos 7 部署 OpenStack_Rocky版高可用集群3-1 1.前期准备 1.1 软硬件准备 1.1. ...

最新文章

  1. Elasticsearch内存分配设置详解
  2. Java项目:个人博客系统(java+SSM+Mysql+Servlet+JavaWeb)
  3. mac 配置 php,mac如何配置php环境
  4. 外包公司做遗留项目有意思么?
  5. 检测数据类型的几种方式
  6. 利用Git Bash 远程访问服务器
  7. access课程均不及格_access 第二章 查询 练习题 -
  8. 老衣的微服务实践简要指引2017版
  9. nginx集群_windows环境下搭建简单Nginx+Tomcat集群
  10. linux awstats搭建
  11. js逆向解析技巧--selenium
  12. function fnShowMessageBox(sTitle, sMsg)弹窗
  13. Django 1.10中文文档-聚合
  14. 清理C盘内存有用的办法
  15. TCP/UDP测试工具下载及使用教程
  16. Emscripten 单词_英语48个音标与单词字母组合拼读发音教程
  17. java 检测usb_如何从android中检测和打印USB打印机
  18. MTK Kernel Log 看电池信息
  19. android 高仿糯米团购 摇一摇 摇奖 效果
  20. 迷你TXT小说阅读器 V2.8 内测3 发布!

热门文章

  1. Python | 分析txt文档特定词汇的词频,以《天龙八部》为例
  2. 用户请求网站提示 网络连接错误
  3. 现货白银分析离不开SLV持仓分析
  4. python入门的小问题:计算复利函数
  5. 这朵玫瑰叫Jenny
  6. 亲身实践已解决:Mysql Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT
  7. 我国应该大力推广五笔字型输入法
  8. R语言与RStudio的下载与安装方法
  9. ipadmobile通用webapp框架前哨战
  10. rufus中gpt和mrb磁盘_系统重装,硬盘分区MBR和GPT选哪个好?看完才知原来有这讲究!...