DRBD以其开源,简单,高效,性能不俗为广大运维者们所青睐。主要功能是在不同节点上两个相同大小的设备块级别之间的数据同步镜像。drbd是由内核模块和相关脚本而构成,用以构建高可用性的集群。本文主要描述其安装方式,供大家参考。

有关DRBD的特性,功能及其相关基础知识,大家可以参考: DRBD原理及特性概述

一、演示环境

OS版本:CentOS release 6.5 (Final)
orasrv1: 192.168.21.10
orasrv2: 192.168.21.13
DRBD版本Version: 8.3.15 (api:88)

二、yum方式安装drbd(两节点)

1、以下通过yum方式安装

配置epel源,可以从这里下载,或者直接用wget方式获取
http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -Uvh epel-release-6-8.noarch.rpm
# yum -y install drbd83 kmod-drbd83
# modprobe drbd
# lsmod |grep drbd
drbd                  345363  0 

2、配置部分,请参考第三点编译方式安装drbd之第4小点后续部分

###注,通过yum方式安装时,drbd配置文件目录有所不同
###drbd.conf文件放置到/etc目录下,其余的2个配置文件存放到/etc/drbd.d目录下

三、编译方式安装drbd

1、安装用户空间工具(两节点)

# yum -y install kernel-devel kernel-headers flex gcc
# pwd
usr/local/src     ###drbd压缩文件存放位置
# tar -xvf drbd-8.3.15.tar.gz
# cd drbd-8.3.15
# ./configure --prefix=/usr/local/drbd --with-km
# make KDIR=/usr/src/kernels/2.6.32-431.el6.x86_64/
# make install
# ls /usr/local/drbd/   ##查看安装后的文件
etc  lib  sbin  share  var# cp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/init.d/drbd
# chkconfig --add drbd
# chkconfig drbd on

2、安装drbd模块(两节点)

# cd /usr/local/src/drbd-8.3.15/drbd
# make clean
# make KDIR=/usr/src/kernels/2.6.32-431.el6.x86_64/
# cp drbd.ko /lib/modules/`uname -r`/kernel/lib/
# depmod
# modprobe drbd    ###加载drbd模块到Linux内核
注:/usr/src/kernels/2.6.18-274.18.1.el5-i686/这个内核源码树路径需要根据自己的系统修改。

3、验证drbd内核加载(两节点)

# lsmod |grep drbd
drbd                  345363  0 

4、配置系统磁盘(两节点)

### Author : Leshami
### Blog   : http://blog.csdn.net/leshami
###本示例种为当前2节点单独分配了/dev/sdb磁盘,以下操作在2节点完成
# fdisk /dev/sdb    ###依次输入n,p,1,回车(enter),回车(enter),w
# partprobe         ###如果依旧无法看到分区,请reboot以及查找原因
# fdisk -l /dev/sdb

5、配置drbd.conf及global_common.conf(两节点)

# mv /usr/local/drbd/etc/drbd.conf /usr/local/drbd/etc/drbd.conf.bk
# cp /usr/local/src/drbd-8.3.15/scripts/drbd.conf /usr/local/drbd/etc/drbd.conf# more /usr/local/drbd/etc/drbd.conf   ###查看drbd.conf应包含下列include内容
# You can find an example in  /usr/share/doc/drbd.../drbd.conf.example
include "drbd.d/global_common.conf";
include "drbd.d/*.res";# mv /usr/local/drbd/etc/drbd.d/global_common.conf /usr/local/drbd/etc/drbd.d/global_common.conf.bk
# vi /usr/local/drbd/etc/drbd.d/global_common.conf   ###global_common.conf可以参考drbd.conf.example
global {usage-count yes;# minor-count dialog-refresh disable-ip-verification
}common {protocol C;handlers {}startup {wfc-timeout 0; degr-wfc-timeout 120;}disk {on-io-error detach;}net {# sndbuf-size rcvbuf-size timeout connect-int ping-int ping-timeout max-buffers# max-epoch-size ko-count allow-two-primaries cram-hmac-alg shared-secret# after-sb-0pri after-sb-1pri after-sb-2pri data-integrity-alg no-tcp-corkcram-hmac-alg sha1;shared-secret "MySQL-HA";      }syncer {# rate after al-extents use-rle cpu-mask verify-alg csums-algrate 35M;}
}###配置资源文件redisk.res
# vi /usr/local/drbd/etc/drbd.d/redisk.res
resource redisk {on orasrv1.xlk.com {device    /dev/drbd0;disk      /dev/sdb1;address   192.168.21.10:7789;meta-disk internal;}on orasrv2.xlk.com {device    /dev/drbd0;disk      /dev/sdb1;address   192.168.21.13:7789;meta-disk internal;}
}###也可以通过copy方式直接将配置文件copy到节点2,则无需单独配置2个配置文件,如下:
# scp /usr/local/drbd/etc/drbd.d/* 192.168.21.13:/usr/local/drbd/etc/drbd.d/
# scp /usr/local/drbd/etc/drbd.conf 192.168.21.13:/usr/local/drbd/etc/

6、创建device metadata(两节点执行)

# drbdadm create-md redisk
Writing meta data...
initializing activity log
NOT initialized bitmap
New drbd meta data block successfully created.[root@orasrv1 drbd.d]# drbdadm up redisk
[root@orasrv1 drbd.d]# /etc/init.d/drbd status
drbd driver loaded OK; device status:
version: 8.3.15 (api:88/proto:86-97)
GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build by root@orasrv1.xlk.com, 2015-10-31 09:16:05
m:res     cs            ro                 ds                     p  mounted  fstype
0:redisk  WFConnection  Secondary/Unknown  Inconsistent/DUnknown  C

5、设置Primary节点(主节点)

以下操作仅在节点1(orasrv1)执行
# drbdadm primary --force redisk
0: State change failed: (-2) Need access to UpToDate data
Command 'drbdsetup 0 primary' terminated with exit code 17
# drbdadm -- --overwrite-data-of-peer primary redisk
# mkfs.ext3 /dev/drbd0
# mkdir /data
# mount /dev/drbd0 /data
# df -h |grep data
/dev/drbd0      2.0G   36M  1.9G   2% /data###在第二个节点上创建/data目录
# mkdir /data
###查看drbd状态信息:
#cat /proc/drbd

四、DRBD数据镜像功能测试

###首先在主节点完成如下操作
# cp -R /usr/local/drbd /data
# ls /data/drbd
etc  lib  sbin  share  var
# du -sh /data/drbd
324K    /data/drbd# umount /data
# drbdadm secondary redisk
# cat /proc/drbd
version: 8.3.15 (api:88/proto:86-97)
GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build by root@orasrv1.xlk.com, 2015-10-31 10:58:130: cs:Connected ro:Secondary/Secondary ds:UpToDate/UpToDate C r-----ns:1044700 nr:0 dw:33780 dr:1045517 al:3 bm:64 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0###在备用节点完成如下操作
# drbdadm primary redisk
# cat /proc/drbd
version: 8.3.15 (api:88/proto:86-97)
GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build by root@orasrv2.xlk.com, 2015-10-31 10:59:260: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----ns:0 nr:1044700 dw:1044700 dr:672 al:0 bm:64 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
# mount /dev/drbd0 /data
# du -sh /data/drbd    ###两节点数据目录及大小完全一致
324K    /data/drbd

快速安装及部署DRBD相关推荐

  1. 使用Docker快速安装部署ES和Kibana并配置IK中文分词器以及自定义分词拓展词库

    使用Docker快速安装部署ES和Kibana的前提:首先需要确保已经安装了Docker环境 如果没有安装Docker的话,可以参考上一篇的内容:Linux上安装Docker 有了Docker环境后, ...

  2. 使用Docker快速安装部署mysql

    使用Docker快速安装部署mysql的前提:首先需要确保已经安装了Docker环境 如果没有安装Docker的话,可以参考上一篇的内容:Linux上安装Docker 有了Docker环境后,就可以使 ...

  3. Ceph分布式存储实战1.4 Ceph快速安装

    1.4 Ceph快速安装 在Ceph官网上提供了两种安装方式:快速安装和手动安装.快速安装采用Ceph-Deploy工具来部署:手动安装采用官方教程一步一步来安装部署Ceph集群,过于烦琐但有助于加深 ...

  4. 菜鸟学exchange之一:exchange邮件系统的简单安装和部署

    菜鸟学exchange之一:exchange邮件系统的简单安装和部署 2009-05-10 23:15:34 实验背景: 西安凌云高科技是一家拥有300名员工的高新技术企业,总部在位于西安.在上海和北 ...

  5. 快速安装Git客户端及TortoiseGit并使用

    开发都会使用版本控制软件,以便团队多人协同开发,以及程序源码的版本管理.目前比较主流以及易用的版本控制软件是Git,本文介绍一下,如何在开发计算机上快速安装Git客户端,并获取远程仓库的源码库. l ...

  6. docker 及 docker-compose 的快速安装和简单使用

    本篇将使用 DaoCloud 源在 Ubuntu 上简单快速安装 docker 及 docker-compose 并添加了通过 Dockerfile 及 docker-compose.yml 使用 n ...

  7. 2021年 CentOS 快速安装 最新版Nginx

    2021年 CentOS 快速安装 最新版Nginx 目录 1. 环境准备 2. 设置 yum 源 3. 安装 Nginx 4. 其他 1. 环境准备 sudo yum install yum-uti ...

  8. k8s从入门到放弃--使用kubeadm快速安装kubernetes

    kubeadm是Kubernetes官方提供的用于快速安装 Kubernetes 集群的工具,通过将集群的各个组件进行容器化安装管理,通过kubeadm的方式安装集群比二进制的方式安装要方便不少,但是 ...

  9. Windows下Weblogic 12c单机安装与部署

    文章目录 下载安装 安装版本 下载方式 单机安装 解压安装包 安装 配置 安装目录说明 管理服务器的启动 应用部署 下载安装 下载地址: https://www.oracle.com/middlewa ...

最新文章

  1. native 关键的理解
  2. 关于mpvue音乐小程序github仓库设置私有的声明
  3. 简单的数据结构题(多项式、拉格朗日插值、线段树)
  4. JMW-Label标签设计打印源码
  5. 【转载】以前ioi上看到的一篇关于如何成为一名程序员的文章
  6. bzoj 1632: [Usaco2007 Feb]Lilypad Pond(BFS)
  7. Oracle控制文件操作
  8. 论文阅读笔记——拥塞控制算法PCC
  9. Android连接大华条码秤区位码转换
  10. 英语口语8级是这么炼成的!
  11. [从头读历史] 第276节 诗经 陈风
  12. 将H.264封装为FLV格式
  13. Android手机怎么找回微信好友,安卓手机微信好友删除怎么找回?这三种方法真香...
  14. “另类”计算IP地址和子网划分
  15. git 取消托管文件
  16. 机械手表,石英手表,智能手表怎么选最好,哪种更适合佩戴?
  17. http前后端传参写法
  18. mysql 的字符集、比较规则和服务端、客户端的相关配置
  19. 01集群中软件的安装 共三部分 Aspera下载与安装 centos系统sratoolkit安装并添加到环境变量 wxf晓飞 肖老师 集群安装软件全过程 export tar.gz
  20. 中国互联网企业VS美国互联网企业

热门文章

  1. 初步了解超图官网提供的应用程序
  2. 【ds】HDU_1166
  3. C++面试笔记(2)
  4. c#中Class和Struct使用与性能的区别
  5. pat1038. Recover the Smallest Number (30)
  6. BP神经网络分类2*2对角矩阵准确率数据汇总
  7. 神经网络迭代次数的数学构成
  8. 【数理知识】《积分变换与场论》王振老师-第4章-矢量分析
  9. 10.3 在线学习与 MapReduce-机器学习笔记-斯坦福吴恩达教授
  10. Beyond Compare 3 许可证密钥被撤销