Heartbeat双机热备配置

简介
Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统。心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里,由 heartbeat 模块实现了这两个功能。
一、前期准备工作
环境说明
主:192.168.011心跳IP:10.0.0.1hostname:node1
备:192.168.0.12心跳IP:10.0..0.2hostname:node2
VIP:192.168.0.100
1.1、修改主机名称
[root@localhost ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node1
修改/etc/hosts 文件
[root@localhost ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.11node1
192.168.0.12node2
1.2、修改selinux
[root@localhost ~]# grep -v "^#" /etc/sysconfig/selinux 
SELINUX=disabled
SELINUXTYPE=targeted 
[root@localhost ~]# setenforce 0
1.3、配置IP地址
eth0 192.168.0.11
eth1 10.0.0.1
最后重启网卡
[root@localhost ~]# service network restart
1.4、安装rpm依赖包
[root@node1 ~]# yum -y install autoconf automake libtool glib2-devel libxml2-devel bzip2-devel e2fsprogs-devel libxslt-devel docbook-dtds docbook-style-xsl ncurses-devel *Socket6* *libwww-perl* *URI* *MailTools* *HTML-Parser* perl-IO-Socket-*
[root@node1 Packages]# rpm -ivh libtool-ltdl-devel-2.2.6-15.5.el6.x86_64.rpm 
1.5、创建安装用户
[root@localhost ~]# groupadd haclient
[root@localhost ~]# useradd -g haclient -M -s /sbin/nologin hacluster
二、安装heartbeat
2.1、安装Reusable-Cluster-Components-glue--glue-1.0.9 (1).tar.bz2
[root@node1 Packages]# tar xvf Reusable-Cluster-Components-glue--glue-1.0.9\ \(1\).tar.bz2 -C /usr/local/src/
[root@node1 Packages]# cd /usr/local/src/Reusable-Cluster-Components-glue--glue-1.0.9/
[root@node1 Reusable-Cluster-Components-glue--glue-1.0.9]# ./autogen.sh 
[root@node1 Reusable-Cluster-Components-glue--glue-1.0.9]# ./configure LIBS='/lib64/libuuid.so.1'
[root@node1 Reusable-Cluster-Components-glue--glue-1.0.9]# make
[root@node1 Reusable-Cluster-Components-glue--glue-1.0.9]# make install
2.2、安装ClusterLabs-resource-agents-v3.9.2-0-ge261943.tar.gz
[root@node1 Packages]# tar xvf ClusterLabs-resource-agents-v3.9.2-0-ge261943.tar.gz -C /usr/local/src/
[root@node1 Packages]# cd /usr/local/src/ClusterLabs-resource-agents-b735277/
[root@node1ClusterLabs-resource-agents-b735277]# ./autogen.sh
[root@node1 ClusterLabs-resource-agents-b735277]# ./configure LIBS='/lib64/libuuid.so.1'
[root@node1 ClusterLabs-resource-agents-b735277]# make
[root@node1 ClusterLabs-resource-agents-b735277]# make install
2.3、安装Heartbeat-3-0-7e3a82377fa8.tar.bz2
[root@node1 Packages]# tar xvf Heartbeat-3-0-7e3a82377fa8.tar.bz2 -C /usr/local/src/
[root@node1 Packages]# cd /usr/local/src/Heartbeat-3-0-7e3a82377fa8/
[root@node1 Heartbeat-3-0-7e3a82377fa8]# ./ConfigureMe configure LIBS='/lib64/libuuid.so.1'
[root@node1 Heartbeat-3-0-7e3a82377fa8]# make
[root@node1 Heartbeat-3-0-7e3a82377fa8]# make install
[root@node1 ~]# cp -a /usr/etc/ha.d/ /etc/
[root@node1 ~]# rm -rf /usr/etc/ha.d/
[root@node1 ~]# ln -s /etc/ha.d/ /usr/etc/
[root@node1 ~]# chkconfig --add heartbeat
[root@node1 ~]# chkconfig heartbeat on
[root@node1 ~]# cp /usr/share/doc/heartbeat/haresources /etc/ha.d/
[root@node1 ~]# cp /usr/share/doc/heartbeat/authkeys /etc/ha.d/
[root@node1 ~]# cp /usr/share/doc/heartbeat/ha.cf /etc/ha.d/
[root@node1 ~]# chmod 600 /etc/ha.d/authkeys 
三、配置heartbeat
注:将主节点的配置好的文件直接拷贝到备节点上即可
3.1、修改authkeys
[root@node1 ~]# cd /etc/ha.d/
[root@node1 ha.d]# grep -v "^#" authkeys 
auth 3
3 md5 Hello!
[root@node1 ha.d]#
(注:auth 后面默认为1 改为3 两个数值必须相同, 否则启动时会报错)
3.2、修改ha.cf
[root@node1 ~]# cd /etc/ha.d/
[root@node1 ha.d]# grep -v "^#" ha.cf 
debugfile /var/log/ha-debug
logfile/var/log/ha-log
logfacilitylocal0
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport694
baud19200
bcasteth1# Linux
auto_failback on
nodenode1
nodenode2
ping 192.168.0.253
respawn hacluster /usr/lib64/heartbeat/ipfail
[root@node1 ha.d]#
3.3、修改haresources
[root@node1 ~]# cd /etc/ha.d/
[root@node1 ha.d]# grep -v "^#" haresources 
node1 IPaddr::192.168.0.100/24/eth0 httpd
[root@node1 ~]# 
(注:中间以空格分割)
四、主背测试
在node1和node2上启动heartbeart
[root@node1 ~]# /etc/init.d/heartbeat start
[root@node2 ~]# /etc/init.d/heartbeat start
[root@node1 ~]# echo "node1" > /var/www/html/index.html
[root@node2 ~]# echo "node2" > /var/www/html/index.html
在主节点(node1)上查看绑定VIP 网站是否可以正常访问。
主背切换说明:默认情况下主节点对外提供服务,备节点只启动heartheart不会启动httpd,只有当主节点出现问题,备节点才会自动启动本机的web添加VIP接替主节点对外提供服务。当主节点恢复正常后,会取代备节点的服务。
1、node1 和 node2同时启动时(node1为主,提供服务)
[root@node1 ~]# service heartbeat status
heartbeat OK [pid 2326 et al] is running on node1 [node1]...
[root@node2 ha.d]# service heartbeat status
heartbeat OK [pid 2265 et al] is running on node2 [node2]...
 
2、关闭node1(node2会自动抢占为主的来提供服务)
当heartbeat服务或是机器无法关机无法ping通会自动切换,但是web服务出现问题不会自动切换。
[root@node1 ~]# service heartbeat status
heartbeat is stopped. No process
[root@node2 ha.d]# service heartbeat status
heartbeat OK [pid 2265 et al] is running on node2 [node2]...
3、node1重新启动抢占为主
[root@node1 ~]# service heartbeat status
heartbeat OK [pid 3076 et al] is running on node1 [node1]...
[root@node2 ha.d]# service heartbeat status
heartbeat OK [pid 2265 et al] is running on node2 [node2]...
3.5、配置文件详解
3.5.1、heartbeat主配置文件ha.cf
debugfile /var/log/ha-debug用户记录heartbeat的调试信息
logfile /var/log/ha-logheartheat的日志文件
logfacility     local0设置日志级别
keepalive 2心跳(检测)间隔时间,默认为秒
deadtime 30超出30秒未收到节点的心跳,则认为对方死亡
warntime 10警告时间,通常设置为daetime时间的一半
initdead 120网络启动时间,至少为deadtime的两倍
baud 19200波特率,串口通信的速度。
udpport 694使用端口694进行bcast和ucast通信。这是默认的,并且在IANA官方注册的端口号。
bcast   eth1 发送heartbeat心跳的网卡
auto_failback on用来定义当主节点恢复后,是否将服务自动切回,heartbeat的两台主机分别为主节点和备份节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给备份节点并由备份节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代备份节点,如果该选项设置为off,那么当主节点恢复后,将变为备份节点,而原来的备份节点成为主节点 
node    node1两个节点的名称  uname -a查看必须相同
node    node2
ping 192.168.0.253集群以外的节点,测试网络连通性
3.5.2、资源文件haresources
Haresources文件用于指定双机系统的主节点、集群IP、子网掩码、广播地址以及启动的服务等集群资源,文件每一行可以包含一个或多个资源脚本名,资源之间使用空格隔开,参数之间使用两个冒号隔开,在两个HA节点上该文件必须完全一致,此文件的一般格式为
node1(node-name) 192.168.0.100(network)  httpd mysqld(resource-group)
node-name表示主节点的主机名,必须和ha.cf文件中指定的节点名一致,network用于设定集群的IP地址、子网掩码、网络设备标识等,需要注意的是,这里指定的IP地址就是集群对外服务的IP地址,resource-group用来指定需要heartbeat托管的服务,也就是这些服务可以由heartbeat来启动和关闭,如果要托管这些服务,必须将服务写成可以通过start/stop来启动和关闭的脚步,然后放到/etc/init.d/或者/etc/ha.d/resource.d/目录下,heartbeat会根据脚本的名称自动去/etc/init.d或者/etc/ha.d/resource.d/目录下找到相应脚步进行启动或关闭操作。 
3.5.3、认证文件authkeys
authkeys文件用于设定heartbeat的认证方式,共有三种可用的认证方式:crc、md5和sha1,三种认证方式的安全性依次提高,但是占用的系统资源也依次增加。如果heartbeat集群运行在安全的网络上,可以使用crc方式,如果HA每个节点的硬件配置很高,建议使用sha1,这种认证方式安全级别最高,如果是处于网络安全和系统资源之间,可以使用md5认证方式。

转载于:https://blog.51cto.com/daren/1089726

Heartbeat双机热备配置相关推荐

  1. heartbeat双机热备配置(适用centos6\rhel6)

    该文档环境:rhel6.3 x86_64系统,http://linux-ha.org/wiki/Download,下载的Heartbeat glue agents,其他情况不一定适用,可能会出现各种报 ...

  2. mysql双机热备 配置文件,MYSQL 双机热备配置手册()

    [原创] MYSQL 双机热备配置手册[原创] http://www.chinaunix.net 作者:squall1  发表于:2007-07-23 19:01:43 [发表评论][查看原文][存储 ...

  3. 防火墙双机热备配置实例(三)

    今天继续给大家介绍HCIE安全系列相关内容.本文以华为eNSP模拟器为例,实现了配置防火墙双击热备技术配置实例,采用的是上下行交换机配置VRRP的主备模式. 阅读本文,您需要有一定的防火墙配置基础和防 ...

  4. Eudemon防火墙双机热备配置及实现

    Eudemon防火墙双机热备配置及实现,上下联为两台二层交换机#上联地址 int g 0/0/1ip addr 192.168.10.253 24 vrrp vrid 10 virtual-ip 19 ...

  5. 华为防火墙双机热备配置实例

    拓扑解释 两台防火墙FW1与FW2做双机热备冗余,SW2方向做trust区域,SW3方向做UNtrust区域 适用场景 一般园区网中 配置开始 先搞定底层的交换机 SW2上:(SW3上相同) vlan ...

  6. ensp 双机热备 配置_【解忧番外篇】基于eNSP USG6000v的双机热备实验

    前言 本实验使用华为模拟器eNSP中USG6000v完成实验. 实验拓扑 配置过程 一.导入设备包 由于USG6000v模拟器需要导入设备包才能使用,所以需要在华为企业专网下载USG6000v的设备包 ...

  7. 华为防火墙实现双机热备配置详解

    一提到防火墙,一般都会想到企业的边界设备,是内网用户与互联网的必经之路.防火墙承载了非常多的功能,比如:安全规则.IPS.文件类型过滤.内容过滤.应用层过滤等.也正是因为防火墙如此的重要,如果防火墙一 ...

  8. mysql的双机热备自动切换_Mysql双机热备配置(超详细多图版)

    一.双击热备介绍 1.基本概念 双机热备特指基于高可用系统中的两台服务器的热备(或高可用),双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active- ...

  9. Mysql双机热备配置方案原理及实战

    目录 1 基本概念 2 MySQL热备原理 3 配置步骤 3.2 A(主服务器)配置 3.3 B(从服务器)配置 4 验证 1 基本概念 双机热备特指基于高可用系统中的两台服务器的热备(或高可用),双 ...

最新文章

  1. 【Linux 内核 内存管理】内存管理架构 ⑤ ( sbrk 内存分配系统调用代码示例 | 在 /proc/pid/maps 中查看进程堆内存详情 )
  2. 前端学习(1081):构造函数和原型概述
  3. GitHub 标星 14000+,阿里开源的 SEATA 如何应用到极致?
  4. apex英雄机器人探路者怎么玩_Apex英雄探路者机器人实战技巧攻略[多图]
  5. php数组里面写路径,使用路径在PHP数组中进行递归搜索
  6. 第三:项目框架设计介绍
  7. 用循环语句编程打印如下图案
  8. 使用ffmpeg一行命令根据时间分割MP4文件
  9. [转载] Python程序将十进制转换为二进制,八进制和十六进制
  10. Android项目实战之(1)-- 开发一个快速冲浪的程序
  11. Ps 初学者教程,如何使用图层混合模式合成图像?
  12. .net开源CMS系统使用教程之:如何用We7 CMS建设全新网站
  13. 神经网络做多元线性回归,神经网络是线性模型吗
  14. win10屡次自动打开系统代理服务器的解决办法
  15. VM12虚拟机安装xp系统教程
  16. 高校375个国家级精品课程
  17. 网页特效--图片淡入淡出效果
  18. 如何画一条0.5px的边(细线)
  19. BATJ大数据架构师带你领略实时计算框架Flink的魅力!
  20. 如果腾讯立知不被下线,能服务好中国的精神中产吗?

热门文章

  1. 北大校友“炼丹”分享:OpenAI如何训练千亿级模型?
  2. VMware中Ubuntu系统不全屏问题
  3. Vue单文件组件的使用
  4. Servlet 传输中文乱码解决方法
  5. 人工智能及其应用(第5版).蔡自兴-4章课后习题。【部分参考答案】
  6. OpenCV中导向滤波介绍与应用
  7. 一文读懂傅立叶变换处理图像的原理
  8. 二维码是什么原理?第一次有人说得这么明白
  9. 如何消除摄影中的运动模糊?
  10. OpenCV DNN支持的对象检测模型