Chinaunix首页 | 论坛 | 博客
  • 博客访问: 425426
  • 博文数量: 62
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 740
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-10 21:59
个人简介

付出,终有回报!

文章分类

全部博文(62)

文章存档

2018年(6)

2017年(24)

2016年(6)

2015年(26)

分类: 系统运维

2015-05-23 22:52:00

本篇文章是在实验环境下完成的,能够实现对服务的高可用要求,亲测可行。至于生产环境的各中压力测试没有进行更好的优化,希望大家能按自己的需求借鉴,并且提出意见。 在此实验中,heartbeat作为一个高可用软件,对特定的服务进行监控和故障转移。

一、准备工作

实验环境:RHEL6.5
关闭实验机的Selinux和防火墙
搭建节点的主机:

172.25.18.12 new.example.com

172.25.18.13 new1.example.com
virtual IP :172.25.18.200 

软件包:

heartbeat-3.0.4-2.el6.x86_64.rpm       heartbeat-devel-3.0.4-2.el6.x86_64.rpm 
ldirectord-3.9.5-3.1.x86_64.rpm
         heartbeat-libs-3.0.4-2.el6.x86_64.rpm

 软件的下载可以去官网,我在云盘也有分享

二、搭建平台

1、 在两个节点上同时执行以下操作

1)安装软件包

[root@new ~]# yum localinstall *

使用 localinstall一次性解决依赖性问题

[root@new ~]# cd /etc/ha.d/

[root@new ha.d]# ls

harc  rc.d  README.config  resource.d  shellfuncs

[root@new ha.d]# less README.config

They are:

        ha.cf           Main configuration file

        haresources     Resource configuration file

        authkeys        Authentication information

README文件中有提示,搭建heartbeat需要以上三个文件。并且给出了如何找到这三个配置模板的方法。

[root@new ha.d]#  rpm -q heartbeat -d

根据提示,找到需要的三个配置文件,并将它们拷贝到/etc/ha.d

[root@new ha.d]# cp /usr/share/doc/heartbeat-3.0.4/ha.cf /usr/share/doc/heartbeat-3.0.4/authkeys /usr/share/doc/heartbeat-3.0.4/haresources .

authkeys文件中明确指出,此文件的权限必须为600


[root@new ha.d]# chmod 600 authkeys


2)编辑配置文件

[root@new ha.d]# vim ha.cf    编辑主配置文件

[root@new ha.d]# grep -v ^# ha.cf   在文件中修改过的参数
-------------------------------------------------------

logfacility local0

keepalive 2                    指定心跳间隔为2s

deadtime 30                   备用节点在30s后自动接管资源

warntime 10                   心跳延迟10s。10s内备用机不接受主节点心跳 ,就会发出警告

initdead 60                      重启后恢复网络的时间(至少deadtime的2倍)

udpport 694                    广播通信使用的端口

bcast eth0 # Linux          使用广播

auto_failback on              故障转换

node new.example.com        node之后必须是各节点的主机名,放在第一个的即为主备

node new1.example.com

ping 172.25.18.1              此处写的IP地址应是网关

respawn hacluster /usr/lib64/heartbeat/ipfail         检测和处理网络故障。如果是64位操作系统,那么就必须使用lib64。respawn选项是可选的,列出与heartbeat一起启动和关闭的进程,该进程一般是和heartbeat集成的插件,这些进程遇到故障可以自动重启。默认使用ipfail。

apiauth ipfail gid=haclient uid=hacluster          ipfail的运行用户和组
-------------------------------------------------------

[root@new ha.d]# vim authkeys

auth 1

1 crc

[root@new ha.d]# vim haresources

new.example.com IPaddr::172.25.18.200/24/eth0 mysqld        定义主节点,虚拟ip和监控的服务

在这个文件中写入执行脚本,IPaddr调用的是/etc/ha.d/resource.d下的相应脚本文件为了执行mysql,这个配置文件会查看三个文件/etc/init.d/,/etc/ha.d/rc.d 和/etc/ha.d/resource.d
heartbeat默认可用监控以下目录的服务:/etc/init.d/,/etc/ha.d/rc.d 和/etc/ha.d/resource.d

[root@new ha.d]# rpm -qa mysql

mysql-5.1.71-1.el6.x86_64

要确保系统中已经安装了mysql,否则haresources中的脚本无法正确执行

3)复制配置文件到另一个节点

[root@new ha.d]# scp authkeys ha.cf haresources 172.25.18.13:/etc/ha.d

因为两个节点的配置文件都一样,也可以只在一个节点上修改配置文件,然后再将其拷贝到其他节点上

 

2、开启服务进行测试

[root@new ha.d]# /etc/init.d/heartbeat start
两个节点的heartbeat服务都要打开

(1)一个节点上的测试
[root@new ha.d]# tail -f /var/log/messages

 
可以看到heartbeat已经启动,mysql也被启动了

[root@new ha.d]# ip addr show

172.25.18.200是这两个节点上的浮动IP,现在,172.25.18.12 new.example.com这台主机处于服务状态,所以会出现上图所示的那样。
[root@new ha.d]# mysql
mysql服务已经被打开了


(2)测试另一个节点
172.25.18.12 new.example.com上的heartbeat服务关闭,那么,自动的,hearbeat将会在172.25.18.13 new1.example.com上运行
和前一个节点进行同样的测试:



至此,HA平台就已经搭建好了,但这只是简单的平台,具体的内容,待续。。。。。。

阅读(2943) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~