hearbeat集群+V1版本资源管理器(haresources)配置

高可用集群实现方式很多,下面介绍hearbeat集群+V1版本资源管理器(haresources)配置

有几个注意事项:

1.  双方要同步时间,可以做定时任务

[[email protected]]# crontab -e
*/4 * * * */usr/sbin/ntpdate 172.16.0.1 &>/dev/null

2.  节点之间必须要通过主机名互相通信,建议使用hosts文件,节点的名字要与”uname –n 命令保持一致”

[[email protected] tools]# cat/etc/hosts
127.0.0.1   localhostlocalhost.localdomain localhost4 localhost4.localdomain4
::1         localhostlocalhost.localdomain localhost6 localhost6.localdomain6
172.16.0.1 server.magelinux.com server
172.16.33.1 server
172.16.33.2 cluser
172.16.33.3 client1
172.16.33.4 client2

3.  需要仲裁设备,此处使用网关做仲裁设备

4.  彼此root用户能基于ssh密钥方式进行通信

[[email protected] data]#ssh-keygen -t rsa
[[email protected] data]#ssh-copy-id cluser[A1]

准备好安装包

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   #stonith是为了避免资源分裂时资源争用时导致数据损坏

安装方法:

首先需要安装其依赖的包

yum install –y net-snmp-libs libnet PyXML
rpm -ivh heartbeat-2.1.4-12.el6.x86_64.rpmheartbeat-pils-2.1.4-12.el6.x86_64.rpmheartbeat-stonith-2.1.4-12.el6.x86_64.rpm

安装完成

1.2 配置heartbeat

heartbeat的配置文件是通过样例的方式提供的,其样例文件在/usr/share/doc/heartbeat-2.1.4/

cd /usr/share/doc/heartbeat-2.1.4/

ls

ha.cf     #主配置文件

authkeys  #节点之间互相通信的密钥文件,其权限必须是400或600

haresources #heartbeat v1版本的资源管理器的配置文件

[[email protected] heartbeat-2.1.4]# cp -p  ha.cf authkeys  haresources /etc/ha.d/ #将此三个配置文件拷贝至/etc/ha.d/目录下

[[email protected] ha.d]# vi ha.cf

一般修改成之下几项就可以了

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

mcast eth0 225.1.1.2 694 1 0 #通过多播方式,运行eth0 多播地址为225.1.1.2的694端口  1表示TTL为1,表示不运行进行转发,0表示loop次数

auto_failback on        # 此项表示主节点发生故障恢复后是否需要把原来的资源夺回来,                                    on表示夺取回来

node server

node cluser           #集群内节点的名称,必须跟”uname -n”保持一直

ping                 #仲裁设备可以有多个,在ping_group中定义

compression   bz2    #是否启动bz2压缩

compression_threshold 2 #表示大于2k时启动压缩

[[email protected] ha.d]# vim authkeys  #修改域共享密钥认证配置文件

auth 1   #表示使用第一种算法

1 sha1 helloword #指定第一种算法为sha1 真正的随机数为helloword,随机数是任意的,可以通过其他算法生成

[[email protected] ha.d]# chmod 600 authkeys   #将authkeys文件的权限改成400或600
[[email protected] ha.d]# vim haresources       #定义v1版本的资源文件
server[A2]   172.16.33.6/16/eth0/172.16.255.255[A3] httpd[A4]   #此文件配置此行即可

[[email protected] ha.d]# scp -p ha.cf authkeysharesources [email protected]:/etc/ha.d #将以上的三个文件拷贝至另外一个节点上一份

接下来先不要启动,要为两个节点的设置httpd的网页文件,测试成功后一定要关闭httpd服务且保证开机不会自动启动,因为hareources会自动启动

[[email protected] data]# vim/var/www/html/index.html
<h1>www.server.com</h1>
[[email protected] ha.d]# vim/var/www/html/index.html
<h1>www.cluser.com</h1>
[[email protected] data]# chkconfig --list httpd
httpd             0:off       1:off       2:off       3:off       4:off       5:off       6:off

到此处,基于heartbeat和V1版本的资源管理器的准备工作就准备好了,接下来启动节点

[[email protected] data]# service heartbeat start[A5] 
Starting High-Availability services:
2015/01/05_22:39:44 INFO:  Resource is stopped
Done.

启动成功后,查看如下信息

[[email protected] data]# ifconfig
eth0:0   Link encap:Ethernet  HWaddr00:0C:29:56:EF:98 
         inetaddr:172.16.33.6 [A6] Bcast:172.16.255.255  Mask:255.255.0.0
         UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1
[email protected] data]# ss -lnt |grep 80
LISTEN     0      128                      :::80 [A7]                      :::*

此时在关闭主节点的heartbeat服务,手动模拟主机点损坏

[[email protected] data]# ifconfig
eth0:0   Link encap:Ethernet  HWaddr 00:0C:29:0D:63:42 
          inet addr:172.16.33.6  Bcast:172.16.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500 Metric:1
[[email protected]]# ss -lnt |grep 80
LISTEN     0     128                      :::80                      :::[A8] *

此时如果再次启动server主节点,可以发现资源会再次夺取回到主节点,这跟之前配置的auto_failbackon有关

不需要手动关闭heartbeat来完成节点的切换,在/usr/lib64/heartbeat/下有两个命令,可以完成切换

hb_standby [A9] 
hb_takeover[A10]

生产中两个节点的httpd页面文件应该是相同的,可以通过共享存储来实现

其中share files可以为NFS或其他,下面实例基于NFS实现的

[[email protected] data]# vim /var/www/html/[A11] index.html
<h1>www.client1.com</h1>
[[email protected] data]# vim /etc/exports 
/var/www/html  172.16.0.0/16(rw)[A12] 
[[email protected] data]# service nfs start[A13]                    
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                      [  OK  ]
Starting NFS mountd:                                     [  OK  ]
Starting NFS daemon:                                     [  OK  ]
Starting RPC idmapd:                                     [  OK  ]

我们打算将172.16.33.2:/var/www/html/目录挂载至两个节点的/var/www/html/目录,此时需要编辑v1的资源管理器配置文件/etc/ha.d/haresources,其内容修改如下

server 172.16.33.6/16/eth0/172.16.255.255Filesystem::172.16.33.2:/var/www/html::/v
ar/www/html::nfs  httpd[A14]

此时重新启动heartbeat服务,查看挂载信息

[[email protected] resource.d]# mount
172.16.33.2:/var/www/html on /var/www/htmltype nfs (rw,vers=4,addr=172.16.33.2,clientaddr=172.16.33.1)

可以看到已经挂载了,在网页上访问可以看到是nfs服务器上的网页文件

[[email protected] resource.d]# curlhttp://172.16.33.6

<h1>www.client1.com</h1>

到此基于heartbeatv1版本+nfs共享存储的高可用集群配置完毕

总结:

1.基于heartbeat v1版本配置的高可用集群配置简单

2.无法自动检测后端realserver的心跳信息,需要借助脚本或ldirectord等来实现

时间: 2024-10-11 21:34:56

hearbeat集群+V1版本资源管理器(haresources)配置的相关文章

集群增量会话管理器——DeltaManager

DeltaManager会话管理器是tomcat默认的集群会话管理器,它主要用于集群中各个节点之间会话状态的同步维护,由于相关内容涉及到集群,可能会需要一些集群通信相关知识,如果有疑问可结合集群相关章节. 集群增量会话管理器的职责是将某节点的会话该变同步到集群内其他成员节点上,它属于全节点复制模式,所谓全节点复制是指集群中某个节点的状态变化后需要同步到集群中剩余的节点,非全节点方式可能只是同步到其中某个或若干节点.在集群中全节点会话复制的一个大致步骤如下图所示,客户端发起一个请求,假设通过一定的

Hadoop集群内lzo的安装与配置

LZO压缩,可分块并行处理,解压缩的效率也是可以的. 为了配合部门hadoop平台测试,作者详细的介绍了如何在Hadoop平台下安装lzo所需要软件包:gcc.ant.lzo.lzo编码/解码器并配置lzo的文件:core-site.xml.mapred-site.xml.希望对大家有所帮助.以下是正文: 最近我们部门在测试云计算平台hadoop,我被lzo折腾了三四天,累了个够呛.在此总结一下,也给大家做个参考. 操作系统:CentOS 5.5,Hadoop版本:hadoop-0.20.2-C

mongo 3.4分片集群系列之六:详解配置数据库

这个系列大致想跟大家分享以下篇章(我会持续更新的(^ω^)): 1.mongo 3.4分片集群系列之一:浅谈分片集群 2.mongo 3.4分片集群系列之二:搭建分片集群--哈希分片 3.mongo 3.4分片集群系列之三:搭建分片集群--哈希分片 + 安全 4.mongo 3.4分片集群系列之四:搭建分片集群--哈希分片 + 安全 + 区域 5.mongo 3.4分片集群系列之五:详解平衡器 6.mongo 3.4分片集群系列之六:详解配置数据库 7.mongo 3.4分片集群系列之七:配置数

为Linux集群创建新账户,并配置hadoop集群

转自:http://blog.csdn.net/bluesky8640/article/details/6945776 之前装python.jdk.hadoop都是用的root账户,这是一个绝对的失策,linux对用户访问权限很严格,新创的hod账户根本无法启动hadoop,而root在hod模式下使用torque是不被建议的,所以只能用hod账户再重新装一遍. 创建用户.设置密码.修改用户.删除用户: useradd testuser   创建用户testuserpasswd testuser

集群介绍 keepalived介绍 用keepalived配置高可用集群

一.集群介绍二.keepalived介绍VRRP协议是keepalived的一个核心,翻译为中文叫做:虚拟路由冗余协议keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层.第4层和第5层交换.Keepalived是自动完成,不需人工干涉.简介Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Ke

使用kubeadm平滑地升级kubenetes集群(v1.10.2到v1.10.3)

写在前面 kubernetes是目前最炙手火热的容器管理.调度.编排平台,不仅拥有全面的生态系统,而且还开源.开放自治,谁贡献的多,谁的话语权就大,云提供商都有专门的工程师来从事kubernetes开源项目,其软件的升级迭代非常快,今天我们就来谈谈如何使用kubeadm平滑地升级kubenetes集群到v1.10.3. 备注:kubeadm是一个快速构建kubernetes集群的工具. 查看目前集群版本 从上面可以看到,master节点kubelete版本低于woker节点,kubernetes

k8s实践19:kubernetes二进制部署集群v1.12升级v1.15

1.升级前的版本 [[email protected] ~]# kubectl version Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.4", GitCommit:"5ca598b4ba5abb89bb773071ce452e33fb66339d", GitTreeState:"clean", BuildDa

LVS集群---&gt;做前端调度器搭建使用

LVS集群--->在这里做前端调度器搭建使用,工作模式用的LVS-nat和LVS-dr. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++集群:一组通过高速网络互联的计算组,并以单一系统的模式加以管理,服务的是同一网站 集群目低:增加可靠性 提高性能 降低成本 提高可靠扩展性 集群分类:高性能计算集群HPC(工作中用的少):通过以集群开发的并行应用程序,解决复杂的科学问题|(主要是单

Mysql Cluster 集群 windows版本

VM1:192.168.220.102 管理节点(MGM) VM2:192.168.220.103 数据节点(NDBD1),SQL节点(SQL1) VM3:192.168.220.104 数据节点(NDBD2),SQL节点(SQL2) MySQL Cluster版本:7.4.6 (MSI Installer) 下载地址:http://dev.mysql.com/downloads/cluster/ 测试工具:Navicate for MySQL 三种节点: 管理节点:用于管理集群共它节点: 守护