Hearbeat高可用

一、HA(high available)高可用集群

常用HA方案:

keepalived使用VRRP(心跳可以走业务网络)协议,安装配置维护简单,适用于小型网络

Hearbeat使用心跳(必须有专门的心跳网络)进行通信和选举,安装配置维护复杂,适用于大型网络

使用建议:优先使用Keepalived,当Keepalived不够用的时候才选择Heartbeat

二、使用hearbeat实现

1.更改相应环境

/etc/init.d/iptables stop                 
getenforce 
hostname  master
logout
#关闭防火墙和Selinux,临时配置主机名,登出生效
/etc/init.d/iptables stop
getenforce 
hostname  slave
logout
vim /etc/hosts
192.168.1.200 master
192.168.1.201 slave
#修改两台主机的hosts文件,添加如上内容
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-6.repo    
yum clean all
yum makecache
#安装阿里yum源及扩展源
yum install -y  heartbeat   libnet
#安装heartbeat及其依赖包libnet

三、配置heartbeat

cd /usr/share/doc/heartbeat-3.0.4/
cp authkeys ha.cf haresources /etc/ha.d/
#拷贝配置文件模板
 vim /etc/ha.d/authkeys
#编辑主从通信文件,使用md5加密
auth 3
#1 crc
#2 sha1 HI!
3 md5 Hello!
chmod 600 /etc/ha.d/authkeys 
#更改文件权限
 vim /etc/ha.d/haresources 
#找到#node1  10.0.0.170 ,修改成如下
master   192.168.1.205/24/eth0:0 nginx
 cp /etc/ha.d/ha.cf /etc/ha.d/ha.cf.bak
> /etc/ha.d/ha.cf
vim  /etc/ha.d/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 eth0 192.168.1.201           #指定单播,从网卡0出去,对端IP为1.201         
auto_failback on               #是否允许主从强占
node master            
node slave
ping 192.168.1.1              #仲裁IP,一般配置为网关
respawn hacluster /usr/lib64/heartbeat/ipfail            #检测网络连通性,注意32位和64位路径不同
cd  /etc/ha.d/
scp -P60522 authkeys haresources ha.cf slave:/etc/ha.d/ 
#将配置文件拷贝至slave
vim  /etc/ha.d/ha.cf
#到slave上,更改对端IP,若网卡不同,还需更改网卡
ucast eth0 192.168.1.200

四、测试

yum install nginx -y
#主从服务器上都安装nginx作为测试
/etc/init.d/heartbeat start         #先启动主
echo "111master" > /usr/share/nginx/html/index.html 
ps aux | grep nginx              #nginx会自动启动,需要等待
/etc/init.d/heartbeat start         #再启动从
echo "222slave" > /usr/share/nginx/html/index.html 
/etc/init.d/heartbeat stop   #关闭主
#从上日志信息
tail -f /var/log/ha-log 
Jan 25 08:46:26 slave heartbeat: [2100]: WARN: node master: is dead
Jan 25 08:46:26 slave heartbeat: [2100]: info: Dead node master gave up resources.
Jan 25 08:46:26 slave heartbeat: [2100]: info: Link master:eth0 dead.
Jan 25 08:46:26 slave ipfail: [2127]: info: Status update: Node master now has status dead
Jan 25 08:46:27 slave ipfail: [2127]: info: NS: We are still alive!
Jan 25 08:46:27 slave ipfail: [2127]: info: Link Status update: Link master/eth0 now has status dead
Jan 25 08:46:29 slave ipfail: [2127]: info: Asking other side for ping node count.
Jan 25 08:46:29 slave ipfail: [2127]: info: Checking remote count of ping nodes.
#从会自动启动eth0:0虚拟网卡和Nginx服务
[[email protected] ha.d]# ip add           
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:1b:4e:e9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.201/24 brd 192.168.1.255 scope global eth0
    inet 192.168.1.205/24 brd 192.168.1.255 scope global secondary eth0:0
    inet6 fe80::20c:29ff:fe1b:4ee9/64 scope link 
       valid_lft forever preferred_lft forever
[[email protected] ha.d]# ps aux | grep nginx
root       2665  0.0  0.2  96464  2100 ?        Ss   08:45   0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx      2667  0.0  0.2  96852  2740 ?        S    08:45   0:00 nginx: worker process                   
root       2686  0.0  0.0 103248   872 pts/0    S+   08:46   0:00 grep nginx
时间: 2024-08-03 05:21:17

Hearbeat高可用的相关文章

HA高可用集群

HA即(high available)高可用,又叫做双机热备.简单的理解就是,机器A和机器B,正常是A提供服务,B待命闲置,当A宕机或则服务器宕掉,会切换至B机器继续提供服务,常用实现高可用开源软件有hearbeat和keepalived,其中keepalived有负载均衡的功能. 如图所示为一个HA架构,一个交换机下面有两台机器Web1和Web2,其中Web1为主节点,正常是它提供服务,而Web2备用节点是闲置的.Web1和Web2中间有一根心跳线,检查对方的存活状态.流动IP,也叫vip是对

浅谈mysql主从复制的高可用解决方案

1.熟悉几个组件(部分摘自网络)1.1.drbd     —— DRBD(Distributed Replicated Block Device),DRBD号称是 "网络 RAID",开源软件,由 LINBIT 公司开发.DRBD 实际上是一种块设备的实现,主要被用于Linux平台下的高可用(HA)方案之中.他是有内核 模块和相关程序而组成,通过网络通信来同步镜像整个设备,有点类似于一个网络RAID的功能.也就是说当你将数据写入本地的DRBD设备上的文件系统 时, 数据会同时被发送到网

基于corosync+pacmaker实现高可用集群

目前,corosync功能和特性已经非常完善了,所以pacmaker独立出来之后通常都将pacmaker和corosync结合来使用,corosync并没有通用的资源管理器,因此要借助pacmaker来实现 常用的资源管理器: ·cman:rgmanager ·crm: crm的资源约束有: ·location :资源对节点的偏好 ·colocation:排序约束:资源运行在同一节点上的可能性,需要一定评估的 ·order: 资源采取动作的次序 资源有很多属性,以下为最常见的几类 ·集群属性 ·

Linux集群系列之十——高可用集群之heartbeat安装配置

rhel 5.8 32bit heartbeat v2 ha web node1 node2 节点名称, /etc/hosts 节点名称必须跟uname -n命令的直行结果一致 ssh 互信通信, 时间同步 1先配置两个主机的ip 列如 192.168.1.11   192.168.1.12 VIP192.168.1.8  网关 192.168.1.1 配置两个主机的主机名#hostname node1.mylinux.com #hostname node2.mylinux.com 为了让主机名

mysql高可用方案

A.普通的主从复制――――客户端通过master对数据库进行读/写操作,Slave端作为备机,可用来进行一些查询,备份等操作. 优点:部署简单,易于扩展,能提供一定的数据保护. 缺点:如果master主机硬件故障且无法恢复,则可能造成部分未传送到Slave端的数据丢失:如果master端需要进行某些维护操作,将slave临时作为master提供服务之后,又需要重新搭建主从环境,会对master造成一定的性能影响. B.双主复制――――两个 mysql server互相将对方作为自己的master

drbd+mysql+heartbeat 高可用方案

1.方案简介 本方案采用Heartbeat双机热备软件来保证数据库的高稳定性和连续性,数据的一致性由DRBD这个工具来保证.默认情况下只有一台mysql在工作,当主mysql服务器出现问题后,系统将自动切换到备机上继续提供服务,当主数据库修复完毕,又将服务切回继续由主mysql提供服务. 2.方案优缺点 优点:安全性高.稳定性高.可用性高,出现故障自动切换. 缺点:只有一台服务器提供服务,成本相对较高,不方便扩展,可能会发生脑裂. 3.软件介绍 Heartbeat介绍 官方站点:http://l

CentOS6.5安装DRBD+MariaDB+Heartbeat实现数据库集群高可用

本实验使用两台服务器搭建: 系统                  CentOS6.5 tese02              IP:192.168.1.244 test03               IP:192.168.1.245 DRBD               版本:8.4.6 DRBD-UTIL       版本:8.9.2 MariaDB           版本:10.0.17 Heartbeat         版本:3.0.4 VIP                  

Linux 高可用(HA)集群之Heartbeat安装

大纲一.Heartbeat 的定义二.Heartbeat 的版本与组件三.Heartbeat 的各版本之间的区别 四.Heartbeat 集群的一般拓扑图 五.安装heartbeat 六.配置heartbeat 七.使用集群的其他几个相关配置 八.实验 推荐阅读: CentOS 6.3下DRBD+Heartbeat+NFS配置笔记 http://www.linuxidc.com/Linux/2013-06/85599.htm Heartbeat_ldirector+LB+NFS实现HA及LB.文

CentOS linux 高可用集群之heartbeat

CentOS linux 高可用集群之heartbeat Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里,由 heartbeat 模块实现了这两个功能. Heartbeat是Linux-HA工程的一个组件,自1999年开始到现在,发布了众多版本,是目前开源Linux-HA项目最成功的一个例子,在行业内得到了广泛的应用. 随着Linux在关键行业应用的逐渐增多,它必将提供一些