高可用集群HA(heartbeat)

简介:

HA  high available)高可用,又被叫做双机热备,用于关键性业务。 简单理解就是,有两台机器AB,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至B机器继续提供服务。

 

下面我们使用heartbeat来做HA集群,并且把nginx服务作为HA对应的服务。

 

试验准备:

两个机器都是centos6.5,网卡eth1 ip如下:

master  192.168.11.24

master1  192.168.11.23

 

1. hostname 设置好,分别为master   master1

2. 关闭防火墙 iptables-F; 

    关闭selinux setenforce0

3. vi /etc/hosts   // 增加内容如下: 

192.168.11.24 master  

192.168.11.23 master1

 

 

4. 安装epel扩展源:

rpm -ivh 'http://www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm'

5. 两个机器都安装heartbeat /libnet

yum install -y heartbeat*  libnet  nginx

 

6.  主上(aming)配置

cd /usr/share/doc/heartbeat-3.0.4/

cp  authkeys ha.cf   haresources   /etc/ha.d/

cd /etc/ha.d

vi authkeys  //加入

3 md5 Hello!

 

chmod600 authkeys

 

vi haresources  //加入

master 192.168.11.10/24/eth1:0  nginx  

 

vi ha.cf   //改为如下内容:

debugfile /var/log/ha-debug

logfile /var/log/ha-log

logfacility     local0

keepalive 2

deadtime 30

warntime 10

initdead 60

udpport 694

ucast eth1 192.168.11.23

auto_failback on

node   master

node    master1

ping  192.168.11.1(可以为网关)

respawn hacluster /usr/lib/heartbeat/ipfail

 

 

7.  把主上的三个配置拷贝到从上:

cd /etc/ha.d/

scp authkeys  ha.cf  haresources  master1:/etc/ha.d/

 

8. 到从上(aming1) 编辑ha.cf

vi /etc/ha.d/ha.cf   //只需要更改一个地方

ucast eth1 192.168.11.23 改为   ucast eth1 192.168.11.24 

 

9.  启动heartbeat :

先主,后从

service heartbeat start

 

10. 检查测试

ifconfig 看是否有 eth1:0

ps aux |grep nginx  看是否有nginx进程

 

11.  测试1

主上故意禁ping

iptables -I INPUT -p icmp -j DROP

 

12. 测试2

主上停止heartbeat服务

service heartbeat stop



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

相关文章
|
数据可视化 数据挖掘 大数据
【数据挖掘】数据规约中维归约、小波变换、主成分分析的讲解及实战(超详细 附源码)
【数据挖掘】数据规约中维归约、小波变换、主成分分析的讲解及实战(超详细 附源码)
526 0
|
设计模式 算法 前端开发
【面试题】什么是策略模式?用了策略模式之后,再也不用写那么多 if else 了,真香!
【面试题】什么是策略模式?用了策略模式之后,再也不用写那么多 if else 了,真香!
181 0
|
Web App开发 IDE 前端开发
10款最好用的IDEA插件让我们在2022年生活更美好
我知道你在寻找最好的 Intellij 插件。 瞧,你已经来到了最好的地方了。 在 JAVA 开发人员中广泛使用 Intellij 代码开发工具,无论是 Android 还是原生 JAVA。 有这么多 IDE 进入竞争,但拥有如此庞大的插件市场使 Intellij IDEA 成为最牛逼的赢家。 因此,在这里您将了解到一些精选的最佳 Intellij IDEA 插件。
10款最好用的IDEA插件让我们在2022年生活更美好
|
8月前
|
缓存 Rust 算法
从混沌到秩序:Python的依赖管理工具分析
Python 的依赖管理工具一直没有标准化,主要原因包括历史发展的随意性、社区的分散性、多样化的使用场景、向后兼容性的挑战、缺乏统一治理以及生态系统的快速变化。依赖管理工具用于处理项目中的依赖关系,确保不同环境下的依赖项一致性,避免软件故障和兼容性问题。常用的 Python 依赖管理工具如 pip、venv、pip-tools、Pipenv、Poetry 等各有优缺点,选择时需根据项目需求权衡。新工具如 uv 和 Pixi 在性能和功能上有所改进,值得考虑。
259 35
|
11月前
|
Web App开发 存储 监控
iLogtail 开源两周年:UC 工程师分享日志查询服务建设实践案例
本文为 iLogtail 开源两周年的实践案例分享,讨论了 iLogtail 作为日志采集工具的优势,包括它在性能上超越 Filebeat 的能力,并通过一系列优化解决了在生产环境中替换 Filebeat 和 Logstash 时遇到的挑战。
329 94
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能股票交易策略
使用Python实现智能股票交易策略
287 0
|
9月前
|
Dart 索引
鸿蒙应用开发从入门到入行 - 篇8:Tabs选项卡页签视图切换
在本篇文章里,您将掌握使用Tabs选项卡做栏目分类,这是未来应用开发中极为常用的组件
283 7
鸿蒙应用开发从入门到入行 - 篇8:Tabs选项卡页签视图切换
|
9月前
|
人工智能 API 数据库
Browser Use:开源 AI 浏览器助手,自动完成网页交互任务,支持多标签页管理、视觉识别和内容提取等功能
Browser Use 是一款专为大语言模型设计的智能浏览器工具,支持多标签页管理、视觉识别、内容提取等功能,并能记录和重复执行特定动作,适用于多种应用场景。
2608 0
Browser Use:开源 AI 浏览器助手,自动完成网页交互任务,支持多标签页管理、视觉识别和内容提取等功能
|
计算机视觉 Python
opencv 处理图像去噪的几种方法学习
OpenCV 提供了多种图像去噪的方法,以下是一些常见的去噪技术以及相应的 Python 代码示例: 均值滤波:使用像素邻域的灰度均值代替该像素的值。
245 0