一、Drbd介绍
Distributed Replicated Block Device(DRBD)是基于块设备在不同的高可用服务器之间同步和镜像数据的软件,通过它可以实现在网络中两台服务器这间基于块设备级别的实时或异步镜像或同步复制,其实就类似于rsync+inotify这样的架构项目软件。只不过DRBD是基于文件系统底层的,即block层级同步,而rsync+inotify是在文件系统之上的实际物理文件的同步,因此,drbc的效率更高,效果更好。
提示:所指的块设备可以是磁盘分区,LVM逻辑卷,或整块磁盘等。相当于raid1功能(适合多小文件同步),但DRBC的同步不能基于目录。
二、Drbd工作原理
1、原理图
2、DRBD同步的三种模式
DRBD有实时和异步两种同步模式:
1)实时同步模式:
仅仅当数据写入到本地磁盘和远端服务器磁盘都成功后才会返回成功写入。DRBD服务的协议C级别就是这种实时同步模式,可以防止本地和远端数据丢失和不一致,此种模式是在生产环境中最常用的模式。
2)异步同步模式:
当数据写入到本地服务器成功后就返回成功写入,不管无端服务器是否写入成功。
例如:当数据写入到本地服务器以及发送到本地的TCP BUUFER后返回成功写入,这是DRBC服务的协议A级别工作模式,当数据写入到本地服务器以及发送到远端节点后,返回成功写入,这是DRBC服务的协议B级别工作模式
3、DRBC双节点访问
1)一般公主节点可以提供业务访问
备节点不能提供数据访问,但是备节点的DRBD服务是正常的,数据也会保持实时同步,但是不能对应的设备及分区,也就是没法同时提供服务。这是由文件系统的特性决定的。
2)如何让备节点也可以提供业务访问?
特殊的文件系统如GFS,OCFS2可以实现主主模式,或通过挂载到LVM来实现。
4、DRBC常用应用模式
单主模式:即主备模式,为典型的带数据同步的高可用性集群方案。
复主模式:需要采用共享cluster文件系统,如GFS和OCFS2,用于需要从2个节点并发访问数据的场合,需要特别配置。
5、DRBD裂脑
当心跳线路出现暂时性故障时,会导致两端都各自提升为Primary.当两端再次连通时,需手工处理这种情况。
DRBD提供处理裂脑的两种方式:
1)自动处理方式:/etc/drbd.conf
2)手动处理方式
三、DRBD安装
1、环境准备
1)两台虚拟机,分别有三块网卡。
外网:eth0
内网:eth1
数据传输心跳线:eth3
2)分别添加两块同等大小的磁盘并分区
3)虚拟机分别为DBRD_01,DRBD_02做如下操作
DRBD_01:
a) 添加hosts指向对方的主机名
b) 添加路由,去往DRBD_02主机的心跳线网卡eth3
c) 格式化磁盘,分两个区,一个存放数据,一个存放DRBD的meta数据,这个分区记住不能创建文件系统,由DRBD自动处理相应的文件系统存放。
d) 格式化存放数据的分区,并挂载即可。
DRBD_0-2:
操作同DRBD_01
待续 …………