drbd介绍及安装测试

author author     2022-09-04     270

关键词:

http://freeloda.blog.51cto.com/2033581/1275384


升级内核:

http://88fly.blog.163.com/blog/static/1226803902013111345347479/

常见错误

http://blog.csdn.net/t1anyuan/article/details/52143789














大纲

一、前言

二、DRBD 是什么

三、DRBD 主要功能

四、DRBD 工作原理

五、DRBD与HA 集群

六、DRBD 复制模式

七、DRBD 配置工具

八、DRBD 配置文件

九、DRBD 资源

十、DRBD 支持的底层设备

十一、DRBD 配置步骤

十二、安装与配置 DRBD 详解

十三、DRBD 双主模式配置示例


一、前言

       在这一篇博文中我们主要讲解DRBD,在这里说点题外话,其实学习任何Linux知识点,最好的方式就是去看官方文档,这是Linux的特点,也是开源精神的体现,不但提供软件,还提供学习资料,这里DRBD的官方文档http://www.drbd.org/users-guide/把DRBD讲的非常详细,但是全是英文的,学习Linux有点好,就是有很多博友受开源精神影响,也会去做很无私事,这不有哥们就把我们的文档翻译出来了,这是翻译版供大家参考http://blog.csdn.net/liuyunfengheda/article/details/6460814,我在这里主要说一下DRBD的重要知识点,有时间的博友可以认真的学习一下官方文档。

二、DRBD 是什么

       简单的说,DRBD (Distributed Replicated Block Device,分布式复制块设备)是由内核模块和相关脚本而构成,用以构建高可用性的集群。其实现方式是通过网络来镜像整个设备。你可以把它看作是一种网络RAID1。

三、DRBD 主要功能

技术分享

简单说一下DRBD主要功能,DRBD 负责接收数据,把数据写到本地磁盘,然后通过网络将同样的数据发送给另一个主机,另一个主机再将数据存到自己的磁盘中。

四、DRBD 工作原理

       每个设备(drbd 提供了不止一个设备)都有一个状态,可能是‘主’状态或‘从’状态。在主节点上,应用程序应能运行和访问drbd设备(/dev/drbd*)。每次写入都会发往本地磁盘设备和从节点设备中。从节点只能简单地把数据写入它的磁盘设备上。 读取数据通常在本地进行。 如果主节点发生故障,心跳(heartbeat或corosync)将会把从节点转换到主状态,并启动其上的应用程序。(如果您将它和无日志FS 一起使用,则需要运行fsck)。如果发生故障的节点恢复工作,它就会成为新的从节点,而且必须使自己的内容与主节点的内容保持同步。当然,这些操作不会干扰到后台的服务。

五、DRBD与HA 集群

       大部分现行高可用性集群(如:惠普、IBM、Dell)使用的是共享存储器,因此存储器连接多个节点(用共享的SCSI 总线或光纤通道就可以做到)。DRBD 也可以作为一个共享的设备,但是它并不需要任何不常见的硬件。它在IP 网络中运行,而且在价格上IP 网络要比专用的存储网络经济的多。目前,DRBD 每次只允许对一个节点进行读写访问,这对于通常的故障切换高可用性集群来讲已经足够用了。现在的版本将支持两个节点同时进行读写存取。这很有用,比如对GFS 来讲就是如此。兼容性DRBD可以在IDE、SCSI 分区和整个驱动器之上运行,但不能在回路模块设备上运行。(如果您硬要这样做,它就会发生死锁)。DRBD 也不能在回送网络设备中运行。(因为它同样会发生死锁:所有请求都会被发送设备占用,发送流程也会阻塞在sock_sendmsg()中。有时,接收线程正从网络中提取数据块,并试图把它放在高速缓存器中;但系统却要把一些数据块从高速缓存器中取到磁盘中。这种情况往往会在接收器的环境下发生,因为所有的请求都已经被接收器块占用了。

六、DRBD 复制模式

  • 协议A:异步复制协议。本地写成功后立即返回,数据放在发送buffer中,可能丢失。

  • 协议B:内存同步(半同步)复制协议。本地写成功并将数据发送到对方后立即返回,如果双机掉电,数据可能丢失。

  • 协议C:同步复制协议。本地和对方写成功确认后返回。如果双机掉电或磁盘同时损坏,则数据可能丢失。

一般用协议C,但选择C协议将影响流量,从而影响网络时延。为了数据可靠性,我们在生产环境中还是用C协议。

七、DRBD 配置工具

  • drbdadm:高级管理工具,管理/etc/drbd.conf,向drbdsetup和drbdmeta发送指令。

  • drbdsetup:配置装载进kernel的DRBD模块,平时很少直接用。

  • drbdmeta:管理META数据结构,平时很少直接用。

八、DRBD 配置文件

   DRBD的主配置文件为/etc/drbd.conf;为了管理的便捷性,目前通常会将些配置文件分成多个部分,且都保存至/etc/drbd.d目录中,主配置文件中仅使用"include"指令将这些配置文件片断整合起来。通常,/etc/drbd.d目录中的配置文件为global_common.conf和所有以.res结尾的文件。其中global_common.conf中主要定义global段和common段,而每一个.res的文件用于定义一个资源。

在配置文件中,global段仅能出现一次,且如果所有的配置信息都保存至同一个配置文件中而不分开为多个文件的话,global段必须位于配置文件的最开始处。目前global段中可以定义的参数仅有minor-count, dialog-refresh, disable-ip-verification和usage-count。

   common段则用于定义被每一个资源默认继承的参数,可以在资源定义中使用的参数都可以在common段中定义。实际应用中,common段并非必须,但建议将多个资源共享的参数定义为common段中的参数以降低配置文件的复杂度。

   resource段则用于定义drbd资源,每个资源通常定义在一个单独的位于/etc/drbd.d目录中的以.res结尾的文件中。资源在定义时必须为其命名,名字可以由非空白的ASCII字符组成。每一个资源段的定义中至少要包含两个host子段,以定义此资源关联至的节点,其它参数均可以从common段或drbd的默认中进行继承而无须定义。

九、DRBD 资源

  • Resource name:可以是除了空白字符的任意的ACSII码字符

  • DRBD device:在双方节点上,此DRBD设备的设备文件;一般为/dev/drbdN,其主设备号147

  • Disk configuration:在双方节点上,各自提供的存储设备

  • Nerwork configuration:双方数据同步时所使用的网络属性

案例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
resource web { #资源名为“web”
  on node1.magedu.com { #设置节点cluster1   
    device    /dev/drbd0#指出drbd的标示名   
    disk      /dev/sda5#指出作为drbd的设备 
    address   172.16.100.11:7789; #指定ip和端口号 
    meta-disk internal; #网络通信属性,指定drbd的元数据在本机   
  }   
  on node2.magedu.com {   
    device    /dev/drbd0;   
    disk      /dev/sda5;   
    address   172.16.100.12:7789;   
    meta-disk internal;   
  }   
}

十、DRBD 支持的底层设备

   DRBD需要构建在底层设备之上,然后构建出一个块设备出来。对于用户来说,一个DRBD设备,就像是一块物理的磁盘,可以在商脉内创建文件系统。DRBD所支持的底层设备有以下这些类:

  • 一个磁盘,或者是磁盘的某一个分区。

  • 一个soft raid 设备。

  • 一个LVM的逻辑卷。

  • 一个EVMS(Enterprise Volume Management System,企业卷管理系统)的卷。

  • 其他任何的块设备。

十一、DRBD 配置步骤

  • 安装drbd

  • 配置资源文件(定义资料名称,磁盘,节点信息,同步限制等)

  • 将drbd加入到系统服务chkconfig --add drbd  

  • 初始化资源组drbdadm create-md resource_name

  • 启动服务 service drbd start

  • 设置primary主机,并同步数据

  • 分区、格式化/dev/drbd*

  • 一个节点进行挂载

  • 查看状态

十二、安装与配置 DRBD 详解

1.实验拓扑

技术分享

2.实验环境

(1).操作系统

  • CentOS 6.4 X86_64

(2).软件环境

  • kmod-drbd84-8.4.2-1.el6_3.elrepo.x86_64

  • drbd84-utils-8.4.2-1.el6.elrepo.x86_64

(3).安装epel源

node1:

1
2
3
4
5
6
7
8
[[email protected] src]# wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[[email protected] src]# rpm -ivh epel-release-6-8.noarch.rpm
warning: epel-release-6-8.noarch.rpm: Header V3 RSA/SHA256Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]
1:epel-release           ########################################### [100%]
[[email protected] src]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
[[email protected] ~]# rpm -ivh http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
[[email protected] ~]# yum list

node2:

1
2
3
4
5
6
7
8
[[email protected] src]# wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[[email protected] src]# rpm -ivh epel-release-6-8.noarch.rpm
warning: epel-release-6-8.noarch.rpm: Header V3 RSA/SHA256Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]
1:epel-release           ########################################### [100%]
[[email protected] src]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
[[email protected] ~]# rpm -ivh http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
[[email protected] ~]# yum list

3.安装DRBD

说明:drbd共有两部分组成:内核模块和用户空间的管理工具。其中drbd内核模块代码已经整合进Linux内核2.6.33以后的版本中,因此,如果您的内核版本高于此版本的话,你只需要安装管理工具即可;否则,您需要同时安装内核模块和管理工具两个软件包,并且此两者的版本号一定要保持对应。CentOS 6.4的内核版本是2.6.32-358.el6.x86_64,所以还提安装内核模块。

node1:

1
[[email protected] ~]# yum -y install drbd84 kmod-drbd84

node2:

1
[[email protected] ~]# yum -y install drbd84 kmod-drbd84

4.配置DRBD

(1).查看一下配置文件

1
2
3
4
5
[[email protected] ~]# ll /etc/drbd.conf /etc/drbd.d/ 
-rw-r--r-- 1 root root  133 9月   6 2012 /etc/drbd.conf
/etc/drbd.d/: 
总用量 4  
-rw-r--r-- 1 root root 1650 9月   6 2012 global_common.conf


drbd简介安装编译报错解决drbd的配置初始化及同步

主机环境redhat6.564位实验环境服务端1ip172.25.25.111主机名:server1.example.com drbd   服务端2ip172.25.25.112 主机名:server2.example.com  drbd安装包drbd-8.4.3.tar.gz防火墙状态:关闭 1.Debd的简介1.基 查看详情

drbd安装配置工作原理及故障恢复(代码片段)

DRBD安装配置、工作原理及故障恢复一、DRBD简介DRBD的全称为:DistributedReplicatedBlockDevice(DRBD)分布式块设备复制,DRBD是由内核模块和相关脚本而构成,用以构建高可用性的集群。其实现方式是通过网络来镜像整个设备。你可以把它... 查看详情

drbd详细解说及配置过程

...参考:https://www.cnblogs.com/kevingrace/p/5740940.html  一,Drbd介绍DRBD(DistributedReplicatedBlockDevice)是一种基于软件的,无共享,分布式块设备复制的存储解决方案,在服务器之间的对块设备(硬盘,分区,逻辑卷等)进行镜像。也就... 查看详情

2.9drbd编译安装中出现的问题及解决小结

 问题1:设置primarynode时提示不能成功UpToDatedata:# drbdadm primary r0   r0: State change failed: (-2) Need access to UpToDate dataC 查看详情

02-drbd软件介绍

ddd 查看详情

randoop介绍安装及环境变量配置

大体来说,开发人员开发源程序,测试人员找bug,中间人产品经理。黑盒测试:(不看代码)白盒测试:    1、基于覆盖:语句、分支(if、for、真假)、方法    结构:顺序、分支(TorF,做出选择)、循环(T or&n... 查看详情

airflow简单介绍及测试安装

参考技术AAirflow主要用于执行预定的批处理作业。它能够很好地管理不同的批量作业的关系,并给将复杂的关系图形化展示。一句话:任何批量任务或者需要手动去触发执行的任务都可以考虑一下Airflowairlow使用ansiblerole方式安装h... 查看详情

centos6.5上部署drbd

...步骤进行也可以。1、环境准备这里我以其中一台为例,介绍准备工作包括哪些点:#检查防火墙是否关闭(或者开启7788 查看详情

drbd:简介和安装(代码片段)

...区说明3.drbd部署实验 3.1实验环境和部署前的准备 3.2yum安装drbd 3.3编译安装drbd1.drbd简介drbd是通过网络(tcp连接)在不同服务器之间实现基于block级别进行数据 查看详情

centos6.5上部署drbd

...步骤进行也可以。1、环境准备这里我以其中一台为例,介绍准备工作包括哪些点:#检查防火墙是否关闭(或者开启7788端口)[[email  查看详情

mha安装及测试(代码片段)

MHA安装官方介绍准备工作1.下载安装包2.配置好主从主:192.168.160.132从:192.168.160.133192.168.160.134mha:192.168.160.135GRANTSUPER,REPLICATIONSLAVE,REPLICATIONCLIENTON*.*TO‘replication_user‘@‘192.168.160.%‘IDENTIFIEDBY‘123456 查看详情

chatterbot(聊天机器人)库安装及实例测试(代码片段)

...提供的课程叫做BuildYourOwnChatbotinPython。课程前两部分简单介绍了AI的历史、机器人三定律、自然语言处理和AI的流行趋势。第三部分介绍AIcalculator的建立过程,需要chatterbot模块。(python版本:3.8.864-bit)常规pip安装方法p 查看详情

ltp第一章ltp介绍及内部机制

...s://blog.csdn.net/yuanlaijike/article/details/78068331 LTP第一章LTP介绍及内部机制原创Jitwxs发布于2017-09-2303:21:58阅读数3993收藏展开LTP系列链接:第一章LTP介绍及内部机制第二章开发Shell测试集第三章开发系统调用测试集第四章开发_exit()... 查看详情

软件测试体系学习及构建-软件测试环境介绍

(1)-软件测试环境介绍1软件的含义2软件的分类3软件测试几个概念3.1软件测试的含义3.2何为测试环境?3.3作为测试应具备的知识?4冯·诺依曼体系结构5数据形式与数制1软件的含义软件是程序、数据和文档的集合... 查看详情

hivellap服务安装说明及测试

RunningLLAPasaYARNService 因为 ApacheSlider已经不维护了,下面介绍 不使用Slider的LLAP使用方式。参考: https://blog.cloudera.com/apache-hive-llap-as-a-yarn-service/ 将LLAP从ApacheSlider迁移到YARNService框架:&n 查看详情

drbd的基本概念及简单的drbd安装配置

Drbd(DistributedReplicatedBlockDevice)为分布式复制块设备 是内核中的一个模块,要想让其工作起来要借助drbdadm等命令工具 Drbd类似于Raid1(mirror模式),但是Raid1的磁盘位于同一个主机上,通过总线直接连接主机,且两块磁盘... 查看详情

api接口自动化测试框架搭建-接口调试工具postman安装配置及使用

...七)-接口调试工具postman安装配置及使用1下载安装2工具介绍3接口调试注意:这里只是简单说下postman的安装和使用,因为我们后续拿它主要是用于接口的简单调试。1下载安装官网:https://www.postman.com/下载:https://www.postman.com/downl... 查看详情

drbd

DRBD节点1:Server1.example.com 172.25.23.1节点2:Server2.example.com 172.25.23.2VIP:172.25.23.100Selinux和iptables处于disabled状态 redhat6.5版本 一.安装drbd将源码做成rpm包并安装下载的安装包为drbd-8.4.2.tar.gz[[em 查看详情