基于heartbeat V2 crm 的lamp高可用

 

实验环境:

虚拟机ha1:192.168.61.130

虚拟机ha2:192.168.61.132

虚拟机nfsserver:192.168.61.136

vip:192.168.61.100

目的:

使用heartbeat V2 crm(hb_gui)实现lamp+nfs+wordpress的高可用.

为了实验简便,lamp环境直接用yum配置,配置好的mysql数据库存放位置再重新挂载到nfs

注意事项:

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

服务端/etc/ntp.conf供参考:

driftfile /var/lib/ntp/drift

restrict-6 default kod nomodify notrap nopeer noquery

restrict  127.0.0.1

restrict -6 ::1

restrict 192.168.61.0 mask 255.255.255.0 nomodify

restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap noquery notrust

server 127.127.1.0

fudge 127.127.1.0 stratum 8

server 220.130.158.71 prefer

server 220.130.158.51

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

注意:设置重启服务后一定要等10-15分钟再尝试同步,命令:ntpdata 主机名,对比两

机时间是否同步命令:data;ssh 192.168.61.130 ‘data’

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

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

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

保持一致;

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

# ssh-keygen -t rsa -P ‘‘

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

(d) .一定要确保SELINUX关闭,iptables清空

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

nfsserver设置共享存储

1. 建立mysql数据库存储目录:

mkdir /mysqldata

mkdir /wordpress

2. 发布:

vim /etc/exports添加

/mysqldata192.168.61.0/24(rw,no_root_sqlash)

/wordpress192.168.61.0/24(rw,no_root_sqlash)

3. 启动nfs:

service nfs start

ha1配置

1. yum -y install php php-mysqlmysql-server mysql

安装后的php配置文件(yum 安装的php默认用插件模式):

/etc/httpd/conf.d/php.conf

安装后的mysql:

/var/lib/mysql/  默认的数据库文件存放位置

servicemysqld start

servicehttpd start

2.测试php:

(a). vim/var/www/html/index.php

添加一下内容:

<?phpphpinfo(); ?>

(b). 浏览网页http://localhost/index.php 显示php状态信息即为成功安装

3.测试mysql

输入mysql -u root登陆,顺便修改密码,这里为123456

SET PASSWORDFOR ‘root‘@‘localhost‘=PASSWORD(‘123456‘);

4.转移mysql数据库到nfs

(a).先停止数据库服务

servicemysqld stop

(b).复制原有数据库信息到nfs

scp -r/var/lib/mysql/* 192.168.61.136:/mysqldata

(c).删除原有数据库信息

rm -rf/var/lib/mysql/*

(d).挂载nfs

mount -tnfs 192.168.61.136:/mysqldata /var/lib/mysql/

(e).修改权限

chown -Rmysql:mysql /var/lib/mysql/*

(f).重新启动mysql服务测试

servicemysqld start

5.安装wordpress

(a).先挂载mount -t nfs 192.168.61.136:/wordpress/var/www/html/

(b).下载wordpress-4.3.1-zh_CN.tar解压到/var/www/html

(c).登陆mysql增加wordpress数据库和用户wordpress,密码123456

mysql -uroot -p

createdatabase wordpress;

GRANTALL ON *.* TO [email protected]‘127.0.0.1‘ IDENTIFIED BY ‘123456‘;

(d).浏览器运行http://localhost/wp-admin/install.php安装

可能会提示以下错误

把内容复制下来,手动创建wp-config.php就可以了

再按要求填写一些信息, 安装成功

6.安装heartbeat V2

(a).先安装epel源,系统源没有libnet

wget ftp://ftp.pbone.net/mirror/dl.iuscommunity.org/pub/ius/archive/Redhat/6/i386/epel-release-6-5.noarch.rpm

rpm -ivh epel-release-6-5.noarch.rpm

(b).安装依赖包:

yuminstall net-snmp-libs libnet PyXML

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-gui-2.1.4-12.el6.x86_64.rpm

(c).编辑ha.cf 文件

vim /etc/ha.cf内容如下:

crm on #开启crm,同时会自动禁用haresources

logfacility local0#日志使用rsyslog中local0设定

keepalive 1 #监听频率,每1秒

deadtime 3 #死亡判断时间

warntime 2 #异常警告时间

mcast eth0 225.0.0.1 694 1 0 #组播地址设定

auto_failback on #修复后自动上线

node    ha1 #节点设置

node    ha2#节点设置

ping 192.168.61.2 #第三方仲裁设定

(d).编辑authkeys文件

auth 2

#1 crc

2 sha1HI! #密钥短语越长越随机越好

#3 md5Hello!

ha2配置

 

    1.安装heartbeat V2

(a).先安装epel源,系统源没有libnet

wget ftp://ftp.pbone.net/mirror/dl.iuscommunity.org/pub/ius/archive/Redhat/6/i386/epel-release-6-5.noarch.rpm

rpm -ivh epel-release-6-5.noarch.rpm

(b).安装依赖包:

yuminstall net-snmp-libs libnet PyXML

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-gui-2.1.4-12.el6.x86_64.rpm

(c).编辑ha.cf 文件

vim /etc/ha.cf内容如下:

crm on #开启crm,同时会自动禁用haresources

logfacility local0 #日志使用rsyslog中local0设定

keepalive1 #监听频率,每1秒

deadtime3 #死亡判断时间

warntime2 #异常警告时间

mcasteth0 225.0.0.1 694 1 0 #组播地址设定

auto_failbackon #修复后自动上线

node    ha1 #节点设置

node    ha2 #节点设置

ping192.168.61.2 #第三方仲裁设定

(d).编辑authkeys文件

auth 2

#1 crc

2 sha1HI! #密钥短语越长越随机越好

#3 md5Hello!

 

    2. yum -y installphp php-mysql mysql-server mysql

安装后的php配置文件(yum 安装的php默认用插件模式):

/etc/httpd/conf.d/php.conf

里面有 /usr/lib64/httpd/modules/libphp5.so 模块文件

安装后的mysql:

/var/lib/mysql/  默认的数据库文件存放位置

servicemysqld start

mysql -uroot -p 登陆一次,查看数据库是否正确

servicehttpd start

    3.测试php:

浏览网页http://localhost/index.php 显示wordpress,可以登陆留言即正常

    4. 运行hb_gui设置资源

hb_gui需要一个特定用户登录到hb_gui上操作,/etc/passwd下的hacluster,我们必须为它添加密码,

因为它不允许空密码登录。

echo "123456" |passwd --stdinhacluster  每个需要运行hb_gui的节点都需要设置。

输入 hb_gui & 运行

添加资源:

先添加一个组webservice,按顺序把vip,nfs,mysqld,httpd添加进去

然后分别启动ha1和ha2的heartbeat:

serviceheartbeat start

在其中一台启动hb_gui就可以看到当前的节点和资源的分配。其中一台故障,资源都会自动切换到另一台,wordpress访问实现高可用

时间: 2024-10-12 16:02:08

基于heartbeat V2 crm 的lamp高可用的相关文章

基于heartbeat v2 crm实现基于nfs的mysql高可用集群

前言 因heartbeat v1内置的资源管理器haresource功能比较简单,且不支持图形化管理,所以heartbeat v2不再支持haresource,转而使用更加强大的资源管理器crm进行集群管理.本文将讲解如何基于heartbeat v2 crm实现基于nfs的mysql高可用集群. 高可用实现 实验拓扑 实验环境 node1:172.16.10.123 mariadb-5.5.36 CentOS6.6 node2:172.16.10.124 mariadb-5.5.36 CentO

通过LAMP组合,基于heartbeat v2 crm实现HA

Heartbeat的定义  Heartbeat 项目是 Linux-HA 工程的一个组成部分,也是目前开源HA项目中最成功的一个例子,Linux-HA的全称是High-Availability Linux,这个开源项目的目标是:通过社区开发者的共同努力,提供一个增强linux可靠性(reliability).可用性 (availability)和可服务性(serviceability)(RAS)的群集解决方案,它实现了一个高可用集群系统.心跳服务和集群通信是 高可用集群的两个关键组件,在 Hea

基于heartbeat v2 crm实现HA高可用性的 LAMP+wordpress

一 Heartbeat 基本理论 二  安装LAMP+Wordpress 三  安装Heartbeat v2 crm 四  设置Heartbeat 和LAMP+Wordpress的HA 高可用性

基于heartbeat v2 crm实现配置基于nfs的mysql HA集群

主机规划: 高可用服务器安装v2版本的heartbeat,同时这两个节点上安装有mysql,运行时只有一个节点可以运行mysql,另外一个节点备用,后端有一个nfs共享存储,用于提供共享目录,用于存储数据库的数据. IP地址设置为: HA1:172.16.103.1 HA2:172.16.103.2 NFS:172.16.103.3 实验过程: 一.准备NFS服务器 # mkdir -pv /nfs/shared # groupadd -g 3306 mysql # useradd -u 330

heartbeat V2实现MySQL+NFS高可用

heartbeatV2实现MySQL+NFS高可用  实验前准备 1.时间需要同步,建议使用NTP服务器同步时间并且创建时间同步计划   #ntpdate 172.16.0.1  //第一个节点   #ntpdate 172.16.0.1  //第二个节点   crontab  -e     */3 * * * *  /usr/sbin/ntpdate 172.16.0.1 > /dev/null 2.root用户基于密钥认证的时候 ssh-keygen -t rsa -P '' //节点一 s

Heartbeat v2 + haresouce 实现WEB高可用

一.简介 heartbeat最后一个v2版本是2.1.4,可以使用v1版本的haresource和crm,本实验以haresource为crm来讲解WEB的HA,haresource是不支持资源的监控操作,因此当资源出现了挂起,异常问题时不会导致heartbeat资源的转移,就存在问题,因此需要切合其他方式来实现资源的健康控制,这边我使用自己写得脚本的SHELL脚本来实现. 二.拓扑 三.配置 0.  HA前提: 1.时间同步(心跳信息要时刻一致) utpdate  ..... 2.主机名通信(

高可用集群之heartbeat v2--基于CRM实现mysql高可用集群(未完)

实验说明: 本实验基于heartbeat的crm,实现对mysql服务的高可用,并没有高可用mysql的数据. 未完部分:使用hb_gui配置挂载nfs时,指定挂载选项,失败. mysql数据和配置文件放在nfs共享存储上 mysql配置文件使用--default-extra-file指定 mysql用户对nfs共享的有读写权限,nfs服务器和mysql所在服务器的mysql的id号要保持一致 在nfs服务器上 1 修改hostname # vim /etc/sysconfig/network

基于Corosync + Pacemaker+DRBD实现MySQL高可用集群

前言 在众多的高可用集群解决方案中,除了Heartbeat之外,Corosync也能提供类似于Heartbeat一样的功能,而且目前RedHat官方提供的高可用集群解决方案的程序包都以Corosync为主,所以在未来的日子Corosync会逐渐取代Heartbeat.本文带来的是基于Corosync + Pacemaker+DRBD的MySQL高可用集群解决方案. 相关介绍 Corosync Corosync是从OpenAIS中分支出来的一个项目,它在传递信息的时候可以通过一个简单的配置文件来定

基于Keepalived实现LVS双主高可用集群

前言 前面说过基于heartbeat的LVS高可用方案,今天带来另一种解决方案:基于Keepalived实现LVS双主高可用集群.什么是Keepalived呢,keepalived观其名可知,保持存活,在网络里面就是保持在线了, 也就是所谓的高可用或热备,用来防止单点故障的发生.本文将详细讲述Keepalived工作原理及高可用解决方案的实现. 相关介绍 Keepalived简介 Keepalived采用VRRP(virtual router redundancy protocol,虚拟路由冗余