heartbeat个人学习整理

Hearbeat :提供高可用服务开源软件:通过hertbeat软件可以将一台down机的服务器可以将服务转移到新的正常运转的服务器上,至少两台服务器,热备状态,从服务器监控着主服务器的状态,

Hearbeat:除控制ip资源漂移外更可以擅长对服务资源服务的控制,配置等可以控制服务数据库启动停止。

Keepalive:主要负责ip漂移

起源于HA开源软件

Hearbeat工作原理:主服务器发送心跳消息,从服务器监听心跳。监听有时间,1-2-3等

裂脑:由某些原因导致高可用服务之间检测不到对方的心跳。裂脑又被称为大脑垂直分割,分区集群

造成大脑垂直分割的原因及处理:

原因:心跳线坏、网卡,驱动、防火墙阻挡心跳消息、心跳网卡地址等信息、心跳方式不同。

处理:多条心跳线、利用智能设备检测到大脑垂直分割时强行关闭一个星心跳节点、做监控,实时监控处理。启动磁盘锁。增加仲裁机制。

 

如何开发程序判断裂脑

1,  只要被节点出现VIP就是报警

2,  严谨判断,备机出现VIP,并且主机及服务还活着,裂脑了(依赖报警)

Fence设备:智能电源管理设备服务器通过网口串口管理电源,类似远程管理卡,内置和外置,内置只能重启,

 

 

仲裁:节点双方ping自己的网关,ping不同自己关机,主备和仲裁设备fence连接

出问题时候把各自的村和状态写到仲裁设备里面。有仲裁设备区控制主备服务器的电源。

Stonith:hearbeat组件

步骤:

当备用服务器接收不到心跳stontih事件

备用服务器发送一个stounith复位命令道stonith设备

关闭主服务器的电力

Hearbeat ip 地址接管及故障转移

 

Hearbeat心跳消息大小为150字节,单播广播多播,串口

当主服务器恢复在线状态时,通过ip-request消息要求备机释放主服务器失败时被服务器获取资源,然后被分服务器关闭释放主服务器失败时后去的资源及服务

被服务器释放主服务器失败时去取的的资源后就会通过ip-request-resp消息通知主服务器他自己不再拥有该资源及服务,主服务器收到请节点的ip-request0resp消息后,启动失败时释放的资源和服务,斌开始提供正常访问的服务

心跳机制一般都是通过udp随意传输,多播端口694

Vip

一块网卡配置多ip采用别名,

别名现已经快被遗弃

另一种是辅助ip

Hearbeat 2.1.4 级以前采用别名iphearbeat2.1.4 以后采用辅助ip来提供vip服务

Keeplive软件一直是辅助ip来提供服务

Hearbeat:

三个分支:

Resourse Sagents

安装heartbeat步骤

环境准备

在实际生产环境中:

系统初始安装包

Web高可用需要如下环境:、

一台机器需要3快网卡,1快用于连接外网wan,一块用于内网lan数据装发,一块用于心跳线

 

数据库传输量小的环境:

数据库的环境一般只需要两块网卡,一块是内网lan数据传输网卡,一块是心跳连接网卡

数据量大的话还需要更多的网卡,做绑定。

本人系统环境是centos6.532位i686

需要安装的包

yum install tree nmap sysstat lrzsz dos2unix –y

禁用selinux

关闭iptables

配置ip

Master:192.168.0.181,VIP:192.168.1.181,心跳IP:192.168.2.181/24

Slave:192.168.0.183,VIP:192.168.1.183,心跳IP:192.168.2.183/24

配置主机名:vim/etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=data-1-1

~                 

配置hosts(两边都做):vim /etc/hosts

[root@data-1-1 ~]# cat /etc/hosts

127.0.0.1             localhost.localdomainlocalhost

::1          localhost6.localdomain6localhost6

192.168.2.181 data-1-1

192.168.2.183 data-1-2

设置路由(两边都做):

在Data1-2

route add -host 192.168.2.181 dev eth2

[root@data-1-2 ~]# route -n

Kernel IP routing table

Destination    Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.2.181  0.0.0.0         255.255.255.255UH    0      0       0 eth2

192.168.2.0    0.0.0.0         255.255.255.0   U    1      0        0 eth2

192.168.1.0    0.0.0.0         255.255.255.0   U    1      0        0 eth1

192.168.0.0    0.0.0.0         255.255.255.0   U    1      0        0 eth0

0.0.0.0        192.168.0.1     0.0.0.0         UG   0      0        0 eth0

在data1-1

route add -host 192.168.2.183 dev eth2

[root@data-1-1 ~]# route -n

Kernel IP routing table

Destination    Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.2.183  0.0.0.0         255.255.255.255UH    0      0       0 eth2

192.168.2.0    0.0.0.0         255.255.255.0   U    1      0        0 eth2

192.168.1.0    0.0.0.0         255.255.255.0   U    1      0        0 eth1

192.168.0.0    0.0.0.0         255.255.255.0   U    1      0        0 eth0

0.0.0.0        192.168.0.1     0.0.0.0         UG   0      0        0 eth0

 

使用公用yum源:  

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

使用epel原包安装

wget  http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm 
rpm -qa |grep epel
yum install heartbeat* -y

 

 

 

 

配置文件详解:

Heartbeat

Heartbeat高可用之间认证的方法有crc,sha1,md5我们采用sha1

生成认证号

echo liaoxz|sha1sum

vim /etc/ha.d/autokeys

[root@data-1-1 ha.d]# cat authkeys

 

auth 1

1 sha1 82a1b3651bc7adf1a7c4fe3f792f49a079055606

配置文件权限必须是600

 

 

配置文件:/etc/ha.d

资源控制目录:haresources

配置文件核心:Ha.cf

脚本放置配置文件夹:/etc/ha.d/resource.d

Authkey认证文件

Haresource资源配置文件

配置文件模板在/usr/share/doc/heartbeat-3.0.4/

参数配置文件ha.cf

#debugfile /var/log/ha-debug

#调试日志存放位置

#

#

#       File towrite other messages to

#

#logfile       /var/log/ha-log

#日志存放位置

#

#       Facilityto use for syslog()/logger

#

logfacility    local0

#在syslog服务中配置通过local设备接收日志

#

#       A noteon specifying "how long" times below...

#

#       Thedefault time unit is seconds

#               10 means ten seconds

#

#       You canalso specify them in milliseconds

#              1500ms means 1.5 seconds

#

#

#      keepalive: how long between heartbeats?

#

#keepalive 2

#心跳间隔时间每隔几次发送一次广播

#      deadtime: how long-to-declare-host-dead?

#

#               If you set this too low you will getthe problematic

#              split-brain (or cluster partition) problem.

#              See the FAQ for how to use warntime to tune deadtime.

#

#deadtime 30

#指定若备用节点在多长时间没收到主节点心跳信号,则立即接管节点服务资源

#       warntime:how long before issuing "late heartbeat" warning?

#       See theFAQ for how to use warntime to tune deadtime.

#

#warntime 10

#心跳延迟时间,10秒内收不到主节点的心跳信号则立即接管主节点资源

#

#       Veryfirst dead time (initdead)

#

#       On somemachines/OSes, etc. the network takes a while to come up

#       andstart working right after you've been rebooted. As a result

#       we havea separate dead time for when things first come up.

#       Itshould be at least twice the normal dead time.

#

#initdead 120

#首次运行需要等待120秒才启动主服务器的任何资源,用于单机启动时会遇到VIP绑定很慢

为正常现象

#bcast  eth0

#广播通讯使用设备 

#mcast eth0 225.0.0.1 694 1 0从心跳线多播

#多播使用的设备 地址段 端口ttl值 loop值

 

配置文件hrresurces

Vim /etc/ha.d/haresources

设置VIP

data-1-1 IPaddr::192.168.1.181/24/eth1

data-1-2 IPaddr::192.168.1.183/24/eth1

使用的是下面的脚本设置的参数

/etc/ha.d/resource.d/IPaddr 192.168.1.181/24/eth1start——启动VIP 清arp

 

放在resource.d下的内容都要支持start,stop的格式。

同样放在haresource下的内容指定的脚本也要支持。

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值