CentOS 7.5数据库架构之NFS+Heartbeat+DRBD实测

本案例只是,为搭建MySQL集群做准备,并无MySQL

DRBD

DRBD(distributed replicated block device分布式复制块设备)是一个基于软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。DRBD是镜像块设备,是按数据位镜像成一样的数据块

DRBD可以部署在如下类的底层设备上: 1、一个磁盘,或者是磁盘的某一个分区; 2、一个soft raid 设备; 3、一个LVM的逻辑卷; 4、一个EVMS(Enterprise Volume Management System,企业卷管理系统)的卷; 5、其他任何的块设备。

工作原理

CentOS 7.5数据库架构之NFS+Heartbeat+DRBD实测

DRBD需要运行在各个节点上,且是运行在节点主机的内核中,所以DRBD是内核模块,在Linux2.6.33版本起开始整合进内核。

DRBD工作的位置在文件系统的buffer Cache和磁盘调度器之间

如上图左节点为活跃节点实线箭头,有节点为备用节点虚线箭头。 左节点接收到数据法网内核的数据通路,DRBD在数据通路中注册钩子检查数据(类似ipvs)当检测到接收的数据是发往自己管理的存储位置,程序会复制另一份,一份存储到本机的DRBD存储设备,另一份就发给TCP/IP协议栈,通过网络传输到另一台节点上TCP/IP协议栈;另一台节点上运行的DRBD模块同样在数据通路上监测数据,当检测到传输过来的数据时,运行存储机制,存储到本机DRBD存储设备的对应位置。

如果左节点宕机,在高可用集群中右节点成为活跃节点,并且会接收到左节点宕机的信号,接受数据先保存到本地,左节点恢复上线之后,再把左节点宕机后右节点变动的 数据镜像到左节点。 每个设备(drbd 提供了不止一个设备)都有一个状态,可能是‘主’状态或‘从’态。在主节点上,应用程序应能运行和访问drbd设备(/dev/drbd)。每次写入会发往本地磁盘设备和从节点设备中。从节点只能简单地把数据写入它的磁盘设上。 读取数据通常在本地进行。如果主节点发生故障,心跳(heartbeat或corosync)将会把从节点转换到主状态,并启动其上的应用程序。(如果您将它和无日志FS 一起使用,则需要运行fsck)。如果发生故障的节点恢复工作,它就会成为新的从节点,而且必须使自己的内容与主节点的内容保持同步。

复制模式 镜像过程完成之后还需要返回成功或失败的回应信息。回应信息可以在传输过程中的不同位置返回,如上图A/B/C三处, 可以分为三种复制模式:

特点: 实时复制:一段修改之后马上复制过去 透明的传输:程序不需要检测到这个数据存储在多个主机上 同步或者异步:同步镜像:程序写操作完成后会通知所有已经连接的主机;异步同步:程序会在本地写完之前通知其它的主机。

A:一旦本地磁盘写入已经完成,数据包已在发送队列中,则写操作被认为是完成的 。在一个节点发生故障时,可能发生数据丢失,因为被写入到远程节点上的数据可能仍在发送队列。尽管,在故障转移节点上的数据是一致的,但没有及时更新。这通常是用于地理上分开的节点。 B:一旦本地磁盘写入已完成且复制数据包达到了对等节点则认为写操作在主节点上被认为是完成的。数据丢失可能发生在参加的两个节点同时故障的情况下,因为在飞行中的数据可能不会被提交到磁盘。 C:只有在本地和远程节点的磁盘已经确认了写操作完成,写才被认为完成。没有任何数据丢失,所以这是一个群集节点的流行模式,但I/O吞吐量依赖于网络带宽。 A 数据一旦写入磁盘并发送到网络中就认为完成了写入操作。 B 收到接收确认就认为完成了写入操作。 C 收到写入确认就认为完成了写入操作。 就目前而言应用最多和应用最广泛的为协议C。

架构

MySQL+heartbeat+drbd+lvs是一套成熟的集群解决方案在现在多数企业里面,通过heartbeat+DRBD完成MySQL的主节点写操作的高可用性,通过MySQL+lvs实现MySQL数据库的主从复制和MySQL读写的负载均衡。这个方案在读写方面进行了分离,融合了写操作的高可用和读操作的负载均衡。

NFS

NFS作为业界常用的共享存储方案,被众多公司采用。使用NFS作为共享存储,为前端WEB server提供服务,主要存储网页代码以及其他文件。

常用同步技术

rsync+inotify实现文件同步

借助DRBD,实现文件同步
但是以上方案都没有实现高可用,只是实现了两者数据同步。但是业务要求NFS服务器必须是高可用,所以我们在第二种同步方案的基础上,在结合heartbeat来实现高可用。

架构部署

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/457e3b51f6565777a75797eeae2a5949.html