heartbeat及共享文件高可用集群

准备两台虚拟机,IP地址为192.168.1.4和192.168.1.3

把节点时间同步,分别在两台虚拟机上设置时间同步:

crontab -e  打开后编辑,使每3分钟同步一次;指向可靠的网关;

*/3 * * * * /usr/sbin/ntpdate 192.168.1.1 &> /dev/null

节点间需要通过主机名互相通信,必须解析主机至IP地址,通信中使用的名字与节点名字必须保持一致

vim /etc/hosts
                192.168.1.4    hsxaou

192.168.1.3    hsxaou1

编辑此文件可修改主机名称:/etc/sysconfig/network

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

ssh-keygen -t rsa -P ‘‘

把生成的公钥复制到对应的节点上

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

查看来两台主机时间是否同步;

date; ssh hsxaou1 ‘date‘

准备好之后在各节点开始安装程序,先解决依赖的包,libnet需要epel源;

yum install net-snmp-libs  libnet  PyXML

下载heartbeat2.rpm包到本地,并复制到另外一个节点家目录;

scp -r heartbeat2/    hsxaou1:~/

在两个节点上分别安装;

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

配置文件在/etc/ha.d/目录下

配置IP可以使用IPaddr或者IPaddr2,前者使用ifconfig命令,后者时候ip命令;

v1版专用配置接口,不是V1版不使用,样例配置文件在:

把这3个样例文件authkeys,ha.cf,haresources复制到/etc/ha.d/目录下,并修改authkeys的权限需修改为400或600;

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

修改权限为600

chmod 600 authkeys

编辑配置文件authkeys,在此文件内指明启用的算法和要启用的秘钥;

算法简单时自己可以生成一个,放在里面;

openssl rand -base64 16

auth #:使用第几个算法,#就填那个数字

编辑主配置文件ha.cf,启动基本功能;

日志功能,启用其中一个;

这里定义的是发往local0,需要在/etc/rsyslog.conf内定义,并重启服务

service   rsyslog restart

默认发送心跳时间,默认为2秒;

keepalive 2

死亡时间;

deadtime 30

警告时间;

warntime 10

heartbeat运行在多个节点上时,启动时间比较长,可以根据情况延长时间;

initdead 120

基于UDP传送心跳默认端口

udpport        694

广播,使用哪个就启用哪个

多播

mcast eth0 225.22.190.1 694 1 0

地址不能和别人相同,自己修改下,694端口,1为ttl值表示只允许传递一次;0为loop值,不允许循环

ip link set eth0 multicast on|off   使用多播时需要启用;

资源转回

auto_failback on

指明高可用集群要使用的节点,节点名必须与uname -n的名字保持一致;

指明ping node,仲裁设备,探测辅助性设备

可以指定多个主机

对节点之间传递的信息压缩

compression     bz2

指明2kb以上的才压缩

compression_threshold 2

vim  /haresources

定义集群资源

指定主节点名字,后面为资源地址,每个资源单独进行指定

设置fip(公共IP),会自动设置在某块网卡的别名上, 从左侧第一个启动,在哪个主机上前面就使用哪个主机的名字

hsxaou  192.168.1.10/24/eth0/192.168.255.255 httpd

完成后把配置文件发送到另外一个节点,保留原来的权限

scp -p ha.cf haresources authkeys hsxaou1:/etc/ha.d/

分别在各节点上,启动heartbeat之前先要把httpd页面配置好,作为测试2个节点的页面设置不一样,作为区分并且设置为开机不自动启动;

vim /var/www/html/index.html

chkconfig httpd off

启动heartbeat服务,并查看80端口是否打开;

service heartbeat start

ss -tunl

使用浏览器访问fip192.168.1.10,完成了。。

基于共享文件的高可用:

在第3台主机上设置主页:

vim /web/htdocs/index.html

共享文件:vim /etc/exports

/web/htdocs    *(rw,no_root_squash)

启动nfs服务:service nfs start

nfs开机自启:chkconfig nfs on

在192.168.1.4节点上挂载文件进行测试,使用浏览器访问测试

mount -t nfs 192.168.1.5:/web/htdocs /var/www/html/

设置成功后卸载掉;

umount /var/www/html/

编辑/etc/ha.d/haresoureces

/usr/lib64/heartbeat/hb_takeover    拿回资源

/usr/lib64/heartbeat/hb_standby    资源转出

/usr/lib64/heartbeat/ha_propagate  把本节点的上的ha.cf和athkeys文件自动发送到另外一个节点的/etc/ha.d/下,并显示可以设置为ha的有哪些

时间: 2024-10-09 22:02:25

heartbeat及共享文件高可用集群的相关文章

heartbeat做nginx高可用集群

一.理论 ·HA高可用,又被叫做双机热备. ·高可用原理:两台机器A和B,正常是A提供服务,B闲置,当A宕机或服务宕掉,切换到B继续提供服务,使用心跳进行通信和选举 ·heartbeat原理:心跳检测和资源接管两个部分.集群中的主机互相发送报文,告诉对方自己当前的状态,如果在一定时间内未收到对方报文,认定对发死亡 ·常用的高可用软件:heartbeat.keepalived ·脑裂:双方无法进行心跳信息的传递,导致无法获取其他节点状态信息 ·heartbeat  适合做服务高可用 ·keepal

利用heartbeat实现高可用集群

heartbeat是一个可以提供messaging  Layer层的软件,他有三个版本(v1.v2.v3),本实验使用heartbeat v2版本,由于v2版本自带了2个资源管理器heartbeat和crm,因此,本文会分别实现2个不同的资源管理器来实现高可用集群. 一.利用heartbeat自带的资源管理器heartbeat来实现高可用集群 1.实验环境 本次实验作者是在RHEL 5.8系统上实现的,并且是在vm虚拟机上实现的.每一个虚拟机上面只需要一个网卡即可,网卡模式可以是桥接也可以是仅主

Heatbeat高可用集群

网络规划 主机名 接口 Ip 用途 MASTER node1.xmfb.com Eth0 172.16.4.100 提供高可用服务节点 BACKUP node2.xmfb.com Eth0 172.16.4.101 备用节点,随时准备接替主节点 NFS NFS Eth0 172.16.4.200 提供共享存储 VIP Eth0:0 172.16.4.1 虚拟ip 配置中所有系统均使用centos6.6 64位 配置HA集群的前提: (1)节点间时间必须同步:使用ntp协议实现: [[email 

linux高可用集群heartbeat实现http的高可用

linux高可用集群的种类很多,比如常见的heartbeat,corosync,rhcs,keepalived,这些集群软件的出现为我们的业务生产环境提供了高可用的保证,本文将简单介绍一下用heartbeat的v2版本来处理一个简单的http高可用集群的搭建. 在实现http高可用集群之前,首先至少需要2台主机,并且需要做3点基本的准备工作: 1.设置节点名称,并且集群中的所有节点都能通过节点名称去解析集群中的所有主机.为了集群服务的高可用性,这里选择使用/etc/hosts,而且要保证unam

高可用集群技术之heartbeat+NFS实现web服务高可用(文本方式配置接口--gui图形配置)

一.高可用集群基本概念   什么是高可用技术呢?在生产环境中我既要保证服务不间断的服务又要保证服务器稳定不down机,但是异常还是会发生,比如说:服务器硬件损坏...导致服务器down机,我该如何保证服务器down机后继续提供服务呢?这时我就应该请出高可用技术来帮忙了,当我们的服务器发生故障后不能继续时,高可用集群技术解决将业务及服务自动转移至其他主机服务器上继续服务,保证服务架构不间断运行. 高可用集群的架构层次: 后端主机层: 这一层主要是正在运行在物理主机上的服务. 2.Message l

Linux高可用集群方案之heartbeat基础原理及逻辑架构

 这篇文章我们主要学习heartbeat高可用集群的基础原理及逻辑架构,以及heartbeat的简单配置  ll  本文导航    · heartbeat之基本原理   · heartbeat之集群组件   · heartbeat之心跳连接   · heartbeat之脑裂(资源争用.资源隔离) · heartbeat之配置文件   · heartbeat至高可用集群配置  ll  要求  掌握heartbeat高可用集群的相关组件及简单配置   heartbeat之基本原理  heartbea

linux 下heartbeat简单高可用集群搭建

Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.通过Heartbeat我们可以实现双机热备,以实现服务的持续性. linux下基于heartbeat的简单web服务的高可用集群搭建 首先规划好两台主机作为heartbeat的双机热备,命名为node1.lvni.cc(主) ;node2.lvni.cc, node1的eth0IP :192.168.157.148  Vip eth0:0:192.168.157.149 node2的eth0IP :19

利用heartbeat的ldirectord实现ipvs的高可用集群构建

集群架构拓扑图: 网络规划: 两台LVS server:(两台LVS也可以为用户提供错误页面) node1:172.16.31.10 node2:172.16.31.11 VIP:172.16.31.180 ipvs规则内包含2台Real Server:(后面的RS指的就是后端的web服务器) rs1:172.16.31.13 rs2:172.16.31.14 我们还需要错误页面提供者:我们选择LVS作为sorry server,所有的real server不可用时就指向这个sorry serv

CentOS6.4 高可用集群之基于heartbeat(crm)和nfs的mysql高可用

CentOS6.4 高可用集群之基于heartbeat和nfs的高可用mysql CentOS版本: CentOS release 6.4(Final) 2.6.32-358.el6.i686 效果演示: 使用ssh连接(nod-1.magedu.com)192.168.3.7 并执行以下命令: [[email protected] ha.d]# hb_gui & 说明:hb_gui是heartbeat为了方便管理集群资源而提供的一个图形用户接口 安装heartbeat默认会在系统中创建一个名为