DRBD安装与配置

1.什么是DRBD?
DRBD是由内核模块和相关脚本构成,用以构建高可用性的集群。其实现方式是通过网络来镜像整个设备。它允许用户在远程机器上建立一个本地块设备的实时镜像。也可以把它看成一个网络RAID1。

工作原理:
DRBD负责接收数据,把数据写到本地磁盘,然后发送给另一个主机。另一个主机再将数据存到自己的磁盘中。目前,DRBD每次只允许对一个节点进行读写访问,这对于通常的故障切换高可用性集群已经够了。

DRBD协议:
A:数据一旦写入磁盘并发送到网络中就认为完成了写入操作
B:收到接受确认就认为完成了写入操作
C:收到写入确认就完成了写入操作
目前运用最多的就是C协议

下面就开始安装配置DRBD

1.前提

1)本环境共有两个测试节点,分别ha1.fpj.com和ha2.fpj.com,相的IP地址分别为192.168.3.100和192.168.3.101

2) ha1.fpj.com和ha2.fpj.com两个节点上各提供了一个大小相同的分区作为drbd设备;我们这里为在两个节点上均为/dev/sdb1,大小为10GB;

3) 系统一台为Centos6.3.i686,一台为Centos6.5.i686(先前因安装了)

4)内核分别为2.6.32-279.el6.i686;2.6.32-431.el6.i686

2.准备工作

配置双方hostname、hosts并建立ssh无密码互通

2/1.下载软件包

wget http://oss.linbit.com/drbd/8.4/drbd-8.4.3.tar.gz

drbd共有两部分组成:内核模块和用户空间的管理工具。

2/2.安装kernel-devel与kernel-headers最好用本地源安装

3.安装DRBD

我这边用编译安装,两个节点上都需要安装。

tar zxvf drbd-8.4.3.tar.gz

cd drbd-8.4.3

./configure --prefix=/usr/local/drbd --with-km #--!prefix是制定安装路径。--with-km是启用内核模块

make KDIR=/usr/src/kernels/2.6.32-431.el6.i686/ #--!KDIR指的是自己的内核路径

make install

mkdir -p /usr/local/drbd/var/run/drbd  #--!这里需创建这个目录,不然启动服务会报错

cp /usr/local/drbd/etc/rc.d/init.d/drbd  /etc/rc.d/init.d/

chkconfig --add drbd  
chkconfig drbd on

安装DRBD模块

cd drbd
make clean
make KDIR=/usr/src/kernels/2.6.32-431.el6.i686/
cp drbd.ko /lib/modules/2.6.32-431.el6.i686/kernel/lib/
moprobe drbd #加载内核模块
lsmod | grep drbd

drbd                  292339  0

libcrc32c                841  1 drbd

4.配置DRBD

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

下面,先在ha1主机上配置global_common.conf与定义fpj.res资源,配置定义完以后拷贝到ha2一份。

1.配置global-common.conf

global {
        usage-count no;#是否参加drbd的使用者统计,默认为yes
        # minor-count dialog-refresh disable-ip-verification
}

common {
        protocol C;#使用drbd的同步协议

handlers {
                pri-on-incon-degr "/usr/lib/drbd/notify-pri-on-incon-degr.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
                pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
                local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f";
               
        }

startup {
                #wfc-timeout 120;
                #degr-wfc-timeout 120;
        }

disk {
                on-io-error detach;#配置I/O错误处理策略为分离
                rate 200M;#设置主备节点同步时的网络速率
        }

net {
                cram-hmac-alg "sha1";
                shared-secret "123456";
        }

}

2.定义一个资源fpj.res,内容如下:
resource fpj {   #fpj是定义资源的名字
   on ha1 {   #on后面是主机名称
   address 192.168.3.100:7789;#设置DRBD的监听端口,用于与另一台主机通信。
   device /dev/drbd0; #drbd设备名称
   disk /dev/sdb1;    #drbd使用的磁盘分区为sdb1
   meta-disk     internal;
   }
  on ha2 {
  address 192.168.3.101:7789;
   device /dev/drbd0;
   disk /dev/sdb1;
   meta-disk    internal;
   }
}

3.在两个节点上初始化已定义完的资源并启动drbd服务

drbdadm create-md fpj:

再启动drbd服务:

查看下启动状态:

从上面的图片中可以看出此时两个节点均处于Secondary状态。我们接下来需要将其中一个节点设置为Primary。在要设置为Primary的节点上执行如下命令:

drbdadm-- --overwrite-data-of-peer primary fpj也可以用 drbdadmn primary --force fpj

而后再次查看状态,可以发现数据同步过程已经开始:

等数据同步完,再次查看已经有了主和备:

4.格式化文件系统;注意:文件系统的挂载只能在Primary节点进行。因此,也只有在设置了主节点后才能对drbd设备进行格式化:

mkfs.ext4 /dev/drbd0
mkdir /mydata  #创建挂载目录
mount /dev/drbd0 /mydata#挂载文件系统
df -h #查看挂载

写入文件,我这里写入了一个fpj.txt的文件:

5.切换主备节点

对主Primary/Secondary的drbd服务来讲,在某个时间只能有一个节点为Primary。因此,要切换两个节点的角色,只能在先将原有的Primary节点设置为Secondary后,才能原来的Secondary节点设置为Primary:(注意:这里必须先把ha1上的挂载目录卸载掉)

先将ha1设置为备节点:

drbdadmn secondary fpj

再将ha2设置为主节点:

drbdadmn primary fpj

再ha2上创建目录,挂载磁盘,查看下fpj.txt是否存在:成功切换

至此,DRBD安装配置成功!!

转载于:https://blog.51cto.com/fupj1/1631787

DRBD的安装与配置相关推荐

  1. drbd配置文件_Linux数据安全工具:数据镜像软件DRBD的安装与配置

    本文授权转载自微信公众号:计算机与网络安全,转载请联系授权. 微信公众号:计算机与网络安全 ID:Computer-network 1.安装环境说明 操作系统统一采用CentOS5.5-x86-64, ...

  2. Maven安装与配置(最实用!!!)eclipse中配置maven

    Maven安装与配置 一.需要准备的东西 JDK Eclipse(本章主要是在eclipse中进行配置maven) Maven程序包 二.下载与安装 1. 前往maven下载最新版的Maven程序: ...

  3. Portainer 安装与配置

    文章目录 Portainer 安装与配置 一.介绍 二.安装使用 1.单机运行 2.基于swarm集群方式运行 Portainer 安装与配置 一.介绍 ​ Portainer 是一个开源.轻量级Do ...

  4. Myeclipse安装、配置、测试

    Myeclipse安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.安装与激活 4.JavaSE开发测试(确保JDK已正确安装) 5.JavaEE开发测试(确保服务器和 ...

  5. [网摘学习]在Ubuntu上安装和配置OpenStack Nova之二

    再收藏一份Openstack的文章,这两天的操作与此相同.但其中出现的问题还需要查找原因.待个人继续学习研究. 原文参考:http://www.linuxde.net/2011/11/1599.htm ...

  6. centos6.5 php5.2,Linux中PHP安装与配置(CentOS-6.5:php-5.2.13)

    1 PHP简介     PHP(PHP: Hypertext Preprocessor的缩写,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Per ...

  7. java jdk 1.8 安装_下载、安装、配置 java jdk1.8

    近期配置react native的开发环境,所以就从配置环境开始.rn的环境配置有那么几项,其中重要的一个就是java jdk(Java Development Kit 的缩写),那么以下就是下载.安 ...

  8. mysql安装好需要优化配置一下_Mysql的安装、配置、优化

    Mysql的安装.配置.优化 安装步骤 1.先单击中的安装文件,如果是win7系统,请选择以管理员的方式运行. 2.大概需要30秒的时间,开始进入安装界面.请先把标红的打勾,好进行下一步的动作. 3. ...

  9. windows下opencv安装及配置(vs2010环境)

    opecv下载 前往官方下载地址 https://opencv.org/releases/ opencv安装及配置 解压,会得到一个opencv文件夹,可将提取出的文件移动到任意位置,我将其放在F盘. ...

最新文章

  1. C++中模块(Dll)对外暴露接口的方式
  2. 有人实践过 Phabricator 以及 Arcanist 作为 code review 的工具么?(转)
  3. Tomaso A.Poggio教授丨人工智能的下一个突破点在何处?
  4. Hadoop集群部署权限总结
  5. 北京市将持续扩大5G网络建设规模 超前布局6G
  6. 苹果终于迷途知返?还是指纹识别更香...
  7. MYSQL中取当前周/月/季/年的第一天与最后一天
  8. eclipse 使用问题
  9. 基于Netty手写RPC框架
  10. 计算机网络毕业设计汇报ppt,计算机ppt毕业设计模板
  11. 【论文精读】Grounded Language-Image Pre-training(GLIP)
  12. 数字ic设计自学ing
  13. 天津大学计算机学院考研复试名单,天津大学各学院2019考研复试办法及复试名单...
  14. 依赖、关联、聚合、组合
  15. ETS官方Issue主题范文36篇
  16. python情感分析步骤_使用python+机器学习方法进行情感分析(详细步骤)
  17. c语言pow函数精度差,pow()函数结果强制转化为int造成误差的分析
  18. Windos 系统安装 Themebeta Chrome主题
  19. 什么是等级保护2.0,北京等保2.0测评机构有哪些?
  20. thinkjs连接mysql_ThinkJS入门+实例(实现认证权限等基本功能)

热门文章

  1. spring boot中利用mybatis-generator插件生成代码
  2. 电商总结(七)缓存系统
  3. 分布式系统学习资料(ing)
  4. 从发小(一起长大的玩伴)聚会引发的思考
  5. 尝试使用阿里云服务器
  6. 找DB2存储过程的package
  7. 对软件测试的认识你了解多少
  8. linux的文件io操作(转)
  9. 你犯了没?电脑最忌讳的18个小动作之三
  10. 初中数学知识遗忘记录(持续更新中)