attcat 2014-01-14
一、Drbd 工作原理
DRBD是一种块设备,可以被用于高可用(HA)之中.它类似于一个网络RAID-1功能.(可以比较一下Linux的NFS)当你将数据写入本地 文件系统时,数据还将会被发送到网络中另一台主机上.以相同的形式记录在一个文件系统中。 本地(主节点)与远程主机(备节点)的数据可以保证实时同步.当本地系统出现故障时,远程主机上还会 保留有一份相同的数据,可以继续使用.在高可用(HA)中使用DRBD功能,可以代替使用一个共享盘阵.因为数据同时存在于本地主机和远程主机上,切换时,远程主机只要使用它上面的那份备份数据,就可以继续进行服务了。
二、环境配置:
1、操作系统:radhat 5.4
2、主服务器:
主机名:master
IP:192.168.2.124
镜像的硬盘:/dev/hdb
3、 备份服务器
主机名:slave
IP:192.168.2.125
镜像的硬盘:/dev/hdb
三、安装drbd
1、下载源代码:http://oss.linbit.com/drbd/。此次安装的版本是drbd-8.3.5
2、把下载好的drbd-8.3.5.tar.gz解压
[root@master ] # tar –zxvf drbd-8.3.5.tar.gz
[root@master ] # cd drbd-8.3.5
[root@master ] # make
[root@master ] # make install
[root@master ]# modprobe drbd @加载安装drbd模块
[root@master ]# lsmod |grep drbd
drbd 271736 0
@通过lsmod检查是否已经成功,如果有类似内容输出,则表示drbd安装成功了
[root@master ]# mknod /dev/drbd0 b 147 0 @创建硬件设备drbd
四、配置drbd
DRBD运行时,会读取一个配置文件/etc/drbd.conf.这个文件里描述了DRBD设备与硬盘分区的映射关系,数据一旦写入磁盘并发送到网络中就认为完成了写入操作。
1、drbd.conf的配置参数说明
Protocol
Protocol A @数据一旦写入磁盘并发送到网络中就认为完成了写入操作
Protocol B @收到接收确认就认为完成了写入操作。
Protocol C @收到写入确认就认为完成了写入操作。
2、global
global { usage-count yes; } @是否参加DRBD使用者统计,默认是yes
3、common
common { syncer { rate 1M; } }
@设置主备节点同步时的网络速率最大值,单位是字节.
4、resource
一个DRBD设备(即:/dev/drbdX),叫做一个"资源"。里面包含一个DRBD设备的主备节点的的ip信息,底层存储设备名称,设备大小,meta信息存放方式,drbd对外提供的设备名等等。
resource r0 {
protocol C; @使用协议C.表示收到远程主机的写入确认后,则认为写入完成.
net {
cram-hmac-alg sha1; @设置主备机之间通信使用的信息算法.
shared-secret "FooFunFactory";
}
@每个主机的说明以"on"开头,后面是主机名.在后面的{}中为这个主机的配置.
on master {
device /dev/drbd0;
disk /dev/ hdb;
address 192.168.2.124:7898; @设置DRBD的监听端口,用于与另一台主机通信
meta-disk internal;
}
on slave{
device /dev/drbd0;
disk /dev/ hdb;
address 192.168.2.124:7898;
meta-disk internal;
}
}
5、以下为测试时的完整配置
global {
usage-count yes;
}
common {
protocol C;
}
resource r0 {
on master {
device /dev/drbd0;
disk /dev/hdb;
address 192.168.2.124:7789;
meta-disk internal;
}
on slave {
device /dev/drbd0;
disk /dev/hdb;
address 192.168.2.125:7789;
meta-disk internal;
}
}
6、双机两个节点的配置文件是一模一样的。DRBD源码目录下有个样本,里面说得比较详细。
相关阅读:
DRBD 的详细介绍:请点这里
DRBD 的下载地址:请点这里