Debian lenny + DRBD



1.
apt-get install drbd8-utils drbd8-modules-2.6.26-1-686


2.
global {
  usage-count yes;
}
common {
  syncer { rate 40M; }
  protocol C;
}
resource r0 {
  on alice {
    device    /dev/drbd1;
    disk      /dev/sda7;
    address   10.1.1.31:7789;
    meta-disk internal;
  }
  on bob {
    device    /dev/drbd1;
    disk      /dev/sda7;
    address   10.1.1.32:7789;
    meta-disk internal;
  }
}


3.
drbdadm create-md r0


4.
reboot


5.
drbdadm -- --overwrite-data-of-peer primary r0


6.

By now, your DRBD device is fully operational, even before the initial synchronization has completed (albeit with slightly reduced performance). You may now create a filesystem on the device, use it as a raw block device, mount it, and perform any other operation you would with an accessible block device.

 

 

备注:

1.drbd使用的硬盘(不论是primary的还是secondary的盘),拿到其它机器上也可以正常使用,文件都在。

2.primary和secondary可互换(drbdadm primary r0         drbdadm secondary r0)。

3.如果primary失败,可通过drbdadm primary r0把secondary变成primary,再mount硬盘,即可正常使用。

4.如果primary机器或secondary机器彻底坏了。可以拿来其他机器替代(机器性能最好不要低于原来机器,drbd用的硬盘大小

不能比原来的小) 。安装系统,安装drbd,配置,运行。不要用同步命令,drbd会自动同步!!drbd的文档中说的很清楚。

5.我的一块硬盘在执行drbdadm create-md r0之前,被格式化成ext3文件系统,怎么也执行不了drbdadm create-md r0了。于是只好用

dd if=/dev/zero of=/dev/sdb,时间太长,Ctrl+C,停止,重新fdisk出新的分区。OK了。这个解决方法不好。但还管用。

6.在fstab中加载drbd分区出现问题,因为drbd还没有启动。所以要自己写脚本mount分区。因为drbd的启动脚本为S70drbd,所以加载分区脚本应该排在70之后,比如S80mountdrbdpartitions。

7.做了同步测试:

从客户端往primary上拷贝18G文件,在文件拷贝过程中,停掉secondary1分钟后重启,再过3分钟后再次停掉secondary;

等待拷贝完成后,删除18G文件中的部分文件,然后再往primary上随便拷贝些文件;

启动secondary,通过cat /proc/drbd查看正在进行同步;

等待同步完成后,(经过验证)主从盘的内容是一致的。

 

 

 http://www.linux-ha.org/DRBD/FAQ

 

posted @ 2008-11-18 13:58  h2appy  阅读(475)  评论(0编辑  收藏  举报