一、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 安装配置的更多相关文章
-
DRBD安装配置、工作原理及故障恢复
一.DRBD简介 DRBD的全称为:Distributed ReplicatedBlock Device(DRBD)分布式块设备复制,DRBD是由内核模块和相关脚本而构成,用以构建高可用性的集群.其实 ...
-
Centos6下DRBD的安装配置
导读 Distributed Replicated Block Device(DRBD)是一个用软件实现的.无共享的.服务器之间镜像块设备内容的存储复制解决方案.数据镜像:实时.透明.同步(所有服务器 ...
-
CentOS7 yum安装配置 drbd-84-utils (外部模式)
1 安装环境介绍 1.1 系统环境 内核:3.10.0-862.el7.x86_64 版本:CentOS Linux release 7.5.1804 (Core) 主服务器:hostname = ...
-
Hive安装配置指北(含Hive Metastore详解)
个人主页: http://www.linbingdong.com 本文介绍Hive安装配置的整个过程,包括MySQL.Hive及Metastore的安装配置,并分析了Metastore三种配置方式的区 ...
-
Hive on Spark安装配置详解(都是坑啊)
个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...
-
ADFS3.0与SharePoint2013安装配置(原创)
现在越来越多的企业使用ADFS作为单点登录,我希望今天的内容能帮助大家了解如何配置ADFS和SharePoint 2013.安装配置SharePoint2013这块就不做具体描述了,今天主要讲一下怎么 ...
-
Hadoop的学习--安装配置与使用
安装配置 系统:Ubuntu14.04 java:1.7.0_75 相关资料 官网 下载地址 官网文档 安装 我们需要关闭掉防火墙,命令如下: sudo ufw disable 下载2.6.5的版本, ...
-
redis的安装配置
主要讲下redis的安装配置,以及以服务的方式启动redis 1.下载最新版本的redis-3.0.7 到http://redis.io/download中下载最新版的redis-3.0.7 下载后 ...
-
Windows环境下的NodeJS+NPM+Bower安装配置
npm作为一个NodeJS的模块管理,之前我由于没有系统地看资料所以导致安装配置模块的时候走了一大段弯路,所以现在很有必要列出来记录下.我们要先配置npm的全局模块的存放路径以及cache的路径,例如 ...
随机推荐
-
javascript 获取url参数值
function getvl(name) { var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(\\s| ...
-
微信小店开发(2) DIY货架
微信小店的货架支持开放给开发者使用,即开发者可以将自己的页面作为货架,通过JavaScript API来调起微信客户端原生的商品详情页. 请注意:1. 开发者需要预先通过1.1中的增加商品API,预先 ...
-
BZOJ 4541 【HNOI2016】 矿区
题目链接:矿区 这道题去年暑假就想写了,但是一直拖拉,以至于现在才来写这道题.以前一直在刻意回避几何类的题目,但到了现在这个时候,已经没有什么好害怕的了. 正巧今天神犇\(xzy\)讲了这道题,那我就 ...
-
poj1276--Cash Machine(多背包被判刑了)
Cash Machine Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 27804 Accepted: 9915 Des ...
-
memset和fill_n区别
1. 函数名: memset 所属头文件:<string.h> 用法:void *memset(void *s, char ch, unsigned n); 对于对int之类的数组,只能用 ...
-
Android 错误提示: Can&#39;t create handler inside thread that has not called Looper.prepare()
Can't create handler inside thread that has not called Looper.prepare() 将 Handler handler = new Hand ...
-
SEH X86
( windows 提供的异常处理机制实际上只是一个简单的框架,一般情况下开发人员都不会直接用到.我们通常所用的异常处理(比如 C++ 的 throw.try.catch)都是编译器在系统提供的异常处 ...
-
IDEA中导入多个包自动合并为星号
IDEA中导入同一个包下的几个class会自动合并为星号,如下图.可以通过设置让其不自动合并为星号. 1.选择File→Settings→Editor→Code style→Java,再点击右边的Im ...
-
java写卷积神经网络---CupCnn简介
https://blog.csdn.net/u011913612/article/details/79253450
-
Spring AOP源码分析(三)创建AOP代理
摘要: 本文结合<Spring源码深度解析>来分析Spring 5.0.6版本的源代码.若有描述错误之处,欢迎指正. 目录 一.获取增强器 1. 普通增强器的获取 2. 增加同步实例化增强 ...