1.Drdb概念:

    分布式复制块设备(DRBD技术)是一种基于软件的,无共享,复制的存储解决方案,在服务器之间的对块设备(硬盘,分区,逻辑卷等)进行镜像。

    Drdb是由内核模块和相关脚本而构成的,用以构建高可用的集群,其实现方法是通过整个网络来镜像整个设备,运行用户在远程主机上建立一个本地块设备的实时镜像,与心跳线结合使用,也可以看作是一种网络RADI。

2.Drdb如何工作:

    drdb负责接收数据,把数据写到本地磁盘,然后发送给另一个主机,另一个主机将数据存到自己的磁盘中,目前,drdb每次只运行对一个节点进行读写访问,对于网络故障切换已经够用,以后多版本将致支持两个节点进行读写存取。

3.drdb与Ha的集群关系

    一个drdb系统是由两个节点构成,与Ha集群类似,也有主用节点和备用节点之分,在带有主要设备的节点上,应用程序和操作系统可以运行和访问drdb设备(/dev/nbx)

    在主节点写入的数据通过drdb设备存储到主节点的磁盘设备中,同时,这个数据也会自动发送到备用节点相应的drdb设备,最终写入备用节点的磁盘设备中,在备用节点上,drdb只是将数据从drdb设备写入到备用节点的磁盘设备中。

4.内部实现原理

Drbd的概念和安装一_第1张图片


5.Drdb协议说明

A数据一旦写入磁盘并发送到网络中就认为完成写入操作。

B收到接受确认就认为完成了写入操作。

C收到写入确认就认为完成了写入操作。

6.Drdb设备的三个进程

每个设备会有三个进程:

drdb0_worker 主程序。

drdb0_asender是prinmay上drdb0的数据发送进程。

drdb0_receiver是secondary上drdb0的数据接收进程。

7.安装drdb如图

Drbd的概念和安装一_第2张图片

9.安装Drdb软件

[root@kali1 ~]#uname  -a

Linux kali1.com2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64GNU/Linux

http://drbd.linbit.com/download/mainline/

官方说明,最低系统内核要求2.6.33通过第三方下载以下两包并安装:

drbd84-utils-8.9.1-1.el6.elrepo.x86_64提供配置文件和管理工具等

kmod-drbd84-8.4.5-504.1.el6.x86_64提供库文件

 [root@kali ~]# rpm -ivhkmod-drbd84-8.4.5-504.1.el6.x86_64.rpm  drbd84-utils-8.9.1-1.el6.elrepo.x86_64.rpm

10.相关脚本配置文件

管理工具:

/usr/sbin/drbdadm

/usr/sbin/drbdmeta

/usr/sbin/drbdsetup

启动脚本:

/etc/rc.d/init.d/drbd启动脚本

主配置文件:

/etc/drbd.d/global_common.conf

11.配置Drdb前需要注意:

1)mount drdb设备以前必须把设备切换到primary状态。

2)两个节点中,同一刻只能有一台处于primary状态,另一台处于secondary状态。

3)处于secondary状态的服务器上不能加载drbd设备。

4)主备服务器同步的两个分区大小最好相同,否则会浪费空间,因为drdb相当于RAID1。