21.1、heartbeat部署规划:

本文的实验环境是虚拟机设备;

名称

接口

ip

用途

master-db(主)

eth0

10.0.0.16/24

用于服务器之间的心跳连接(直连)

eth1

172.16.1.16/24

管理ip用于数据转发

vip

172.16.1.26/24

提供对外访问的ip

slave-db(从)

eth0

10.0.0.17/24

用于服务器之间的心跳连接(直连)

eth1

172.16.1.17/24

管理ip用于数据转发

vip

172.16.1.26/24

提供对外的访问的ip

21.2、关闭selinux和防火墙:

master-db和slave-db的操作相同;

1、关闭selinux:

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

grep "SELINUX=disabled" /etc/selinux/config

setenforce 0

2、关闭防火墙:

/etc/init.d/iptables stop

chkconfig iptables off

21.3、修改主机名:

1、master-db:

[root@master-db ~]#sed -i "s#HOSTNAME=.*#HOSTNAME=master-db#g" /etc/sysconfig/network

[root@master-db ~]#hostname master-db

[root@master-db ~]#hostname

master-db

2、slave-db:

[root@slave-db ~]#sed -i "s#HOSTNAME=.*#HOSTNAME=slave-db#g" /etc/sysconfig/network

[root@slave-db ~]#hostname slave-db

[root@slave-db ~]#hostname

slave-db

21.4、配置master-db和slave-db之间的直连心跳线路由:

主从之间的关系全靠心跳线进行联系;

1、master-db:

[root@master-db ~]#route add -host 10.0.0.17 dev eth0

[root@master-db ~]#route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

10.0.0.17 0.0.0.0 255.255.255.255 UH 0 0 0 eth0

[root@master-db ~]#echo '/sbin/route add -host 10.0.0.17 dev eth0' >>/etc/rc.local

2、slave-db:

[root@slave-db ~]#route add -host 10.0.0.16 dev eth0

[root@slave-db ~]#route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

10.0.0.16 0.0.0.0 255.255.255.255 UH 0 0 0 eth0

[root@slave-db ~]#echo '/sbin/route add -host 10.0.0.16 dev eth0' >>/etc/rc.local

21.5、修改域名解析文件:

master-db和slave-db的操作相同;

vim /etc/hosts

10.0.0.16 master-db

10.0.0.17 slave-db

ping域名看是否可以ping通;

21.6、安装heartbeat:

master-db和slave-db的操作相同;

1、安装:

yum install heartbeat -y

rpm -qa heartbeat

heartbeat-3.0.4-2.el6.x86_64

2、heartbeat配置模板拷贝:

cd /usr/share/doc/heartbeat-3.0.4/

cp -a ha.cf haresources authkeys /etc/ha.d/

21.7、heartbeat配置文件配置:

master-db和slave-db的操作相同;

1、ha.cf配置文件:

vim /etc/ha.d/ha.cf

debugfile /var/log/ha-debug

#heartbeat调试日志的存放位置;

logfile /var/log/ha-log

#heartbeat日志存放位置;

logfacility local0

#在syslog服务中配置通过local1设备接收日志;

keepalive 2

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

#指定心跳间隔为2秒,即每2秒发送在监听的网

#卡上发送一次广播,单播或组播

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

deadtime 30

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

#指定备用节点在30秒内没有收到主节点的心跳信号,则

#立即接管主节点的服务资源;

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

warntime 10

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

#指定心跳延迟时间为10秒,当10秒钟内备份节点不能接收到

#主节点的心跳信号时,会网日志中写入一个警告日志,但此时

#不会切换服务;

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

initdead 60

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

#指定在heartbeat首次运行后,需要等待60秒才能启动主服务器

#的任何资源,取值至少为datatime时间的2倍;

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

udpport 694

#heartbeat心跳通信端口;

mcast eth0 225.0.0.1 694 1 0

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

#多播:直连网卡eth0,多播范围(224-239),udp通信端口,ttl值

#为1,关闭本地回环;

#单播:ucast eth0 10.0.0.17,包被发送到的对等的IP地址;

#广播:bcast eth0

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

auto_failback on

#当主节点恢复后从备节点接管资源;

node master-db

#主节点主机名,通过命令uname -n进行查看;

node slave-db

#备用节点主机名,通过命令uname -n进行查看;

crm no

#不开启集群资源管理功能;

2、authkeys配置文件:

(1)生成sha1字符串;

echo heartbeat|sha1sum

1c81b56e0878d42e95064acfe07613edd5c6c29d

(2)修改参数:

vim /etc/ha.d/authkeys

auth 1

1 sha1 1c81b56e0878d42e95064acfe07613edd5c6c29d

(3)设置权限:

chmod 600 /etc/ha.d/authkeys

3、haresources配置文件:

vim /etc/ha.d/haresources

master-db IPaddr::172.16.1.26/24/eth1

#slave-db IPaddr::172.16.1.27/24/eth1

#master-db #表示主节点的主机名

#IPaddr::172.16.1.26/24/eth1#表示使用IPaddr脚本创建浮动ip在eth1网卡上;

21.8、测试:

[root@master-db ~]#/etc/init.d/heartbeat start

Starting High-Availability services: INFO: Resource is stopped

Done.

[root@slave-db ~]#/etc/init.d/heartbeat start

[root@master-db ~]#ip addr

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:5c:f0:d0 brd ff:ff:ff:ff:ff:ff

inet 172.16.1.16/24 brd 172.16.1.255 scope global eth1

inet 172.16.1.26/24 brd 172.16.1.255 scope global secondary eth1

inet6 fe80::20c:29ff:fe5c:f0d0/64 scope link

valid_lft forever preferred_lft forever

[root@slave-db ~]#ip addr

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:4a:99:4c brd ff:ff:ff:ff:ff:ff

inet 172.16.1.17/24 brd 172.16.1.255 scope global eth1

inet6 fe80::20c:29ff:fe4a:994c/64 scope link

valid_lft forever preferred_lft forever

[root@master-db ~]#/etc/init.d/heartbeat stop

[root@slave-db ~]#ip addr

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:4a:99:4c brd ff:ff:ff:ff:ff:ff

inet 172.16.1.17/24 brd 172.16.1.255 scope global eth1

inet 172.16.1.26/24 brd 172.16.1.255 scope global secondary eth1

inet6 fe80::20c:29ff:fe4a:994c/64 scope link

valid_lft forever preferred_lft forever

21.9、总结:

1、heartbeat安装后默认是自启动的;

chkconfig --list heartbeat

heartbeat 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

在生产环境中是不需要开机自启动的,进行手动启停,比较安全;

chkconfig heartbeat off

2、互为主备模式:

(1)配置参数;

cat /etc/ha.d/haresource

master-db IPaddr::172.16.1.26/24/eth1

slave-db IPaddr::172.16.1.27/24/eth1

(2)配置说明:

master-db和slave-db上的heartbeat启动后,各自都会配置一个vip地址,当其中一台宕机

后所有的vip都会漂移到一台服务器上;

个人认为实质是按照浮动ip前的主机名定义浮动ip的主从的;

(3)将本地置从的命令是(主):/usr/share/heartbeat/hb_standby

(4)接管自己的资源的命令是(主):/usr/share/heartbeat/hb_takeover local

21、部署heartbeat的更多相关文章

  1. (转)heartbeat原理及部署

    原文:http://yjy724.blog.51cto.com/10897133/1840794---------------------------------------------------h ...

  2. Heartbeat部署

    部署环境:CentOS 7 1.Heartbeat介绍 Heartbeat是Linux-HA项目中的一个组件,它实现了一个高可用集群系统.心跳检测和集群通信是高可用的两个关键组件,在Heartbeat ...

  3. Heartbeat使用梳理

    在日常的集群系统架构中,一般用到Heartbeat的主要就2种:1)高可用(High Availability)HA集群, 使用Heartbeat实现,也称为"双机热备", &qu ...

  4. Heartbeat基础知识-运维小结

    在日常的集群系统架构中,一般用到Heartbeat的主要就2种:1)高可用(High Availability)HA集群, 使用Heartbeat实现,也称为”双机热备”, “双机互备”, “双机”: ...

  5. LVS+Heartbeat 高可用集群方案操作记录

    之前分别介绍了LVS基础知识和Heartbeat基础知识, 今天这里简单说下LVS+Heartbeat实现高可用web集群方案的操作说明. Heartbeat 项目是 Linux-HA 工程的一个组成 ...

  6. CentOS7数据库架构之NFS+heartbeat+DRBD(亲测,详解)

    目录 参考文档 理论概述 DRBD 架构 NFS 架构部署 部署DRBD 部署heartbeat 部署NFS及配合heartbeat nfs切记要挂载到别的机器上不要为了省事,省机器 参考文档 htt ...

  7. Linux-HA实战(1)— Heartbeat安装

    接触Heartbeat主要是因为之前项目中使用了TFS,最近想给nameserver做HA,因为TFS官方用的Heartbeat,所以刚好了解下,参考了网络上很多内容,这里简单记录下. 内容 环境和软 ...

  8. HeartBeat的一些介绍和功能上的一些总结

    HeartBeat的作用: 通过HeartBeat,可以将资源(IP以及程序服务等资源)从一台已经故障的计算机快速转移到另一台正常运转的机器上继续提供服务,一般称之为高可用的服务.在实际的生产应用场景 ...

  9. 高可用集群heartbeat全攻略

    heartbeat的概念   Linux-HA的全称是High-Availability Linux,它是一个开源项目,这个开源项目的目标是:通过社区开发者的共同努力,提供一个增强linux可靠性(r ...

随机推荐

  1. 解决 Ubuntu 无法使用 root 用户进行 ssh 远程登陆

    解决 Ubuntu 无法使用 root 用户进行 ssh 远程登陆 操作系统 Ubuntu 20.04.2 LTS 一.修改sshd配置文件 //打开 /etc/ssh/sshd_config 配置文 ...

  2. 强哥PHP学习笔记

    1.php的代码,必须放在.php的文件中,php代码必须写在<?php ?>之间. 2.//单行注释 /* 多行注释 */ 3.默认首页index.php index.html inde ...

  3. Node.js入门(含NVM、NPM、NVM的安装)-(转载)

    Node.js的介绍 引擎 引擎的特性: JS的内核即引擎.因为引擎有以下特性: (1)转化的作用: 汽油柴油等等->动能 模板+数据--->页面 js引擎:js 代码--->机器码 ...

  4. HDFS 的内存存储是什么?

    引言 HDFS 的定位就是一个文件系统,用于存储文件,而 HDFS 对于文件的存储方式有两种: 内存存储 异构存储 内存存储 什么是内存存储? 首先,我们来了解一下到底什么是 "内存存储&q ...

  5. mysql基础之mariadb的安装,连接,用户,密码,权限设置语句详解

    一.mariadb安装 1.配置mariadb源: [root@ren7 ~]# vim /etc/yum.repos.d/mariadb.repo [mariadb] name = MariaDB ...

  6. 11.2 uptime:显示系统的运行时间及负载

    uptime命令可以输出当前系统时间.系统开机到现在的运行时间.目前有多少用户在线和系统平均负载等信息. [root@cs6 ~]# uptime   17:02:25 up 1:48, 3 user ...

  7. 通过CSS设计模式搭建自己系统的CSS架构

    theme: qklhk-chocolate 传统的CSS书写风格是随意命名,堆叠样式,造成了混乱不堪的结果,复杂页面的样式书写通常会出现几百行甚至上千行的代码,CSS设计模式在实际应用中的横空出世拯 ...

  8. 日常Bug排查-抛异常不回滚

    日常Bug排查-抛异常不回滚 前言 日常Bug排查系列都是一些简单Bug排查,笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材_. Bug现场 最近有人反映java应用操作数据库的时候,抛异 ...

  9. ADAS虚拟车道边界生成

    ADAS虚拟车道边界生成 Virtual Lane Boundary Generation for Human-Compatible Autonomous Driving: A Tight Coupl ...

  10. 2D池化IPoolingLayer

    2D池化IPoolingLayer IPooling层在通道内实现池化.支持的池类型为最大, 平均 和 最大平均混合. 层描述:二维池化 使用张量上的2D滤波器计算池化a tensor A, of d ...