DRBD是Linux内核的存储层中的一个分布式存储系统,现在我们需要两台Linux服务器之间共享块设备做集群,这里我们选择了drbd。(iscsi也可以)
主机名 ip地址 系统环境
node1 192.168.1.50 redhat 6.3
node2 192.168.1.51 redhat 6.3
配置之前的准备
1.安装包的下载
这里我下的版本是: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的设备就搭建好了.