heartbeat v3版之web高可用初体验

系统:centos6.4最小化

heartbeat-3.0.4-2.el6.x86_64.rpm,heartbeat-libs-3.0.4-2.el6.x86_64.rpm

搭建高可用集群之前,首要前提条件:

1、节点之间必须能够ssh互信通信

2、节点间需传递集群事务信息,网段选择

3、节点名称与hostname(uname -n)一致,不要使用dns解析

4、各节点之间保持时间上的同步

######################################################################

节点选择:

node1:192.168.31.115

node2:192.168.31.116

VIP:192.168.31.117

######################################################################

node1:192.168.31.115

1、ssh互信通信

ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ‘‘

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

node2:192.168.31.116同步此操作

2、节点名称与hostname

vim /ets/hosts

192.168.31.115 node1

192.168.31.116 node2

hostname node1

vim /etc/sysconfig/network

HOSTNAME=node1

node2:192.168.31.116同步以上操作

3、时间同步

# rdate -s time-b.nist.gov

启动例行计划任务

crontab -e

*/5 * * * * /usr/bin/rdate -s time-b.nist.gov

node2:192.168.31.116同步以上操作

#######################################################

准备工作已就绪,开始下载需要的工具

heartbeat-3.0.4-2.el6.x86_64.rpm,heartbeat-libs-3.0.4-2.el6.x86_64.rpm

下载网址:https://dl.fedoraproject.org/pub/epel/6/x86_64/repoview/

安装:

yum -y --nogpgcheck localinstall heartbeat-3.0.4-2.el6.x86_64.rpm,heartbeat-libs-3.0.4-2.el6.x86_64.rpm

cd /etc/ha.d/

复制heartbeat需要的三个配置文件:

cp -a /usr/share/doc/heartbeat-3.0.4/{authkeys,ha.cf,haresources} /etc/ha.d/

cd /etc/ha.d/

1、配置authkeys

auth 1

1 md5 hhhkkloooo:后接一段随机密码

生成随机数:

dd if=/dev/random bs=512 count=1|md5sum

[[email protected] heartbeat-3.0.4]# dd if=/dev/random bs=512 count=1|md5sum

记录了0+1 的读入

记录了0+1 的写出

19字节(19 B)已复制,0.000102463 秒,185 kB/秒

1b3b81cba0cb16a43195af2508a48ff8

注意:修改密钥文件为600的权限最好

2、配置主配置文件ha.cf

debugfile:调试文件

logfile:日志文件

logfacility:日志的设施,两者取其一

keepalive n:几秒发一次心跳信息

deadtime n:死亡时间

warntime n:警告时长

initdead n:第一个节点启动之后,等多久到第二个节点启动

udpport:udp监听的端口

baud n:串行

bcast:广播

mcast:多播,组播(生产环境建议使用多播)

ucast:单播(两个节点才能单播,最好不要使用这个),后接各自对方地址

auto_failback on:节点上来了,节点要不要转移回去

node:几个节点,当前集群

node hostname1

node hostnam2

ping:ping网关ip

hbaping fc-card-name

respawn hacluster /usr/lib/heartbeat/ipfail

msgfmt:信息管理格式

compression:是否启用压缩,启用什么压缩方式

一般配置节点名称与节点间集群事务信息传递就行,所以最简单的配置:(最好定义一个日志文件方便观察)

bcast:广播(启用广播)

node:几个节点,当前集群(定义当前集群间的节点)

node hostname1

node hostnam2

bcast   eth0

#node   ken3

node    node1

#node   kathy

node    node2

注意:启用logfile日志文件方便观察出错

3、配置资源

vi haresources

添加如下一行:

node1 IPaddr::192.168.31.117/24/eth0 httpd:定义主节点以及VIP以及服务

将配置完的三个文件一并复制到node2:192.168.31.116

scp ha.cf authkeys haresources node2:/etc/ha.d/

注意:检查下authkeys的权限

各节点安装httpd服务:

node1:

yum -y install httpd

echo "node1.my.com" >> /var/www/html/index.html

service iptables stop

setenforce 0

sed -i ‘s#SELINUX=enforcing#SELINUX=permissive#g‘ /etc/selinux/config

node2:

yum -y install httpd

echo "node2.my.com" >> /var/www/html/index.html

service iptables stop

setenforce 0

sed -i ‘s#SELINUX=enforcing#SELINUX=permissive#g‘ /etc/selinux/config

启动heartbeat服务

node1:

service heartbeat start

启动node2,在node1上远程启动node2

ssh node2 ‘service heartbeat start‘

浏览器输入:http://192.168.31.117即可观察到node1.my.com

在/usr/share/heartbeat下有个hb_standby脚本可以转换主备节点

执行该脚本,刷新浏览器,即可观察到node2.myc.om

另:

将httpd服务运用上nfs服务:

nfs server:192.168.31.113

安装nfs-utils rpcbind:

yum -y install nfs-utils rpcbind

mkdir /www/html -pv

echo "nfs.server.com" >> /www/html/index.html

vim /etc/exports

/www/html    192.168.31.0/24(rw,all_squash)

service rpcbind start

service nfs start

于是改变node1的配置文件haresources

vim haresources

将node1 IPaddr::192.168.31.117/24/eth0 httpd

改为:

node1 IPaddr::192.168.31.117/24/eth0 Filesystem::192.168.31.113:/share::/mnt/nfs::nfs httpd

然后复制到node2中

停掉heartbeat服务再启动

自行观察浏览器的效果

时间: 2024-12-16 18:38:11

heartbeat v3版之web高可用初体验的相关文章

heartbeat v2版CRM的高可用web集群的实现

上篇文章:heartbeat v1版CRM的高可用集群的实现 集群架构图 : 主节点(172.16.31.10) 客户端(172.16.31.12) Vitual IP(172.16.31.166)                            NFS IP(172.16.31.12) 从节点(172.16.31.11) 注:心跳信息传递借助eth0网卡实现 网络以及IP地址规划如下所示: 节点类型     IP地址规划          主机名      类型 主用节点     eth

heartbeat v1版CRM的高可用web集群的实现

实验环境规划: 实验环境: CentOS release 6.6(Final)  三台 IP地址: Node1: eth0:172.16.31.10/16 Node2:  eth0:172.16.31.11/16 Client: eth0:172.16.31.12/16 集群架构图 : 一.heartbeat特性介绍: 1.实现底层心跳传递 2.启动关闭集群服务 3.工作节点多达16个节点,由一个主节点和其他备节点组成 对称和非对称节点 4.启动时心跳信息由主节点发送 基于UDP的单播(Unic

Heartbeat v2 + haresouce 实现WEB高可用

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

CoroSync+Pacemaker实现web高可用

一.简介 CoroSync最初只是用来演示OpenAIS集群框架接口规范的一个应用,可以说CoroSync是OpenAIS的一部分,但后面的发展明显超越了官方最初的设想,越来越多的厂商尝试使用CoroSync作为集群解决方案.如Redhat的RHCS集群套件就是基于CoroSync实现. CoroSync只提供了message layer,而没有直接提供CRM,一般使用Pacemaker进行资源管理. CoroSync和Pacemaker的配合使用有2种方式:①Pacemaker以插件形式使用

heartbeat+iscsi+mysql实现双机高可用

8.heartbeat+iscsi+mysql实现双机高可用 虚拟地址的迁移 iscsi提供存储共享 (mysql 是application  也可以是ftp web等) 在iscsi服务器上:10.0.2.220 必修有两块磁盘./dev/sdb是用来共享的.   (1)安装iscsi服务器端软件    # yum install scsi-target-utils        (2)设置配置文件进行iscsi共享    # vim /etc/tgt/targets.conf    <tar

keepalive+haproxy实现web高可用

一)地址配置:上面的图可能有点乱,这里再梳理一下(准备四台主机) 主机1: 172.16.24.100(面向外网的地址) 172.16.24.222(vip地址,传递两台主机的心跳信息) 192.168.24.1  (面向内网的地址) 所需要安装的软件为(keepalived+haproxy) 主机2 172.16.24.66(面向外网的地址) 172.16.24.222(vip地址,传递两台主机的心跳信息) 192.168.24.1  (面向内网的地址) 所需要安装的软件为(keepalive

HAProxy基于KeepAlived实现Web高可用及动静分离

    前言     软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载均衡.LVS是基于Linux操作系统实现的一种软负载,而Haproxy则是基于第三方应用实现的软负载.Haproxy相比LVS的使用要简单很多,但跟LVS一样,Haproxy自己并不能实现高可用,一旦Haprox节点故障,将会影响整个站点.本文是haprox基于keepalived实现web高可用及动静分离.     相关介绍         HAProxy     haproxy是一款提供

CentOS6.5安装DRBD+MariaDB+Heartbeat实现数据库集群高可用

本实验使用两台服务器搭建: 系统                  CentOS6.5 tese02              IP:192.168.1.244 test03               IP:192.168.1.245 DRBD               版本:8.4.6 DRBD-UTIL       版本:8.9.2 MariaDB           版本:10.0.17 Heartbeat         版本:3.0.4 VIP                  

Python 3.8.0 正式版发布,新特性初体验 全面介绍

Python 3.8.0 正式版发布,新特性初体验 北京时间 10 月 15 日,Python 官方发布了 3.8.0 正式版,该版本较 3.7 版本再次带来了多个非常实用的新特性. 赋值表达式 PEP 572: Assignment Expressions 新增一种新语法形式::=,又称为"海象运算符"(为什么叫海象,看看这两个符号像不像颜表情),如果你用过 Go 语言,应该对这个语法非常熟悉. 具体作用我们直接用实例来展示,比如在使用正则匹配时,以往版本中我们会如下写: impor