我的编程空间,编程开发者的网络收藏夹
学习永远不晚

redhat6.5 heartheartbeat+drbd+mysql主库热备

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

redhat6.5 heartheartbeat+drbd+mysql主库热备

一 环境准备

1 环境

主机名 网卡 磁盘
master eth0 桥接模式 eth0(192.168.1.10) 自定义模式(VMnet2)(192.168.2.10)VIP 192.168.1.200/210 系统盘+20G外接磁盘
slave eth0 桥接模式(192.168.1.20) eth2 自定义模式(VMnet2)(192.168.2.20)VIP 192.168.1.200/210 系统盘+20G外接磁盘
server3 eth0 桥接模式 (192.168.1.30) 系统盘

master
redhat6.5 heartheartbeat+drbd+mysql主库热备
slave
redhat6.5 heartheartbeat+drbd+mysql主库热备
server3
redhat6.5 heartheartbeat+drbd+mysql主库热备

2 域名DNS

redhat6.5 heartheartbeat+drbd+mysql主库热备

3 时间同步

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

4 网卡配置

redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备

5 磁盘情况

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

6 软件包位置

链接:https://pan.baidu.com/s/1W2-jeaK_tc-abvSZzmRaiw
提取码:4evz

二 软件安装

1 drbd 简介

1 drbd 原理

drbd 是工作在文件系统之下,是基于块的迁移
drbd的迁移
文件系统------buffer-cache--------网卡传递到另一端------裸设备-----drbd写入磁盘
drbd 数据分为两部分,数据存储部分和元数据部分。

2 drbd 复制模式

协议A:本地写成功后就返回给客户端。
协议B:半同步的协议,本地写成功,发送到对端后立即返回,
协议C:发送到对端,并成功写入并进行缓存。

3 DRBD 的应用模式

1 单主模式,及主备模式,为典型的高可用性几圈方案
2 复主模式,需要采用共享cluster文件系统,如GFS和OCFS2

4 缺点

当一端在运行时另一端是不可见的

2 drbd 安装

两端配置基本相同

1 磁盘分区

/dev/sdb1 为数据区域
/dev/sdb2 为元数据区域
redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

2 格式化

元数据区域不能格式化
redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

3 下载并解压安装drbd

A 解决依赖
redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

yum -y install gcc kernel-devel kernel-headers flex

B 编译并安装
redhat6.5 heartheartbeat+drbd+mysql主库热备

./configure --prefix=/usr/local/drbd.8.4.4 --with-km --with-heartbeat --sysconfdir=/etc/

redhat6.5 heartheartbeat+drbd+mysql主库热备

make KDIR=/usr/class="lazy" data-src/kernels/2.6.32-431.el6.x86_64/
此处必须是自己uname -r 得到的内核,不一定是上面的内核

redhat6.5 heartheartbeat+drbd+mysql主库热备

make install

检验
redhat6.5 heartheartbeat+drbd+mysql主库热备

4 加载模块到内核

redhat6.5 heartheartbeat+drbd+mysql主库热备
slave 端加载
redhat6.5 heartheartbeat+drbd+mysql主库热备

5 配置

redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
slave 端相同
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
相关解释

global {
usage-count no;

}

common{
syncer {
rate 100M; #同步占用的带宽
verify-alg crc32c; # 验证使用的算法

        }
  }

#Primary for drbd1

resource data{
protocol C; # drbd使用的协议
disk {
on-io-error detach; #出现IO错误的处理方式
}
on master {
device /dev/drbd0; #drbd的设备
disk /dev/sdb1; #对应的数据分区
address 192.168.1.10:7788; #地址是监听自己心跳的IP地址
meta-disk /dev/sdb2[0]; #元数据位置
}
on slave {
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.1.20:7788;
meta-disk /dev/sdb2[0];
}

}

6 初始化数据

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备
其中data是上述资源的名称。

7 创建文件夹

redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备

8 启动服务

redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备

查看启动参数
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备

相关参数解释:
注意:只有主备两边的DRBD都启动起来才会生效
cs:链接状态
ro:角色信息,此时的状态为Secondary/Secondary,表示两台主机的状态都是备机状态
ds:磁盘状态,Inconsistent/Inconsistent显示的状态内容“不一致”,这是因为DRBD无法判断哪一方为主机,应以哪一方的磁盘数据作为标准
dw:磁盘写操作
dr: 磁盘读操作
ns: 网络发送
nr: 网络接受
如果主动端的NS和slave端的NR相同表示发送与接受同步 。

9 主动端宣告自己是primary

redhat6.5 heartheartbeat+drbd+mysql主库热备

查看同步情况
redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

10 创建挂载文件并测试

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备
挂载同步测试
redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备
从端测试
redhat6.5 heartheartbeat+drbd+mysql主库热备
恢复
redhat6.5 heartheartbeat+drbd+mysql主库热备

3 heartbeat 简介

1 作用

通过heartbeat 可以进行故障转移并提供相关的服务
在故障转移期间也需要切换时间,常见的时间是5-20秒左右。但是能够确保业务一致性
heartbeat的高可用是服务器级别的,不是服务级别的。,服务的down机不会导致服务的切换。

2 Heartbeat 切换的常见条件

1 服务器down机
2 heartbeat 服务本身down机
3 心跳链接线down机

3 Heartbeat 消息类型

Heartbeat 高可用软件在工作过程中,一般来说,有三种消息类型,具体为:
1 心跳消息
越150字节,可能为单播,广播或组播,控制心跳频率及出现故障要等待多久进行故障转换

2 集群转换消息
Ip-request 和 ip-request-resp
当主服务器恢复在线状态后,通过ip-request消息请求备机释放主服务器失败时被服务器取得的资源,然后备份服务器关闭释放主服务器失败时取得的资源及服务。

被服务器释放主服务器失败时取得的资源服务后,就会通过ip-request-resp消息通知主服务器他不再拥有该服务器的资源及服务,主服务器收到来自被节点的ip-request-resp消息通知后,启动失败时释放的资源及服务,并开始提供正常的访问服务。
3 重传请求
rexmit-request 控制重传心跳请求。
以上心跳控制消息都使用功能的是UDP协议发送到/etc/ha.d/ha.cf 文件制定的任意接口,或指定的多播地址。

4 Ip地址接管和故障转移

Heartbeat 是通过IP地址接管和ARP广播进行故障转移
ARP 广播在主服务器故障时,备用节点接管资后,会立即强制更新所有客户端本地的ARP(及清除客户端本地缓存的失败服务器的VIP和MAC地址的解析记录),确保客户端和新的主服务器之间的对话

4 heartbeat 安装

1 安装heartbeat

redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备

2 复制配置文件

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

3 配置

配置密钥并配置其权限为600,必须为600
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备

配置文件解析
Debugfile 调试日志存放位置

Logfile 日志存放位置

Logfacility local 在syslog 服务中配置通过locally 设备接受日志

Keepalive2 指定心跳间隔时间为2秒

Deadtime 30 指定若备用节点在30秒内没有接受达到主节点的心跳信号,则立即接管主节点的服务资源

Warntime 10 指定心跳延迟为10秒。当10秒内备份节点不能接受到主节点的心跳信号时,会向日志中写入一个警告日志,但此时不会切换服务

Initdead 120 指定在heartbeat 首次运行后,需要等待120秒才启动主服务器的资源,该选项用于解决这种情况产生的时间间隔,取值至少为deadtime的两倍,单机启动时会遇到VIP绑定很慢,为正常现象

Bcast eth2 指明心跳使用以太网广播方式在eth2接口上进行广播,如使用两个实际网络来传递心跳则 bcast eth0 eth2

Mcast eht2 225.0.0.1 694 1 0 设置广播通信使用的端口,694为默认使用的端口,一个是 TTL

Auto_failback on 用来定义当主节点恢复后,是否将服务自动切回

Node master 主节点主机名,

Node slave 备用节点主机名

Crm no 是否开启cluster resource manager (集群资源管理器)

redhat6.5 heartheartbeat+drbd+mysql主库热备
复制到被动端
redhat6.5 heartheartbeat+drbd+mysql主库热备

4 启动并查看

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备

5 结合DRBD

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

5 mysql安装

1 配置yum源

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

2 安装mysql

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

3 配置/data 权限

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

4 配置mysql配置文件

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

5 启动mysql

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备

6 删除slave端mysql

redhat6.5 heartheartbeat+drbd+mysql主库热备

7 配置切换

redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备

三 配置mysql热备和从库

1 配置mysql热备

1 复制相关配置

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

2 关闭mysql并重启服务heartbeat

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

3 关闭mater

redhat6.5 heartheartbeat+drbd+mysql主库热备

redhat6.5 heartheartbeat+drbd+mysql主库热备

4 恢复

redhat6.5 heartheartbeat+drbd+mysql主库热备

2 配置主从同步

1 配置server-id和二进制日志开启

redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
重启服务器
redhat6.5 heartheartbeat+drbd+mysql主库热备

2 配置数据库的导出和导入,保证同步之间的主从相同

redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备

3 配置主从同步

redhat6.5 heartheartbeat+drbd+mysql主库热备

grant replication slave on . to admin@'%' identified by 'root123';

redhat6.5 heartheartbeat+drbd+mysql主库热备

change master to master_host='192.168.1.200',master_user='root',master_password='root123',master_log_file='mysql-bin.000001',master_log_pos=319;
此 192.168.1.200为heartbeat 的VIP,专用于数据链接

测试
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备
redhat6.5 heartheartbeat+drbd+mysql主库热备

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

redhat6.5 heartheartbeat+drbd+mysql主库热备

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql双主热备失效怎么解决

MySQL双主热备失效可能是由于以下几个原因引起的:网络问题:检查双主服务器之间的网络连接是否正常,包括网络延迟、丢包等情况。可以通过ping命令来测试网络连接情况。主从同步延迟:检查主从服务器之间的同步延迟情况,可以通过查看show sl
2023-10-26

云主机怎么实现数据库热备份

云主机可以通过以下几种方式实现数据库热备份:1. 数据库复制:使用数据库复制功能实现热备份。数据库复制可以将主数据库的数据实时复制到备用数据库中,确保备用数据库的数据与主数据库保持同步。当主数据库发生故障时,可以快速切换到备用数据库继续提供
2023-09-20

MySQL INSERT锁与数据库热备份的实现

MySQL的INSERT锁是指在向表中插入数据时会对表进行加锁操作,以防止其他操作对表数据的修改。这样可以保证在插入数据时表的完整性和一致性。INSERT锁是一种行级锁,只会锁定插入数据的行,而不会锁定整个表。数据库的热备份是指在数据库运
MySQL INSERT锁与数据库热备份的实现
2024-08-14

docker compose启动mysql双机热备互为主从怎么实现

本篇内容主要讲解“docker compose启动mysql双机热备互为主从怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker compose启动mysql双机热备互为主从怎么实
2023-07-02

docker-compose启动mysql双机热备互为主从的方法实现

目录1. 环境说明2. 启动 mysql-013. 启动 mysql-024. 配置主从同步4.1 mysql-01(master) ==> mysql-02(slave)4.2 mysql-02(master) ==> mysql-01(
2022-07-14

MySQL中使用备库作逻辑备份,如何处理主库的DDL语句

## 确保可重复读隔离级别S1: set session transaction isolation level repeatable read;## 确保能得到一个一致性视图S2: start transaction with consistent snap
MySQL中使用备库作逻辑备份,如何处理主库的DDL语句
2021-04-01

linux系统mysql数据库备份及主从基础(1)

一、物理备份Xtrabackup1.安装#上传文件包[[email protected] ~]# rz percona-xtrabackup-24-2.4.4-1.el6.x86_64.rpm#下载epel源wget -O /etc/yum.repos.d/e
linux系统mysql数据库备份及主从基础(1)
2015-02-22

编程热搜

目录