drbd高可用服务(实现数据同步)


基本介绍

drbddistrbuted replicated block device):分布式复制块设备

类似 rsync + inotify 的架构:inotify基于文件系统上层,当文件系统中有数据发生变化,就调用rsync服务,将文件系统中的文件同步到备库。

涉及对象

drbd 中的块设备可以是磁盘分区,lvm逻辑卷,或整块磁盘等。

原理

drbd软件工作位置是在文件系统层级以下,比文件系统更加靠近操作系统内核及IO栈。

基于网络的raid-1,当我们将数据写入本地磁盘系统时,数据还会被实时发送到网络中另一台主机中,以相同的形式记录在另一个磁盘系统中,使得本地(主节点)与远程主机(备节点)的数据保持实时数据同步。

 

如果本地系统出现故障,那么远程主机上还会保留有一份和主节点相同的数据备份可以继续使用。不会数据不会丢失。还会提升访问数据的用户访问体验(直接接管提供服务,降低宕机修复时间)。drbd服务的作用类似于磁盘阵形里的raid1功能,就相当于把网络中的两台服务器做成了类似磁盘阵列里的raid1一样。

Drbd工作原理图:

 

 

 

1.SERVICE 将数据写入==> FILE SYSTEM ==> BUFFER CACHE ==> DRBD

2.DRBD分两条路走,一条是通过磁盘驱动DISK DRIVER写入到磁盘

3.另一条通过tcp/ip协议,将数据通过网卡将数据发送到备节点...

两种工作模式

1)实时同步模式:

当数据写到本地磁盘和远端服务器磁盘都成功后才会返回成功写入。DRBD服务协议C级别就是这种模式,可以防止本地和远端数据丢失和不一致,此种模式是生产环境中最常用的模式。

2)异步同步模式:

当数据写入到本地服务器成功后就返回成功写入,不管远端服务器是否写入成功。

还可能是数据写入到本地服务器或远端服的buffer成功后,返回成功,就是DRBD服务协议的AB级别

提示:在nfs网络文件系统的时候也有类似的参数和功能。例如:nfs服务参数syncasyncmount挂载参数也有syncasync

DRBD3种同步复制协议

协议A:异步复制协议。本地写成功后立即返回,数据放在发送BUFFER中,可能丢失。

协议B:内存同步(半同步)复制协议。本地写成功并将数据发送到对方后立即返回,如果双机掉电,数据可能丢失(mysql5.5以上支持)。

协议C:同步复制协议。本地和对方服务器磁盘都写成功确认后返回成功。如果单机掉电后单机磁盘损坏,数据都不会丢失。

工作中一般用协议C。选择协议将影响流量,从而影响网络延时。

DRBD的生产应用模式

单主模式及主备模式,为典型的高可用性集群方案。

复主模式:需要采用共享cluster文件系统,如gfsocfs2。用于需要从2个节点并发访问数据的场合,需要特别配置。

DRBD的企业应用场景

生产场景中会有很多基于高可用服务器对drbd的数据同步解决方案。

例如:heartbeat+drbd+nfs/mfs/gfsheartbeat+drbd+mysql/oracle等。实际上drbd可以配合任意需要数据同步的所有服务的应用场景。

相关数据同步工具介绍

1) Rsyncsersync,inotify,lsyncd

2) Scp

3) Nc

4) Nfs

5) Union双机同步

6) Csync2多机同步

7) 软件自身同步机制(mysql,oracle,mongdb,ttserver,redis...

8) Drbd

 

补充:

Oracle dg分为基于物理block和逻辑block

逻辑:基于sql,类似

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值