热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

学习笔记之搭建heartbeat集群

    HearBeat          Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统。心跳服务和集群通信是高可用的两个关键组件&#xf
    HearBeat

         Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统。心跳服务和集群通信是高可用的两个关键组件,在 Heartbeat 项目里,由 heartbeat 模块实现了这两个功能。


         heartbeat (Linux-HA)的工作原理:heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未收到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运行在对方主机上的资源或者服务。


准备两台主机

主机


双机热备.先看看/etc/hosts。 master 和slave是两个节点。172.25.7.7是对外的IP。mine是我的真机。(当作网关了)

配置yum源

[Server]
name=Red Hat Enterprise Linux Server
baseurl=http://172.25.7.250/rhel6.5/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[HighAvailability]
name=Red Hat Enterprise Linux HighAvailability
baseurl=http://172.25.7.250/rhel6.5/HighAvailability
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[ResilientStorage]
name=Red Hat Enterprise Linux ResilientStorage
baseurl=http://172.25.7.250/rhel6.5/ResilientStorage
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[ScalableFileSystem]
name=Red Hat Enterprise Linux ScalableFileSystem
baseurl=http://172.25.7.250/rhel6.5/ScalableFileSystem
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[LoadBalancer]
name=Red Hat Enterprise Linux LoadBalancer
baseurl=http://172.25.7.250/rhel6.5/LoadBalancer
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release






准备好需要安装的rpm包

以下只演示master的配置。slave执行相同的动作。

在拥有rpm包的目录执行安装命令(yum -y install *   ,注意yum源必须配置成我上面所示例的)


进入heartbeat的配置文件主目录

hearbeat的文件主目录在/etc/ha.d下。默认是没有配置文件的,需要从帮助文档复制一份过来

看看配置文件,heartbeat的配置文件有3个。

ha.cf : 主配置文件

authkeys : 认证文件。里面有加密方式 。文件权限需要改成600

haresources :资源文件

       这个文件中定义了实现集群所需的各个软件的启动脚本,这些脚本必须放在/etc/init.d 或者
/etc/ha.d/resource.d 目录里 IPaddr 的作用是启动 Virutal IP,它是 HeartBeart 自带的一个
脚本;ldirectord 的作用是启动 ldirectord 监控程序,它会使 ldirectord.cf 中定义的 lvs 生效,
并监听其健康状;httpd 是 apache 服务的启动脚本。


复制过来,并且修改authkeys的权限



配置ha.cf

keepalive 2 : 每2s发一次心跳包

deadtime 30:   节点死亡时间阀值,就是从节点在过了 30 后还没有收到心跳就认为主节点死亡

warntime 10:   发出警告时间

initdead 60:  守护进程首次启动后应该等待 60 秒后再启动主服务器上的资源

udpport 12307 :  心跳信息传递的 udp 端口,使用端口 694 进行 bcast 和 ucast 通信(注意,该端口必须没有被其他进程占用,并且局域网内只有两个节点主机使用这个端口)

bcast eth0: 选择网卡eth0 并且以UDP广播形式工作


node master.wjx.cn: 双机热备中的一个节点,写在第一行的默认就是主节点

ping 172.25.7.250 :ping一个局域网内的其他主机,用来确定网络通畅。一般来说最好写成网关

respawn :默认 heartbeat 并不检测除本身之外的其他任何服务,也不检测网络状况。
所以当网络中断时,并不会进行 Load Balancer 和 Backup 之间的切换。
可以通过 ipfail 插件,设置'ping nodes'来解决这一问题,但不能使用一个集群节点作为
ping 的节点。(注意:应该是lib64.默认是lib)


配置authkeys

只是配置一下加密方式


配置 haresources

这里先以web集群为例子,其中ip地址必须填成一个局域网内没有任何人使用的一个IP


配置OK


将3个配置文件给slave复制一份。


给master和slave都下载安装httpd(yum -y install httpd)

启动heartbeat(两边都启动)

开启后观察日志文进(/var/log/messages)

观察master的ip地址(多了一个刚才写的那个172.25.7.7的IP)


测试一下,将master.wjx.cn这台主机关机


master关机前。

master关机后。



web的heartbeat的配置就到此结束了。接下来演示一下mysqld的双机热备heartbeat。


首先数据库最重要的是存储。drbd就是一个同步数据的一个工具。首先要的是安装drbd。其次就是物理设备。两台主机都应该拥有大小一样的一块硬盘设备。


MySQL的双机热备

安装drbd,准备相关的rpms。

安装(使用网上下载tar包制作drbd的源码包的方法--->  点击打开链接)


drbd的配置文件位置


随便起个名字,编辑,但必须以res结尾

vim /etc/drbd.d/example.res

内容如下


文件编辑完成后给slave也复制一份。

master和slave有配置文件example.res后执行

启动drbd服务(两边都开启,一个开启后,另一个会等待)


将master设为主,而slave设为从,开始同步数据.查看

同步很缓慢阿。。。我的是4G的硬盘

以上效果看到后就可以格式化磁盘了


mkfs.ext4 /dev/drbd1   就可以


格式化后,将/dev/drbd1挂载到/var/lib/mysql

启动mysqld。等待初始化后(会给/var/lib/mysql中写数据),再将mysqld关掉

再关掉 。 。 。




开始配置集群

卸载/dev/drbd1

umount /dev/drbd1

先将master和slave都设置成secondary。


修改heartbeat的资源配置文件haresources


给slave也复制一份


OK,完成了。重新启动heartbeat .








推荐阅读
  • 【Linux332】LVS的DR配置详解(ipvsadm+arptables)
    文章目录1.DR简 ... [详细]
  • LVS-DR数据包流向分析介绍
    下文给大家带来LVS-DR数据包流向分析介绍,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍, ... [详细]
  • 本文详细介绍了如何在 Linux 系统上安装 JDK 1.8、MySQL 和 Redis,并提供了相应的环境配置和验证步骤。 ... [详细]
  • Linux下MySQL 8.0.28安装指南
    本文详细介绍了在Linux系统上安装MySQL 8.0.28的步骤,包括下载数据库、解压数据包、安装必要组件和启动MySQL服务。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • Linux入门教程第七课:基础命令与操作详解
    在本课程中,我们将深入探讨 Linux 系统中的基础命令与操作,重点讲解网络配置的相关知识。首先,我们会介绍 IP 地址的概念及其在网络协议中的作用,特别是 IPv4(Internet Protocol Version 4)的具体应用和配置方法。通过实际操作和示例,帮助初学者更好地理解和掌握这些基本技能。 ... [详细]
  • 本文介绍了如何查看PHP网站及其源码的方法,包括环境搭建、本地测试、源码查看和在线查找等步骤。 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • Unity与MySQL连接过程中出现的新挑战及解决方案探析 ... [详细]
  • Java学习日常笔记:详细记录操作日志的方法与实践
    Java学习日常笔记:详细记录操作日志的方法与实践 ... [详细]
author-avatar
裸身耍丶暧昧800
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有