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) eth1 自定义模式(VMnet2)(192.168.2.20)VIP 192.168.1.200/210

系统盘+20G外接磁盘

server3

eth0 桥接模式 (192.168.1.30)

系统盘

master

slave

server3

2 域名DNS

3 时间同步

4 网卡配置

5 磁盘情况

6 软件包位置

二 软件安装

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 为元数据区域

2 格式化

元数据区域不能格式化

3 下载并解压安装drbd

A 解决依赖

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

B 编译并安装

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

make KDIR=/usr/src/kernels/2.6.32-431.el6.x86_64/

此处必须是自己uname -r 得到的内核,不一定是上面的内核

make install

检验

4 加载模块到内核

slave 端加载

5 配置

slave 端相同

相关解释

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 初始化数据

其中data是上述资源的名称。

7 创建文件夹

8 启动服务

查看启动参数

相关参数解释:

注意:只有主备两边的DRBD都启动起来才会生效

cs:链接状态

ro:角色信息,此时的状态为Secondary/Secondary,表示两台主机的状态都是备机状态

ds:磁盘状态,Inconsistent/Inconsistent显示的状态内容“不一致”,这是因为DRBD无法判断哪一方为主机,应以哪一方的磁盘数据作为标准

dw:磁盘写操作

dr: 磁盘读操作

ns: 网络发送

nr: 网络接受

如果主动端的NS和slave端的NR相同表示发送与接受同步 。

9 主动端宣告自己是primary

查看同步情况

10 创建挂载文件并测试

挂载同步测试

从端测试

恢复

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

2 复制配置文件

3 配置

配置密钥并配置其权限为600,必须为600

配置文件解析

Debugfile 调试日志存放位置

Logfile 日志存放位置

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

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

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

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

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

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

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

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

Node master 主节点主机名,

Node slave 备用节点主机名

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

复制到被动端

4 启动并查看

5 结合DRBD

5 mysql安装

1 配置yum源

2 安装mysql

3 配置/data 权限

4 配置mysql配置文件

5 启动mysql

6 删除slave端mysql

7 配置切换

三 配置mysql热备和从库

1 配置mysql热备

1 复制相关配置

2 关闭mysql并重启服务heartbeat

3 关闭mater

4 恢复

2 配置主从同步

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

重启服务器

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

3 配置主从同步

grant replication slave on . to [email protected]‘%‘ identified by ‘root123‘;

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,专用于数据链接

测试

原文:http://blog.51cto.com/11233559/2293869

drbd实现mysql地热备_heartheartbeat+drbd+mysql主库热备相关推荐

  1. 【MySQL系列】单机热备(主从结构)和双机热备介绍和使用

    Mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题.还好mysql数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份的数据库中.实现mysql数据库的热 ...

  2. docker实现MySQL主主互备(主主双机热备)

    文章目录 环境配置 主主互备(主主双机热备) 主MySQL服务器A 主MySQL服务器B 配置主MySQL服务器A和主MySQL服务器B 环境配置 本地操作系统:Win10 虚拟机的操作系统:Cent ...

  3. Dataguard - 通过主库热备方式创建容灾库

    2019独角兽企业重金招聘Python工程师标准>>> 部署dataguard时需要利用主库的备份创建容灾库,对于小库可以采用冷备方式,而对于大库,因做冷备导致过长的停机时间是很多企 ...

  4. keepalived mysql双主架构图_MySQL双机热备(keepalived+mysql双主)

    科普描述 双机热备是指两台机器都在运行, 但并不是两台机器都同时在提供服务. 当提供服务的一台 出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短. MySQL 双主复制,即互为 ...

  5. e盘是否具有读写权限_轻松搭建MySQL主从复制、读写分离(双机热备)

    主从复制: 当mysql数据库的数据量太大的时候,查询数据就很吃力了,无论怎么优化都会产生瓶颈,这时我们需要增加服务器设备来实现分布式数据库,实现多机热备份,要想实现多机的热备,首先要了解主从数据库服 ...

  6. mysql双机热备 读写分离_轻松搭建MySQL主从复制、读写分离(双机热备)

    主从复制: 当mysql数据库的数据量太大的时候,查询数据就很吃力了,无论怎么优化都会产生瓶颈,这时我们需要增加服务器设备来实现分布式数据库,实现多机热备份,要想实现多机的热备,首先要了解主从数据库服 ...

  7. ubuntu mysql双主热备配置_MySql双主热备配置

    用四台服务器配置MySql双主热备配置 主机1服务器ip:192.168.31.208 主机2服务器ip:192.168.31.133 从机1服务器ip:192.168.31.121 从机2服务器ip ...

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

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

  9. mysql双机热备数据库_MySQL 数据库双机热备方案

    标签: 转载:http://www.microcolor.cn/solutions/80.html 本手册主要介绍通过使用 MicroColor ServHAMirror/Cluster 软件在Win ...

最新文章

  1. SAP SD基础知识之SD常见流程概述
  2. 谈谈对java中分层的理解_让我们谈谈网页设计中的卡片设计
  3. WebSocket轻松单台服务器5w并发jmeter实测
  4. ubuntu14.04 x86编译upx 3.92 及so加固
  5. h5页面生成图片分享到微信js_html2canvas 动态生成微信分享海报的优质js库
  6. python登录网页_Python如何爬取需要登录的页面
  7. jedis连接池详解(Redis)
  8. matlab矩阵方程奇异,matlab求解非线性方程组 牛顿迭代发 奇异矩阵
  9. 解决安装TortoiseSVN时,提示 Windows-Update(kb2999226)
  10. masm5安装教程_MASM使用方法及版本号
  11. IDEA打包jar-解决错误: 找不到或无法加载主类 main
  12. 【致远FAQ】致远OA启动不起来了(上集)
  13. 摸索Detours 1:使用Vs2019 编译Detours
  14. C语言,利用条件语句进行身高预测
  15. 80%中国男人不敢主动和女人搭讪
  16. Js同步加载图片资源
  17. 九度OJ—题目1066:字符串排序
  18. 如何提升语音识别技术的识别能力?
  19. 完美解决Macbook安装win 10调节亮度的问题
  20. c++中的 for_each 函数

热门文章

  1. 用asp.net画饼图
  2. nema gps数据转换 matlab,GPS通信的NEMA协议与定位数据的提取.pdf
  3. 用友服务器系统版本低,客户端版本低于服务器端,请升级后再登录
  4. Request对象及其API应用实操
  5. 【编译原理】文法分类
  6. python水平_python水平
  7. security 底层原理_spring security 实现remeber me(免登陆功能)的原理
  8. 新疆计算机一级考试试题手机软件,新疆维吾尔自治区计算机一级考试理论题库(最新最完整)...
  9. 『操作系统』 进程的描述与控制 Part3 管程
  10. malloc()函数解析