一、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

待续 …………

Drbd 安装配置的更多相关文章

  1. DRBD安装配置、工作原理及故障恢复

    一.DRBD简介 DRBD的全称为:Distributed ReplicatedBlock Device(DRBD)分布式块设备复制,DRBD是由内核模块和相关脚本而构成,用以构建高可用性的集群.其实 ...

  2. Centos6下DRBD的安装配置

    导读 Distributed Replicated Block Device(DRBD)是一个用软件实现的.无共享的.服务器之间镜像块设备内容的存储复制解决方案.数据镜像:实时.透明.同步(所有服务器 ...

  3. CentOS7 yum安装配置 drbd-84-utils (外部模式)

    1 安装环境介绍 1.1 系统环境 内核:3.10.0-862.el7.x86_64  版本:CentOS Linux release 7.5.1804 (Core) 主服务器:hostname = ...

  4. Hive安装配置指北(含Hive Metastore详解)

    个人主页: http://www.linbingdong.com 本文介绍Hive安装配置的整个过程,包括MySQL.Hive及Metastore的安装配置,并分析了Metastore三种配置方式的区 ...

  5. Hive on Spark安装配置详解(都是坑啊)

    个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...

  6. ADFS3.0与SharePoint2013安装配置(原创)

    现在越来越多的企业使用ADFS作为单点登录,我希望今天的内容能帮助大家了解如何配置ADFS和SharePoint 2013.安装配置SharePoint2013这块就不做具体描述了,今天主要讲一下怎么 ...

  7. Hadoop的学习--安装配置与使用

    安装配置 系统:Ubuntu14.04 java:1.7.0_75 相关资料 官网 下载地址 官网文档 安装 我们需要关闭掉防火墙,命令如下: sudo ufw disable 下载2.6.5的版本, ...

  8. redis的安装配置

    主要讲下redis的安装配置,以及以服务的方式启动redis 1.下载最新版本的redis-3.0.7  到http://redis.io/download中下载最新版的redis-3.0.7 下载后 ...

  9. Windows环境下的NodeJS+NPM+Bower安装配置

    npm作为一个NodeJS的模块管理,之前我由于没有系统地看资料所以导致安装配置模块的时候走了一大段弯路,所以现在很有必要列出来记录下.我们要先配置npm的全局模块的存放路径以及cache的路径,例如 ...

随机推荐

  1. SQL2008--SQL语句-存储过程-触发器-事务处理-基本语法-函数

    环境 SQL2008 1.存储过程建立 库-可编程性-存储过程-右击“存储过程”-点击“新建存储过程” SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCRE ...

  2. swift 内存管理,WEAK 和 UNOWNED

    因为 Playground 本身会持有所有声明在其中的东西,因此本节中的示例代码需要在 Xcode 项目环境中运行.在 Playground 中可能无法得到正确的结果. 不管在什么语言里,内存管理的内 ...

  3. ELK beats通用配置说明(12th)

    Beats配置文件是以YAML语法,该文件包含用于所有的beats的通用配置选项,以及其特点的选项.下面说说通用的配置,特定的配置要看各自beat文档. 通用的配置如下几部分: Shipper Out ...

  4. CSS modules 与 React中实践

    最近一直在学习React,看上去蛮简单的内容,其实学习曲线还是比较高的. 目前学到css绑定的问题,看到有一篇好的文章,就转过来了. CSS 模块化的解决方案有很多,但主要有两类.一类是彻底抛弃 CS ...

  5. (JAVA版)冒泡排序

    核心代码: public void bubbleSort(){ ;i<length-;i++){ ;j<length-i-;j++){ ]) swap(j,j+); } } } publi ...

  6. Mac窗口管理管理软件SizeUp

    一.SizeUp 是一款 Mac窗口管理管理软件.借助SizeUp,可以快速变化窗口大小(最大化.最小化),可以快速切换窗口的不同位置. 尤其在双显示器,更是扮演者方便.高效.好用的角色,提供了快速切 ...

  7. cocos2d-x 精灵遮罩

    转自:http://bbs.9ria.com/thread-220210-1-4.html 首先得理解一些东西. 1.理解颜色混合.精灵有个成员函数:setBlendFunc(),这个函数以一个ccB ...

  8. Access-数据类型与.net OleDbType枚举类型对应关系

    列表最常见的数据类型映射 访问类型名称 数据库数据类型 OLEDB 类型 .NET 框架类型 成员名称 文本 VarWChar DBTYPE _ WSTR System.String OleDbTyp ...

  9. Android Fragment 简单实例

    Android上的界面展示都是通过Activity实现的.Activity实在是太经常使用了.我相信大家都已经很熟悉了,这里就不再赘述. 可是Activity也有它的局限性,相同的界面在手机上显示可能 ...

  10. ios中UIButton选中状态切换

    关于UIButton的事件枚举有许多,平时用的少所以很多的都不是很清楚,今天了解了下,看了以前的代码,觉得在UIButton选中时操作写了许多冗余代码,而忽略了UIButton一个很重要的属性,如下: ...