简介:

DRBD (Distributed Replicated Block Device) 分布式块设备复制,是一种基于软件、网络的块复制存储解决方案。主要用于对服务器之间的磁盘、分区、逻辑卷等进行数据镜像。

数据在写入本地磁盘的同时还会发送一份到远程服务器磁盘,达到本地与远程数据实时同步,当本机发生故障不能访问时,远程主机还保存着一份数据可供使用。

DRBD 是 Linux 内核存储层中的一个分布式存储系统,由内核模块(主要用于虚拟一个块设备)、用户空间管理程序(主要用于和DRBD内核模块通信,以管理DRBD设备、磁盘配置、网络配置等)。

DRBD 设备在整个 DRBD 系统中位于物理设备之上,文件系统之下,在这两者之间形成一个中间层。

当用户在主节点的文件系统写入数据时,在入盘前会被 DRBD 系统拦截并通知用户空间管理程序把该数据复制一份写入到远程主机 DRBD 镜像,最终存入镜像所映射的磁盘。

一个 DRBD 系统有两个及以上节点构成,分为主、备节点。主、备节点可以通过手工的方式改变角色。

主节点上可以不受限制的对 DRBD 设备进行读写操作、初始化、创建、挂载文件系统。备节点上无法挂载 DRBD 设备,只能用来接收主节点发送的数据,即:不能用于读写访问(保证数据缓存区的一致性)。

特点:

1、实时性。当应用对磁盘数据有修改操作时,数据复制立即发生。
2、透明性。数据存储在镜像设备上是透明、独立的。数据可以存储在基于网络的不同主机上。
3、同步镜像。当本地应用申请写操作时,同时也在远程主机开始写操作。
4、异步镜像。当本地写操作已经完成时,才开始对远程主机进行写操作。

特性:

1、单主模式

使用最频繁的一种模式,主要用于高可用集群的存储方面,该模式下只有一个主节点可以进行读写操作。

2、双主模式

主要用于负载均衡集群中,解决数据共享、一致性问题。由于需要两个主节点同时写入,单一的文件系统无法满足,只能使用共享的集群文件系统来解决并发读写问题。

如:GFS、OCFS2 等,通过集群文件系统的分布式锁机制事解决集群中两个主节点同时操作数据的问题。

3、复制模式

协议 A:只要本地磁盘写入完成,数据包已经在发送队列中,则认为一个写操作过程完成。发生网络故障时可能数据还在发送队列中,会丢失数据。

协议 B:只要本地磁盘写入完成,数据包已经到达远程节点,则认为一个写操作过程完成。远程节点发生故障时会导致数据丢失。

协议 C:只有本地与远程节点的磁盘都确实写操作完成,才认为一个写操作过程完成。不会造成数据丢失,也是使用最多的协议 ( 磁盘的 IO 量依赖网络带宽,建议网络带宽较好的时候使用 )。

4、传输完整性校验

DRBD 使用 MD5、SHA-1 或 CRC-32C 等加密算法对信息进行终端到终端的完整性验证。对复制数据的信息摘要进行验证,如验证信息不对,则要求主节点重新了送,保证镜像的数据完整性、一致性。

5、脑裂通知与自动修复

由于集群节点间网络故障、集群软件管理干预或人为错误,导致 DRBD 两个节点都切换为主节点而断开连接,即称为脑裂。发生脑裂主备之间数据不能同步,导致数据不一致。

发生脑裂可以手工修复 (建议),也可以自动修复。

自动修复策略:

1、丢弃比较新的主节点所做的修改。当网络重新建立连接且发现脑裂后,DRBD 会丢弃自动切换到主节点上的主机所修改的数据。

2、丢弃老的主节点所做的修改。DRBD 会丢弃首先切换到主节点上的主机所修改的数据。

3、丢弃修改比较少的主节点的修改。DRBD 会首先检查两个节点的数据,然后丢弃修改比较少的主机上的数据。

4、一个节点数据没有发生变化的情况下完美修复脑裂。如果其中一台主机在发生脑裂时没有发生数据修改,那么就可以完美解决脑裂问题。

DRBD 数据镜像软件介绍的更多相关文章

  1. DRBD 数据镜像软件

    1>DRBD介绍 1>数据镜像软件DRBD介绍  分布式块设备复制(Distributed Relicated Block Deivce,DRBD),是一种基于软件.基于网络的块复制存储解 ...

  2. DRBD数据镜像与搭建

    一.数据安全工具DRDB 1. 数据镜像软件DRDB介绍 分布式块设备复制,是基于软件.基于网络的块复制存储解决方案 作用:用于服务器之间的磁盘.分区.逻辑卷等进行数据镜像. 例如:当用户将数据写入本 ...

  3. DRBD(数据镜像)+hearbeat(自动切换)

    DRBD 数据镜像软件 一.DRBD介绍 1.1.数据镜像软件DRBD介绍 分布式块设备复制(Distributed Relicated Block Deivce,DRBD),是一种基于软件.基于网络 ...

  4. Visual paradigm软件介绍

    Visual paradigm软件介绍 说起Visual Paradigm你可能并不陌生,因为此前有一款功能强大的UML软件叫Visual Paradigm for UML,在这款软件在v11.1的时 ...

  5. R软件导入数据_r语言怎么导入数据_R软件导入数据

    R软件导入数据_r语言怎么导入数据_R软件导入数据 R软件导入数据 1.Rcmdr安装包导入数据: 1.安装Rcmdr包,输入: install.packages("Rcmdr") ...

  6. Java机器学习软件介绍

    Java机器学习软件介绍 编写程序是最好的学习机器学习的方法.你可以从头开始编写算法,但是如果你要取得更多的进展,建议你采用现有的开源库.在这篇文章中你会发现有关Java中机器学习的主要平台和开放源码 ...

  7. 【电子取证:FTK Imager篇】FTK Imager制作镜像详细介绍

    FTK Imager制作镜像详细介绍 以DD镜像制造为例,详细介绍了FTK Imager创建镜像的过程,记得大学的时候学习这些没什么教程,找到的资料也是语焉不详,故在此啰嗦一番---[suy] 一.磁 ...

  8. 软件介绍(apache lighttpd nginx)

    一.软件介绍(apache  lighttpd  nginx) 1. lighttpd Lighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点.lighttpd是众多 ...

  9. 数据搬运工DSS~介绍

    DSS介绍 DSS是为了实现异地数据同步而开发的一套.net平台的应用程序,它寄宿到windows服务上,由多个客户端和一个服务端组成,其中客户端用来收集数据(数据源端),服务端用来将数据写入指定数据 ...

随机推荐

  1. BZOJ1098 POI2007 办公楼biu 【链表+bfs】

    Description FGD开办了一家电话公司.他雇用了N个职员,给了每个职员一部手机.每个职员的手机里都存储有一些同事的电话号码.由于FGD的公司规模不断扩大,旧的办公楼已经显得十分狭窄,FGD决 ...

  2. 简单实现Jmail发送邮件

    package com.chauvet.util; import java.util.Properties; import javax.mail.*; import javax.mail.intern ...

  3. WCF、WebAPI、WCFREST、WebService之间的区别【转】

    转自:http://www.cnblogs.com/markli/p/4460564.html 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了We ...

  4. MSDN中回调函数的讲解及其C#例子:用委托实现回调函数

    转自:http://blog.csdn.net/sizheng0320/article/details/1615777 ms-help://MS.MSDNQTR.2003FEB.2052/cpguid ...

  5. altium布局布线原则

    布局应该先放位置确定不能随意变动的,之后是核心器件,然后是周围器件,如果周围器件过多,为防止布线时交叉过多,可以一部分小模块放到底层. 布线时优先顺序为先电源线和网络中使用频率高的线,之后是信号线.走 ...

  6. .net SMTP 发送邮件

    using System.Net.Mail; public static bool SendMail(string messTo,string messBody) { MailMessage mess ...

  7. virtual之虚函数,虚继承

    当类中包含虚函数时,则该类每个对象中在内存分配中除去数据外还包含了一个虚函数表指针(vfptr),指向虚函数表(vftable),虚函数表中存放了该类包含的虚函数的地址. 当子类通过虚继承的方式从父类 ...

  8. Python 函数 -getattr()

    getattr(object, name[, default]) getatt() 函数用于返回一个对象属性值.object 对象.name 字符串,对象属性.object 默认返回值,如果不提供该参 ...

  9. QT creator 调试问题

    问题:debug出现“ptrace:不允许的操作.” 解决办法: # may not be appropriate for developers or servers with only admin ...

  10. IMAP简单研究

    IMAP的相关详细介绍: http://www.imapwiki.org/ClientImplementationhttp://tools.ietf.org/html/rfc3501 1.连接服务器 ...