1、 什么是DRBD
DRBD是由内核模块和相关脚本而构成,用以构建高可用性的集群。其实现方式是通过网络来镜像整个设备。它允许用户在远程机器上建立一个本地块设备的实时镜像。与心跳连接结合使用,也可以把它看作是一种网络RAID。
2、DRBD是如何工作的
Drbd 负责接收数据,把数据写到本地磁盘,然后发送给另一个主机。另一个主机再将数据存到自己的磁盘中。目前,drbd 每次只允许对一个节点进行读写访问,这对于通常的故障切换高可用性集群来讲已经足够用了。以后的版本将支持两个节点进行读写存取。
3、 drbd与现在的HA集群的关系
一个drbd系统由两个以上节点构成,与HA集群类似,也有主用节点和备用节点之分,在带有主要设备的节点上,应用程序和操作系统可以运行和访问drbd设备(/dev/nbX)。
在主节点写入的数据通过drbd设备存储到主节点的磁盘设备中,同时,这个数据也会自动发送到备用节点相应的drbd设备,最终写入备用节点的磁盘设备中,在备用节点上,drbd只是将数据从drbd设备写入到备用节点的磁盘设备中。
大部分现行高可用性集群都会使用共享存储,而Drbd也可以作为一个共享存储设备,使用drbd不需要任何硬件的投资。因为它在IP网络中运行,所以,利用drbd作为共享存储设备,要节约很多成本,因为在价格上IP网络要比专用的存储网络经济的多。
4.DRBD与NFS区别
NFS 网络文件系统是基于网络共享的形式。
DRBD 基于块复制的形式,传输速度及数据完整性更好
5、 DRBD协议说明
A 数据一旦写入磁盘并发送到网络中就认为完成了写入操作.
B 收到接收确认就认为完成了写入操作.
C 收到写入确认就认为完成了写入操作.
6、drbd设备的三个进程
每个drbd设备会有三个进程:
drbd0_worker是drbd0的主要进程,
drbd0_asender是primary上drbd0的数据发送进程,
drbd0_receiver是secondary上drbd0的数据接收进程
7、 DRBD工作原理
+------------+
| 文件系统 |
+------------+
|
V
+---------------------+
| 块设备层 /dev/drbd0 |
+---------------------+
| |
| |
+------------+ +-----------+
| 本地硬盘 | | 远程主机 |
| /dev/sda5 | | /dev/sda5 |
+------------+ +-----------+