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