Linux高可用集群(二):DRBD分布式复制块设备简介和使用

DRBD简介:

DRBD全称DistributedReplicatedBlock(分布式的复制块设备),属于Device公司,但是完全开源。它是一款基于块设备的文件复制解决方案,速度比文件级别的软件如NFS,samba快很多,是很多中小企业的共享存储首选解决方案。

DRBD工作需要在两个节点上同时准备一块一模一样的分区组成镜像,这就是为什么它叫做分布式复制块设备,它主要通过复制数据来实现文件同步(备份),主要用于集群文件共享,我们通过它的工作原理来了解块复制和文件复制的不同,如下图:

首先,您需要知道,DRBD是工作在系统内核空间,而不是用户空间,它直接复制的是二进制数据,这是它速度快的根本原因。

其次,DRBD至少需要两个节点来工作,一主一次。

DRBD的文件同步过程和普通复制过程的不同:

DRBD在数据进入BufferCache时,先经过DRBD这一层,复制一份数据经过TCP/IP协议封装,发送到另一个节点上,另一个节点通过TCP/IP协议来接受复制过来的数据,同步到次节点的DRBD设备上。

下面我们来配置DRBD,前提:

1)主机名称和uname-n命令输出的一致,最好是FQDN格式

2)DRBD的两个分区大小一致,先不要格式化

3)两个节点上准备都准备一个2G的分区/dev/sda5

准备两台虚拟机,我使用的是vm6.5+redhat5.4,主机名称和IP地址如下

node1.a.org172.16.14.11

node2.a.org172.16.14.12

一.安装,修改配置文件

1)安装drbd软件包,需要的软件包如下:

[root@node1~]#lsdrbd/

drbd83-8.3.8-1.el5.centos.i386.rpmkmod-drbd83-8.3.8-1.el5.centos.i686.rpm

#使用rpm-i安装,这两个软件包并没有什么依赖关系

[root@node1drbd]#rpm-ivh*.rpm

[root@node2drbd]#rpm-ivh*.rpm

2)复制配置文件到/etc下

[root@node2drbd]#cp/usr/share/doc/drbd83-8.3.8/drbd.conf/etc/

cp:overwrite`/etc/drbd.conf’?Y#直接覆盖,原文件没有任何内容

[root@node2drbd]#cat/etc/drbd.conf

#Youcanfindanexamplein/usr/share/doc/drbd…/drbd.conf.example

#配置文件里只有下面两行,告诉我们定义在drbd.d下面定义.res结尾的文件为drbd的资源

include"drbd.d/global_common.conf";#真正的主配置文件

include"drbd.d/*.res";

#修改global_common.conf,内容如下

[root@node2 drbd]# vim /etc/drbd.d/global_common.conf global {        usage-count no;}common {        protocol C;           # C 指同步    A 异步 B 半同步           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;fencing resource-only;        }        net {cram-hmac-alg "sha1";  shared-secret "mydrbdlab";        }        syncer {                rate 100M;                    # 你网卡的速率        }}

3)定义一个资源web,用来存放网页文件,给集群提供文件服务

resource web {  on node1.a.org {                           # 注意主机名    device    /dev/drbd0;    disk      /dev/sda5;                     # 分区    address   172.16.14.11:7789;             # 注意IP    meta-disk internal;  }  on node2.a.org {                           # 注意主机名    device    /dev/drbd0;    disk      /dev/sda5;                     # 分区    address   172.16.14.12:7789;             # 注意IP    meta-disk internal;  }}

4)将配置文件复制到node1上

[root@node2drbd]#scp/etc/drbd.confnode1:/etc/

[root@node2drbd]#scp/etc/drbd.d/*node1:/etc/drbd.d/

二.初始化已经以的资源,启动drbd服务

1)初始化资源

[root@node1drbd]#drbdadmcreate-mdweb

[root@node2drbd]#drbdadmcreate-mdweb

2)启动服务,这里需要说明,当一个节点启动服务后,如果另一个节点不启动,它会一直卡在那处于等待状态。

[root@node1drbd]#servicedrbdstart

[root@node2drbd]#servicedrbdstart

3)查看同步状态

[root@node1drbd]#watch-n1’cat/proc/drbd’

也可以通过下面的命令来查看

[root@node1drbd]#drbd-overview

0:webConnectedSecondary/SecondaryInconsistent/InconsistentCr—-

三.设置node1为主节点,开始数据同步

1)设置主节点

[root@node1drbd]#drbdsetup/dev/drbd0primary-o

或者drbdadm—-overwrite-data-of-peerprimaryweb

查看节点信息状态,已经成为primiary了,中间有一个数据同步过程

[root@node1drbd]#drbd-overview

0:webConnectedPrimary/SecondaryUpToDate/UpToDateCr—-

2)创建文件系统,挂载之

[root@node1drbd]#mke2fs-j-LDRBD/dev/drbd0

[root@node1drbd]#mkdir/mnt/drbd

[root@node1drbd]#mount/dev/drbd0/mnt/drbd/

创建几个空文件

[root@node1drbd]#cd/mnt/drbd/

[root@node1drbd]#touchabc

四.切换主节点

#先卸载,将node1改为次节点

[root@node1~]#umount/mnt/drbd/

[root@node1~]#drbdadmsecondaryweb

#在node2上设置为主节点

[root@node2~]#mkdir/mnt/drbd#穿件挂载点

[root@node2~]#drbdadmprimaryweb

[root@node2~]#drbd-overview

0:webConnectedSecondary/PrimaryUpToDate/UpToDateCr—-

[root@node2~]#drbdadmprimaryweb

查看刚才创建的文件是否存在

[root@node2~]#mount/dev/drbd0/mnt/drbd/

[root@node2~]#ls/mnt/drbd/

abclost+found

梦想从来不会选择人,它是上天赋予每个人构建未来蓝图的神奇画笔。

Linux高可用集群(二):DRBD分布式复制块设备简介和使用

相关文章:

你感兴趣的文章:

标签云: