学习笔记之搭建heartbeat集群

    HearBeat

         Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统。心跳服务和集群通信是高可用的两个关键组件,在 Heartbeat 项目里,由 heartbeat 模块实现了这两个功能。


         heartbeat (Linux-HA)的工作原理:heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未收到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运行在对方主机上的资源或者服务。


准备两台主机

主机


双机热备.先看看/etc/hosts。 master 和slave是两个节点。172.25.7.7是对外的IP。mine是我的真机。(当作网关了)

学习笔记之搭建heartbeat集群_第1张图片

配置yum源

[Server]
name=Red Hat Enterprise Linux Server
baseurl=http://172.25.7.250/rhel6.5/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[HighAvailability]
name=Red Hat Enterprise Linux HighAvailability
baseurl=http://172.25.7.250/rhel6.5/HighAvailability
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[ResilientStorage]
name=Red Hat Enterprise Linux ResilientStorage
baseurl=http://172.25.7.250/rhel6.5/ResilientStorage
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[ScalableFileSystem]
name=Red Hat Enterprise Linux ScalableFileSystem
baseurl=http://172.25.7.250/rhel6.5/ScalableFileSystem
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[LoadBalancer]
name=Red Hat Enterprise Linux LoadBalancer
baseurl=http://172.25.7.250/rhel6.5/LoadBalancer
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release


准备好需要安装的rpm包

以下只演示master的配置。slave执行相同的动作。

在拥有rpm包的目录执行安装命令(yum -y install *   ,注意yum源必须配置成我上面所示例的)

学习笔记之搭建heartbeat集群_第2张图片

进入heartbeat的配置文件主目录

hearbeat的文件主目录在/etc/ha.d下。默认是没有配置文件的,需要从帮助文档复制一份过来

看看配置文件,heartbeat的配置文件有3个。

ha.cf : 主配置文件

authkeys : 认证文件。里面有加密方式 。文件权限需要改成600

haresources :资源文件

       这个文件中定义了实现集群所需的各个软件的启动脚本,这些脚本必须放在/etc/init.d 或者
/etc/ha.d/resource.d 目录里 IPaddr 的作用是启动 Virutal IP,它是 HeartBeart 自带的一个
脚本;ldirectord 的作用是启动 ldirectord 监控程序,它会使 ldirectord.cf 中定义的 lvs 生效,
并监听其健康状;httpd 是 apache 服务的启动脚本。

学习笔记之搭建heartbeat集群_第3张图片

复制过来,并且修改authkeys的权限



配置ha.cf

keepalive 2 : 每2s发一次心跳包

deadtime 30:   节点死亡时间阀值,就是从节点在过了 30 后还没有收到心跳就认为主节点死亡

warntime 10:   发出警告时间

学习笔记之搭建heartbeat集群_第4张图片

initdead 60:  守护进程首次启动后应该等待 60 秒后再启动主服务器上的资源

udpport 12307 :  心跳信息传递的 udp 端口,使用端口 694 进行 bcast 和 ucast 通信(注意,该端口必须没有被其他进程占用,并且局域网内只有两个节点主机使用这个端口)

学习笔记之搭建heartbeat集群_第5张图片

bcast eth0: 选择网卡eth0 并且以UDP广播形式工作

学习笔记之搭建heartbeat集群_第6张图片

node master.wjx.cn: 双机热备中的一个节点,写在第一行的默认就是主节点

ping 172.25.7.250 :ping一个局域网内的其他主机,用来确定网络通畅。一般来说最好写成网关

学习笔记之搭建heartbeat集群_第7张图片

respawn :默认 heartbeat 并不检测除本身之外的其他任何服务,也不检测网络状况。
所以当网络中断时,并不会进行 Load Balancer 和 Backup 之间的切换。
可以通过 ipfail 插件,设置'ping nodes'来解决这一问题,但不能使用一个集群节点作为
ping 的节点。(注意:应该是lib64.默认是lib)

学习笔记之搭建heartbeat集群_第8张图片


配置authkeys

只是配置一下加密方式


配置 haresources

这里先以web集群为例子,其中ip地址必须填成一个局域网内没有任何人使用的一个IP


配置OK


将3个配置文件给slave复制一份。

学习笔记之搭建heartbeat集群_第9张图片


给master和slave都下载安装httpd(yum -y install httpd)

启动heartbeat(两边都启动)

开启后观察日志文进(/var/log/messages)

学习笔记之搭建heartbeat集群_第10张图片

观察master的ip地址(多了一个刚才写的那个172.25.7.7的IP)

学习笔记之搭建heartbeat集群_第11张图片


测试一下,将master.wjx.cn这台主机关机


master关机前。

master关机后。



web的heartbeat的配置就到此结束了。接下来演示一下mysqld的双机热备heartbeat。


首先数据库最重要的是存储。drbd就是一个同步数据的一个工具。首先要的是安装drbd。其次就是物理设备。两台主机都应该拥有大小一样的一块硬盘设备。


MySQL的双机热备

安装drbd,准备相关的rpms。

安装(使用网上下载tar包制作drbd的源码包的方法--->  点击打开链接)

学习笔记之搭建heartbeat集群_第12张图片

drbd的配置文件位置

学习笔记之搭建heartbeat集群_第13张图片

随便起个名字,编辑,但必须以res结尾

vim /etc/drbd.d/example.res

内容如下

学习笔记之搭建heartbeat集群_第14张图片

文件编辑完成后给slave也复制一份。

master和slave有配置文件example.res后执行

学习笔记之搭建heartbeat集群_第15张图片

启动drbd服务(两边都开启,一个开启后,另一个会等待)

学习笔记之搭建heartbeat集群_第16张图片


将master设为主,而slave设为从,开始同步数据.查看

学习笔记之搭建heartbeat集群_第17张图片

同步很缓慢阿。。。我的是4G的硬盘

学习笔记之搭建heartbeat集群_第18张图片

以上效果看到后就可以格式化磁盘了


mkfs.ext4 /dev/drbd1   就可以


格式化后,将/dev/drbd1挂载到/var/lib/mysql

启动mysqld。等待初始化后(会给/var/lib/mysql中写数据),再将mysqld关掉

学习笔记之搭建heartbeat集群_第19张图片

再关掉 。 。 。




开始配置集群

卸载/dev/drbd1

umount /dev/drbd1

先将master和slave都设置成secondary。

学习笔记之搭建heartbeat集群_第20张图片


修改heartbeat的资源配置文件haresources

学习笔记之搭建heartbeat集群_第21张图片

给slave也复制一份


OK,完成了。重新启动heartbeat .







你可能感兴趣的:(运维)