Chinaunix首页 | 论坛 | 博客
  • 博客访问: 587359
  • 博文数量: 70
  • 博客积分: 3219
  • 博客等级: 中校
  • 技术积分: 1197
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-13 12:20
个人简介

谢谢您的对我的博客的关心,同时希望这个站点真的能够对您有所帮助。 如果可以请告诉我你的联系方式(可能的话告诉我两个或更多,我不希望失去任何一个关注本主页人士的联系,不论你是我的老友,或是一位新朋友,对于我来说您十分重要)

文章分类
文章存档

2021年(1)

2020年(13)

2018年(1)

2013年(12)

2012年(2)

2009年(2)

2008年(6)

2007年(20)

2006年(13)

分类: 系统运维

2013-02-04 22:17:21

本文不适合用在生产环境,关键在于简单理解drbd的配置和工作方式。本例中,只是将数据存放在2台服务器上,在其中一台出现故障时并不会自动切换(虽然某些情况下出现故障drbd会自动切换,比如一台主机的drbd磁盘故障,但这样的机制还不足以满足生产环境下对高可用性的需求),在生产环境中还要自动切换故障的软件的配合才能实现高可用性。


服务器搭建环境:
主(server1):eth0:192.168.10.10 CentOS 5.8 + drbd

从(server2):eth0:192.168.10.20 CentOS 5.8 + drbd

各添加一块新磁盘:/dev/sdb


以下软件包需要下载,并保存到/home/share/下并解压:


一、主服务器和从服务器配置(以下步骤1~7完全一样):

1、安装
cd /home/share/
rpm -ivh drbd83-8.3.13-2.el5.centos.i386.rpm
rpm -ivh kmod-drbd83-8.3.13-1.el5.centos.i686.rpm

2、加载并检查drbd模块是否被加载
modprobe drbd
lsmod  | grep drbd

3、编辑配置文件
echo 'global {
        usage-count yes;
}

common {
        protocol C;
        startup { wfc-timeout 0; degr-wfc-timeout 120; }
        disk { on-io-error detach; }
        syncer { rate 3M; }
}

resource db {
on server1.vicp.net {
        device    /dev/drbd0;
        disk      /dev/sdb1;
        address   192.168.10.10:7788;
        meta-disk internal;
        }

on server2.vicp.net {
        device    /dev/drbd0;
        disk      /dev/sdb1;
        address   192.168.10.20:7788;
        meta-disk internal;
        }
}' > /etc/drbd.conf

4、添加一个分区(本例直接添加了一块硬盘sdb,并在上面建立一个分区sdb1)。注意1
fdisk /dev/sdb

5、创建drbd分区
drbdadm create-md all

6、检查drbd配置
drbdadm adjust db

7、启动drbd服务。注意2
service drbd start

二、主服务器配置(务必在完成上面的步骤后执行):

1、设定成primary,默认为secondary。
drbdsetup /dev/drbd0 primary -o

2、格式化分区
mkfs.ext3 /dev/drbd0

3、创建目录并挂载分区
mkdir /mnt/drbd
mount /dev/drbd0 /mnt/drbd/

4、写入数据
cp /root/* /mnt/drbd/

三、从服务器配置:

从服务器在drbd启动后,分区默认为secondary,因此不需要做任何额外的配置,在主服务器配置完成后会自动与主服务器同步数据。

四、验证从服务器已经同步数据

1、执行service drbd status就能看到drbd的运行状态,当然还有其他方式,可以通过看日志文件。
或者
2、另外一种最直接的方法,看从服务器上的文件是不是真的和主服务器上完全一样。注意3
drbdadm disconnect db
drbdadm primary db
mount /dev/drbd0 /mnt/drbd/
ls /mnt/drbd/



注意1:这里只是分区,不要格式化!!

注意2:在2台主机上都完成以上步骤后,再在2台主机上同时启动drbd服务。

注意3:验证完成后,如何让从服务器重新与主服务器同步,不是降级和重新连接就能完成的。关于如何恢复,是要按照脑裂的步骤来完成修复的。关于如何修复脑裂,请参考我即将发布的关于drbd脑裂的实例。


关于脑裂的实例一,请参考http://blog.chinaunix.net/uid-20346344-id-3491494.html

关于脑裂的实例二,请参考http://blog.chinaunix.net/uid-20346344-id-3491500.html

以上2个例子基本可以保证DRBD在出现状况时,可以人工干预进行数据恢复了。


还有2篇关于DRBD的文章,一篇是DRBD配置文件详解(当然参考官方文档是最好的选择),另一篇是《heartbeat+DRBD构建高可用环境》我将陆续奉上。

阅读(2391) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~