Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统。通过Heartbeat我们可以实现双机热备,以实现服务的持续性。

 linux下基于heartbeat的简单web服务的高可用集群搭建

首先规划好两台主机作为heartbeat的双机热备,命名为node1.lvni.cc(主) ;node2.lvni.cc,

 node1的eth0IP :192.168.157.148  Vip eth0:0:192.168.157.149

 node2的eth0IP :192.168.157.150

 

规划完成后,对两节点做好准备

 1、更改主机名,使得两台主机能够互相解析

 在两台主机上分别执行命令 hostname node1.lvni.cc /node2.lvni.cc(临时生效)

 修改主要配置文件,都要修改(永久生效)

wKiom1Uruc6S9EECAAB0GBIZcKk934.jpg

注意uname -n (一定要同步)


2、通过ssh生成密钥,建立上机互信

在两节点上分别生成key 文件拷贝到对方节点

wKioL1UrvHuDXGDeAAFWGdNiU_o294.jpg

wKiom1UruzritssuAAHKsk9ny70494.jpg


 执行完成后即可免密登陆

wKioL1UrvXDx4Dc6AABh943Z82k294.jpg

wKioL1Urva2DcSH4AAB5Neruf20634.jpg


3、将两节点进行时间同步

可以在node1节点上简单搭建ntp服务器,node2可以通过crontab进行同步时间,每五分钟同步一次

wKiom1UrvXPCuyNNAABfWYG78-A186.jpg


一切就绪后,安装heartbeat

wKioL1Urv47iKsQLAAI7wR43U88262.jpg


要解决依赖关系,使用yum安装

wKioL1Urv5-x9y53AALeKJGckmI390.jpg


安装完成。

对heartbeat进行配置

拷贝/usr/share/doc/heartbeat-2.1.4目录下的authkey ha.cf haresources文件至/etc/ha.d目录下

注意authkey权限为600 其他权限不变

wKioL1UrwUWxzBZ_AAF0Slix9fM022.jpg

wKiom1UrwDugpkpbAAFJOfiyPZk063.jpg

完成后进行配置

authkey三种加密

在这进行简单的crc加密

wKioL1Urwg7BtGAgAACePxf4ZPI889.jpg


ha.cf文件,主要定义节点

wKioL1UrwkLCRR3uAADQPBKhgJs338.jpg


重要:haresources资源文件的配置。

wKioL1Urwr_SzgFIAAElHvFlbiE109.jpg

定义了虚拟IP httpd


主要两节点的配置完全一致!


完成后,在两节点安装httpd服务

首先测试httpd服务

wKiom1UrwxnyfYmrAAB2NKly0lA864.jpg

wKiom1UrwyqylR3jAACEhSLJKrM411.jpg


完成后,启动heartbeat

wKioL1UrxPKDhHTWAAEYKB6iiSA707.jpg

查看节点IP

wKiom1Urw_CiLdupAAMKlDXOL60494.jpg

wKioL1UrxVDjW1HMAAKcZCSCxaU298.jpg

进行初始测试

wKiom1Urw_CiLdupAAMKlDXOL60494.jpg

wKioL1UrxVDjW1HMAAKcZCSCxaU298.jpg


wKioL1UrxffgMT_TAAB7Olu2yI8659.jpg


现在通过heartbeat自带脚本standby停掉node1

wKiom1UrxSLCnVa0AAE5_Mpog30475.jpg


查看网站

wKiom1UrxU2wdvVEAAB6cFfOCc0195.jpg

查看IP

wKioL1UrxtHxOryFAAKHwwc2POM869.jpg

wKiom1UrxYLy775dAAJcE_03v-8858.jpg

 

成功!并且可以通过tail -f /var/log/message 查看日志信息。