DRBD是Linux内核的存储层中的一个分布式存储系统,现在我们需要两台Linux服务器之间共享块设备做集群,这里我们选择了drbd。(iscsi也可以)
主机名 ip地址 系统环境
node1 192.168.1.50 RedHat 6.3
node2 192.168.1.51 redhat 6.3
配置之前的准备
1.安装包的下载
http://oss.linbit.com/drbd/
这里我下的版本是:drbd-8.4.3.tar.gz
2.设置hostname
vim /etc/hosts
node1 192.168.1.50
node2 192.168.1.51
3.磁盘规划
这里我们最好在2个节点上使用2个一样大小的分区(注:分好后不要格式化!)
一.下面我们就可以部署DRBD了:
在之前我下的包中由于内核和版本不匹配报了如下错误:
can not load the drbd module.
所以这里我们采用编译的方式生成rpm包然后安装:
tar xvf drbd-8.4.3.tar.gz
cd drbd-8.4.3
mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
./configure
make rpm
make km-rpm
找到我们刚才生成的包,并安装:
cd ~/rpmbuild/RPMS/x86_64/
rpm -ivh drbd-*.rpm
二.查看DRBD是否安装成功
modprobe drbd
lsmode |grep drbd
drbd XXXXX X 即安装成功
三.drbd的配置
默认运行配置文件/etc/drbd.conf配置文件,这里我们的配置文件是在/etc/drbd.d/global_common.conf下,下面我们来进行配置:
vim /etc/drbd.d/global_common.conf
global {
usage-count no;
}
common {
syncer { rate 100M; }
}
resource r0 {
protocol C;
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”;
fence-peer “/usr/lib/drbd/crm-fence-peer.sh”;
out-of-sync “/usr/lib/drbd/notify-out-of-sync.sh root”;
}
startup {
wfc-timeout 120;
degr-wfc-timeout 120;
}
options {
# cpu-mask on-no-data-accessible
}
disk {
on-io-error detach;
fencing resource-only;
}
net {
cram-hmac-alg “sha1”;
shared-secret “FooFunFactory”;
}
device /dev/drbd0;
on node1 {
disk /dev/sdb1;
address 192.168.1.50:7788;
meta-disk internal;
}
on node2 {
disk /dev/sdb1;
address 192.168.1.51:7788;
meta-disk internal;
}
}
这里参数我就不具体说明了。
同理把生成的配置文件scp到node2上。
四:DRBD的启动
1.这里我们在node1,和node2上执行如下命令:
drbdadm create-md all
or
drbdadm create-md r0
2.启动drbd
/etc/init.d/drbd start
3.设置node1为primary,并格式化drbd0设备
drbdadm — –overwrite-data-of-peer primary all
drbdadm primary all
mkfs.ext4 /dev/drbd0
4.在node2上启动drbd,并查看其状态.
/etc/init.d/drbd start
cat /proc/drbd
[>………]sync’ed: …
上面为传输中,如果都为UpToDate表示数据同步完成
5.挂载DRBD分区到/webdata目录下
mount /dev/drbd0 /webdata
这样一个简单的drbd,类似于raid1的设备就搭建好了.
更多RedHat相关信息见RedHat 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=10