HeartBeat v2实现高可用LAMP

案例:基于heartbeat
v2 crm实现HA LAMP组合;要求:部署wordpress,用于编辑的文章中的任何数据在节点切换后都能正常访问;

配置HA集群的前提:

(1)先搭建需要用到的环境:

#
yum install net-snmp-libs libnet PyXML

# yum install libnet

#
rpm -ivh heartbeat-2.1.4-12.el6.x86_64.rpm
heartbeat-pils-2.1.4-12.el6.x86_64.rpm
heartbeat-stonith-2.1.4-12.el6.x86_64.rpm

这里的heartbeat已经做出了rpm包,libnet包在eprl源中,请确保安装epel源,网上可以下到源码包直接编译安装

node1.com IP为172.16.37.20

node2.com IP为172.16.37.21

(2)建立各节点之间的root用户能够基于密钥认证

1.Client建立公钥和私钥

# ssh-keygen -t rsa -f /root/.ssh/id_rsa -P
‘‘

2.把Client的公钥发给Server

# ssh-copy-id -i
/root/.ssh/id_rsa.pub [email protected]

(3)修改hosts文件,把node1.com和node2.com加入

节点间需要通过主机名互相通信,必须解析主机至IP地址;

(a) 建议名称解析功能使用hosts文件来实现;

(b) 通信中使用的名字与节点名字必须保持一致:“uname -n”命令,或“hostname”展示出的名字保持一致;

(4)修改主机名

# vim
/etc/sysconfig/network

(5)节点间时间必须同步:使用ntp协议实现;

# ntpdate
time.windows.com;ssh 172.16.37.21 ‘ntpdate time.windows.com‘

(6)开启多播模式

#
ip link set eth0 multicast on|off

(7)注意:定义成为集群服务中的资源,一定不能开机自动启动;因为它们将由crm管理;

#
chkconfig httpd off

# chkconfig mysqld
off

(8) 考虑仲裁设备是否会用到;

修改配置文件

/etc/ha.d目录下:

# cp
/usr/share/doc/heartbeat-2.1.4/ha.cf authkeys /etc/ha.d/

ha.cf: 主配置文件,定义各节点上的heartbeat HA集群的基本属性;

authkeys:集群内节点间彼此传递消息时使用加密算法及密钥;

haresources: 为heartbeat v1提供资源管理器配置接口;v1版本专用的配置接口;

(1)编辑authkey文件

先用openssl生成一个随机数 # openssl rand -base64 16

#
vim /etc/ha.d/authkeys

auth 2

#1
crc

2 sha1 Td3P98V5kyv4+OtidCxQ2A

#3
md5 Hello!

[[email protected] ha.d]#
chmod 600 authkeys

#
chmod 600 /etc/ha.d/authkeys

(2)编辑ha.cf文件

#debugfile /var/log/ha-debug 是否开启调试功能,已经调试功能的文件位置

logfile       
/var/log/ha-log 日志文件的保存位置

#keepalive 1  每个多长时间发送一次心跳信息,默认单位为s,也支持以ms为单位

#deadtime 10  在检测不到对方心跳,替换的时间

#warntime 8   警告时间

#initdead 120启动heartbeat后多长时间开始检查心跳

udpport 694  基于那个端口检测心跳信息

#bcast 
eth0            # Linux  linux广播的端口

mcast eth0 225.0.10.1 694 1 0 多播的地址

#ucast eth0 192.168.1.2 组播的地址

#compression    bz2 压缩传输算法         on 主节点启动是否自动切换回主节点

ping 172.16.0.1 仲裁设备,可以指向网关

#ping_group group1 10.10.10.25410.10.10.253仲裁设备组

#debug 1debug的级别

#compression_threshold 2压缩的最低大小,单位为kb

node node1.com node节点,切记,本处不能使用ip地址

node node2.com node节点,切记,本处不能使用ip地址

crm on 以crm的模块开启

为用户hacluster创建密码,在安装heartbeat-gui时,会自动安装此用户

echo 123456 |passwd --stdin
hacluster

将配置好的配置文件拷到node2一份

#
scp /etc/ha.d/ha.cf /etc/ha.d/authkeys node2.com:/etc/ha.d

准备nfs服务器,并使apache用户对其有读写执行的权限,并准备主页

# vim /etc/exports

/var/www/html   172.16.0.0/16(rw)

/data/database   172.16.0.0/16(rw)

用service nfs
start启动NFS服务

添加mysql用户,注意要一致

[[email protected]
~]# groupadd -g 306 mysql

[[email protected]
~]# useradd -g 306 -u 306 mysql

通过图形界面配置相关信息

#
service heartbeat start;ssh node2.com ‘service heartbeat start‘

# hb_gui &

时间: 2025-01-02 15:29:52

HeartBeat v2实现高可用LAMP的相关文章

heartbeat v2配置高可用web集群和基于nfs搭建MySQL高可用集群

安装环境:Centos 6.4, httpd2.4,mysql5.5,heartbeat v2 提供两台机器node1和node2,在/etc/hosts文件中添加名称解析,并且主机名称要与节点名称要相同,即uname -n的名称要和hosts定义的名称必须一样. #   IP                         HOSTNAME             ALIAS 10.204.80.79     node1.mylinux.com     node1 10.204.80.80  

15、 Heartbeat+DRBD+MySQL高可用架构方案与实施过程细节

15. Heartbeat+DRBD+MySQL高可用架构方案与实施过程细节 参考自:http://oldboy.blog.51cto.com/2561410/1240412 heartbeat和keepalived应用场景及区别 很多网友说为什么不使用keepalived而使用长期不更新的heartbeat,下面说一下它们之间的应用场景及区别: 1.对于web,db,负载均衡(lvs,haproxy,nginx)等,heartbeat和keepalived都可以实现 2.lvs最好和keepa

Mysql+DRBD+Heartbeat 实现mysql高可用的双击热备(DRBD篇)

DRBD官方tar包下载地址:   http://oss.linbit.com/drbd/ 环境介绍: 系统版本:CentOS 6.4 (64位) 内核版本  2.6.32-358.el6.x86_64 软件版本:drbd-8.4.3.tar.gz 主:10.0.0.1   从:10.0.0.2 两台机器上的hosts都需要修改: [[email protected] ~]# vim /etc/hosts 10.0.0.1    node1 10.0.0.2    node2 两台服务器双网卡,

Mysql+DRBD+Heartbeat 实现mysql高可用的双机热备(mysql+heartbeat篇)

*************************************部署MYSQL******************************************* yum -y install  gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake bison* useradd mysql -d /usr/loc

Heartbeat+Drbd+NFS高可用实现

继续之前的操作,来完成heartbeat+drbd+nfs高可用的实现. heartbeat+drbd还是使用原来的环境即可,然而需要添加一台nfs客户端,客户端的信息如下: 主机名 IP地址 角色 server136.contoso.com 192.168.49.136 nfs客户端 一.环境准备 1)注意:因为我的客户端是192.168.49.0/24端,所以这里需要把VIP改为这个网段,所以先修改两个节点的haresources文件,将VIP修改为192.168.49.100.可以根据实际

Heartbeat+Drbd+MySQL高可用

一.环境介绍 继续使用之前heartbeat+drbd+nfs的环境,192.168.49.0/24网段用来ssh远程连接,172.16.49.0/24用来做心跳连接,并且也做drbd同步数据使用.因为中间做了好多改变,这里再次给出环境的配置情况. 主机名 角色 IP地址 heartbeat01.contoso.com heartbeat+drbd+mysql(节点1) eth0:192.168.49.133 eth1:172.16.49.133 heartbeat02.contoso.com

Heartbeat+DRBD+MySQL高可用方案

Heartbeat+DRBD+MySQL高可用方案 =============================================================================== 概述: =============================================================================== 方案介绍  1.方案介绍及优缺点 ★方案介绍 本方案采用Heartbeat双机热备软件来保证数据库的高稳定性和连续性,数

Linux基于heartbeat配置httpd高可用服务

Heartbeat是一个基于Linux开源的,被广泛使用的高可用集群系统.我们可以基于Heartbeat构建web高可用服务环境.本文在CentOS 6.5下做了一个简单示例,并对其日志进行了初步分析,供大家参考. 有关Heartbeat的相关知识,可以参考: Heartbeat 集群组件概述 Heartbeat 安装及配置 一.配置host解析及网络 ###主机名配置,与/etc/hosts中的解析两者配置保持一致 [[email protected] ~]# more /etc/syscon

Heartbeat+LVS+Ldirectord高可用&负载均衡

集群技术主要分为三大类: 高可用性(High Available Cluster),例:Linux-HA 负载均衡(Load balancing Cluster),例:LVS.MOSIX 高性能计算(High Performance Computing),例:Beowulf 我们这里使用 RHEL5.2,LVS,Linux-HA,Ldirectord,构造一个高可用的负载均 衡集群系统.如图: Load Balancer 是整个集群系统的前端,负责把客户请求转发到 Real Server 上.