使用drbd实现数据实时备份



使用drbd实现数据实时备份
 
本文不适合用在生产环境,关键在于简单理解drbd的配置和工作方式。本例中,只是将数
据存放在2台服务器上,在其中一台出现故障时并不会自动切换(虽然某些情况下出现故障
drbd会自动切换,比如一台主机的drbd磁盘故障,但这样的机制还不足以满足生产环境下
对高可用性的需求),在生产环境中还要自动切换故障的软件的配合才能实现高可用性。
 www.2cto.com  
 
服务器搭建环境:
主(server1):eth0:192.168.10.10 CentOS 5.8 + drbd
从(server2):eth0:192.168.10.20 CentOS 5.8 + drbd
各添加一块新磁盘:/dev/sdb
 
以下软件包需要下载,并保存到/home/share/下并解压:
http://dl.vmall.com/c05jz4birn
 
一、主服务器和从服务器配置(以下步骤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、编辑配置文件  www.2cto.com  
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
 
二、主服务器配置(务必在完成上面的步骤后执行): www.2cto.com  
 
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,因此不需要做任何额外的配置,在主服务
器配置完成后会自动与主服务器同步数据。
 
四、验证从服务器已经同步数据
  www.2cto.com  
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:验证完成后,如何让从服务器重新与主服务器同步,不是降级和重新连接就能完成的。
关于如何恢复,是要按照脑裂的步骤来完成修复的。
 

相关内容

    暂无相关文章