这个实验采用的是Heartbeat2.0版本的,也就是说是老版本的。老版本的HA是一个整体的项目,而新版本(3.0之后)出现了很大的改变,就是把HA的这个项目拆开成几个相对分散的项目,由不同的项目组来开发维护。

Heartbeat2.0集成的模块:

1、  heartbeat:节点间的通信检测模块
2、  ha-logd:集群事件日志服务
3、  CCM(consensus Cluster Membership):集群成员一致性管理模块
4、  LRM(Local Resource Manager):本地资源管理模块
5、  Stomith Daemon:是出现问题的节点从集群中脱离
6、  CRM(Cluster resource management):集群资源管理模块
7、  Cluster policy engine:集群策略模块
8、  Cluster transition engine:集群转移引擎

Heartbeat3.0之后有多个部分组成:

1、  Heartbeat:将原来的消息通信层独立为heartbeat项目,新的heartbeat只负责维护各个节点的通信。
2、  Cluster Glue:相当于一个中间层,他用来将heartbeat和pacemaker关联起来,主要包含两个部分,即、LRM和STONITH。
3、  Resource Agent:用来控制服务启停,监控服务状态 的脚本的集合,这些脚本将被LRM调用从而实现资源的启动、停止、监控等等。
4、  Pacemaker:也就是Cluster Resource Manager(CRM),用来管理整个HA的控制中心,客户端通过pacemaker来配置管理整个集群。

Pacemaker提供了多种用户管理接口

(1)、crm shell,基于字符的管理方式
(2)、一个使用Ajax WEB配置方式的web kensole窗口。
(3)、hb_gui,即heartbeat的gui图形配置工具,这也是原来的2.1.x的默认的GUI的配置工具。
(4)、DRBD-MC 一个基于java的配置管理工具。

实验的平台:VM下两台CentOS5.5的linux服务器(均为双网卡),安装配置好apache和清除防火墙规则(iptables -F),其实也可以不关闭,配置iptabkes规则,由于本实验重点不在这里,所以略写了。

IP规划:

MASTER:eth0:192.168.1.195 eth1:10.0.0.3(eth1心跳用)BACKUP:eth0:192.168.1.196 eth1:10.0.0.2(eth1心跳用)VIP:192.168.1.200

第一:在主节点上的安装与配置

1、修改主机名

[root@localhost ~]# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=master
[root@localhost ~]# vi /etc/hosts
127.0.0.1        localhost.localdomain localhost
::1          localhost6.localdomain6 localhost
192.168.1.195 master
192.168.1.196 backup
[root@localhost ~]# reboot
[root@master ~]# uname -n
master

2、下载、安装软件包:

[root@master~]#wget http://zid-luxinst.uibk.ac.at/linux/rpm2html/centos/5/extras/i386/RPMS/heartbeat-2.1.3-3.el5.centos.i386.rpm
[root@master~]#wget http://zid-luxinst.uibk.ac.at/linux/rpm2html/centos/5/extras/i386/RPMS/ heartbeat-pils-2.1.3-3.el5.centos.i386.rpm[root@master~]#wget http://zid-luxinst.uibk.ac.at/linux/rpm2html/centos/5/extras/i386/RPMS/ heartbeat-stonith-2.1.3-3.el5.centos.i386.rpm

注意安装顺序不可以颠倒(颠倒了也安装不成功)

[root@master ~]# rpm -ivh heartbeat-pils-2.1.3-3.el5.centos.i386.rpm
[root@master ~]# rpm -ivh heartbeat-stonith-2.1.3-3.el5.centos.i386.rpm
[root@master ~]# rpm -ivh heartbeat-2.1.3-3.el5.centos.i386.rpm

3、配置的部分

[root@master ~]# cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d/    //主配置文件
[root@master ~]# cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d/   //认证文件
[root@master ~]# cp /usr/share/doc/heartbeat-2.1.3/haresources /etc/ha.d/  //资源管理的配置
[root@master ~]# chmod 600 /etc/ha.d/authkeys
[root@master ~]# vi /etc/ha.d/ha.cf  //修改以下几处(这里没考虑优化,只是简单的功能实现)
logfile /var/log/ha-log
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport 694
bcast   eth1            # Linux           //心跳网卡
ucast eth1 10.0.0.2                         //心跳网卡连接对方心跳地址
auto_failback on
node    master
node    backup
ping 192.168.1.1                          //检测全网是否连通
[root@master ~]# vi /etc/ha.d/authkeys     //采用crc认证(对系统资源要求最小)
auth 1
1 crc
[root@master ~]# vi /etc/ha.d/haresources   //这里只设置VIP和开启apache
master 192.168.1.200  httpd

第二:在备用节点上的安装与配置

1、修改主机名

[root@localhost ~]# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=backup
[root@localhost ~]# vi /etc/hosts
127.0.0.1        localhost.localdomain localhost
::1          localhost6.localdomain6 localhost
192.168.1.195 master
192.168.1.196 backup
[root@localhost ~]# reboot
[root@backup ~]# uname -n
backup

2、下载、安装软件包:

[root@backup~]#wget http://zid-luxinst.uibk.ac.at/linux/rpm2html/centos/5/extras/i386/RPMS/heartbeat-2.1.3-3.el5.centos.i386.rpm
[root@backup~]#wget http://zid-luxinst.uibk.ac.at/linux/rpm2html/centos/5/extras/i386/RPMS/ heartbeat-pils-2.1.3-3.el5.centos.i386.rpm[root@backup~]#wget http://zid-luxinst.uibk.ac.at/linux/rpm2html/centos/5/extras/i386/RPMS/ heartbeat-stonith-2.1.3-3.el5.centos.i386.rpm

注意安装顺序不可以颠倒(颠倒了也安装不成功)

[root@backup ~]# rpm -ivh heartbeat-pils-2.1.3-3.el5.centos.i386.rpm
[root@backup ~]# rpm -ivh heartbeat-stonith-2.1.3-3.el5.centos.i386.rpm
[root@backup ~]# rpm -ivh heartbeat-2.1.3-3.el5.centos.i386.rpm

3、配置的部分

[root@backup ~]# cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d/    //主配置文件
[root@backup ~]# cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d/   //认证文件
[root@backup ~]# cp /usr/share/doc/heartbeat-2.1.3/haresources /etc/ha.d/  //资源管理的配置
[root@backup ~]# chmod 600 /etc/ha.d/authkeys
[root@backup ~]# vi /etc/ha.d/ha.cf  //修改以下几处(这里没考虑优化,只是简单的功能实现)
logfile /var/log/ha-log
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport 694
bcast   eth1            # Linux           //心跳网卡
ucast eth1 10.0.0.3                         //心跳网卡连接对方心跳地址
auto_failback on
node    master
node    backup
ping 192.168.1.1                          //检测全网是否连通
[root@backup ~]# vi /etc/ha.d/authkeys     //采用crc认证(对系统资源要求最小)
auth 1
1 crc
[root@backup ~]# vi /etc/ha.d/haresources   //这里只设置VIP和开启apache
master 192.168.1.200  httpd

第三:测试的部分

测试前的准备

[root@backup ~]# iptables -F
[root@backup ~]# iptables -F -t nat
[root@master ~]# iptables -F
[root@master ~]# iptables -F -t na
[root@backup ~]# echo "This 192.168.1.196 backup web">/var/www/html/index.html
[root@master ~]# echo "This 192.168.1.195 master web">/var/www/html/index.html
[root@master ~]# /etc/init.d/httpd stop
[root@backup ~]# /etc/init.d/httpd stop

开始测试

1、双节点均开启heartbeta

[root@master ~]# /etc/init.d/heartbeat start
logd is already running
Starting High-Availability services:
2011/10/25_10:21:23 INFO:  Resource is stopped[  OK  ]
[root@master ~]# /etc/init.d/httpd status
httpd (pid  5577) is running...
[root@backup ~]# /etc/init.d/heartbeat start
Starting High-Availability services:
2011/11/03_18:12:44 INFO:  Resource is stopped[  OK  ]
[root@backup ~]# /etc/init.d/httpd status
httpd is stopped[root@master ~]# ifconfig    //VIP仅存在于主节点的eth0上,为eth0:0
eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:90:42:78 inet addr:192.168.1.200  Bcast:192.168.1.255  Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1Interrupt:169 Base address:0x2000     link/sit 0.0.0.0 brd 0.0.0.0

2、仅关闭主节点的heartbeta

[root@master ~]# /etc/init.d/heartbeat stop
Stopping High-Availability services:[  OK  ]
[root@backup ~]# ifconfig
eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:09:22:5D inet addr:192.168.1.200  Bcast:192.168.1.255  Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1Interrupt:169 Base address:0x2000

3、再次开启主节点的heartbeat

[root@master ~]# /etc/init.d/heartbeat start
Starting High-Availability services:
2011/10/25_10:29:50 INFO:  Resource is stopped[  OK  ]
[root@master ~]# ifconfig    //VIP又回来了
eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:90:42:78 inet addr:192.168.1.200  Bcast:192.168.1.255  Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1Interrupt:169 Base address:0x2000     link/sit 0.0.0.0 brd 0.0.0.0

总结:曾经两次采用源码安装的方式尝试安装与配置heartbeat,每次都历时两天但是都以失败告终,现在想想主要是源码安装太复杂、太耗时,后来勉强在一台机器上安装成功了,想到还要在令外一台或者几台机器上做同样的步骤,就想到了虚拟机的复制,但是配置的时候有出现很多问题,谷歌了很久没解决问题于是暂时放下。这次才用rpm包的方式安装很快很强大

LINUX+Heartbeat 通过心跳实现双机高可用相关推荐

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

    8.heartbeat+iscsi+mysql实现双机高可用 虚拟地址的迁移 iscsi提供存储共享 (mysql 是application  也可以是ftp web等) 在iscsi服务器上:10. ...

  2. 高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群

    高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群 libnet软件包<-依赖-heartbeat(包含ldirectord插件(需要perl-MailTools的rpm包)) l ...

  3. heartbeat+drbd+mysql构建mysql高可用群集

    heartbeat+drbd+mysql构建mysql高可用群集 1. 试验环境: 操作系统:Red Hat Enterprise Linux 5.4 所需的软件包: mysql-5.5.22.tar ...

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

    接上一篇文章:heartbeat v1版CRM的高可用集群的实现 架构图: 网络地址规划: 一.关闭heartbeat服务 node1和node2都需要关闭: # service heartbeat ...

  5. MySQL共享存储主备模式利用Keepalived实现双机高可用

    简单介绍 先简单说下MySQL主从复制与keepalived模式和MySQL共享存储与Keepalived模式 MySQL共享存储主备模式不同于MySQL主主复制模式,MySQL主主是利用MySQL自 ...

  6. 构建MFS+Keepalived双机高可用热备方案`

    一.简介 MooseFS(即Moose File System,简称MFS)是一个具有容错性的网络分布式文件系统,它将数据分散存放在多个物理服务器或单独磁盘或分区上,确保一份数据有多个备份副本,对于访 ...

  7. 双机高可用、负载均衡、MySQL(读写分离、主从自动切换)架构设计

    前几天网友来信说帮忙实现这样一个架构:只有两台机器,需要实现其中一台死机之后另一台能接管这台机器的服务,并且在两台机器正常服务时,两台机器都能用上.于是设计了如下的架构. 架构简介 此架构主要是由ke ...

  8. linux下初步实现Keepalived+Nginx高可用

    一.Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived 可以用来防止服务器单点故障的发生,通过配合Nginx可以实现web前端服务的高可用. 二.基于上篇搭建好Ngi ...

  9. Linux下的5款主流高可用集群软件介绍

    Linux集群主要分成三大类:高可用集群(High Availability Cluster).负载均衡集群(Load Balance Cluster).科学计算集群(High Performance ...

最新文章

  1. MATLAB调用python文件方法
  2. Python 实现简单的石头剪刀布小游戏
  3. Fiori 出试(WEBIDE平台)day1
  4. 【最新合集】PAT乙级最优题解(题解+解析+代码)
  5. java dao层的泛型get方法_dao层的泛型实现(2种方法)
  6. 高校网络中心主任挨骂冤不冤?
  7. 在 Mac 上的 Safari 浏览器中如何存储网页的一部分或整个网页?
  8. python调用Java代码并执行--------jpype使用篇
  9. NVIDIA Jetson Xavier NX 计算GPIO编号
  10. k易语言html导入超级列表框,易语言超级列表框导入TXT内容的方法
  11. mac 误删引导分区
  12. 计算机win10无法打开小键盘,小编告诉你win10开机小键盘不自动开启的解决伎俩...
  13. 基于JAVA第二课堂选课系统计算机毕业设计源码+系统+lw文档+部署
  14. win7 efi安装(个人心得)
  15. 中国日报华为鸿蒙,筑牢国产软件之“根”——对话华为鸿蒙负责人王成录
  16. 关于使用google map实现周边搜索的功能
  17. 在ubuntu16.04下面安装tplink无线网卡驱动
  18. 手撸一个RPC框架——傻瓜式教程(一)
  19. 有的歌声音大有的歌声音小_同样是mp3格式的歌,同一个耳机,在保证音量大小不变情况下,为什么有的歌声音大有的歌声音小?...
  20. 教程:编写 Transact-SQL 语句

热门文章

  1. python二维数组去重复_python 去除二维数组/二维列表中的重复行方法
  2. 序列化和json对比
  3. [Jzoj] 3055.比赛
  4. 数电课程设计——数字频率计
  5. ROS学习:cv_bridge与opencv版本冲突三种解决方案
  6. openwrt双wan环境搭建以及适配UPnP
  7. 上班族计算机学哪个专业好,上班族深圳自考选哪个专业好?
  8. java中的参数传递(只有值传递没有引用传递)
  9. mysql插座返回6M数据_MySQL数据库设计与应用智慧树期末答案
  10. 客服人员如何摆脱工作上的负面情绪