数据镜像:实时、透明、同步(所有服务器都成功后返回)、异步(本地服务器成功后返回)
安装DRBD
wget http://oss.linbit.com/drbd/8.4/drbd-8.4.1.tar.gz
tar xf drbd-8.4.1.tar.gz
cd drbd-8.4.1
./configure --prefix=/usr/local/drbd --with-km
make KDIR=/usr/src/kernels/2.6.32-431.20.3.el6.x86_64/ #根据实际情况
make install
mkdir -p /usr/local/drbd/var/run/drbd
cp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/rc.d/init.d
chkconfig --add drbd
chkconfig drbd on
安装DRBD模块
cd drbd-8.4.1/drbd
make clean
make KDIR=/usr/src/kernels/2.6.32-431.20.3.el6.x86_64/
cp drbd.ko /lib/modules/`uname -r`/kernel/lib/
depmod
简单配置DRBD并创建resource
确保/usr/local/drbd/etc/drbd.d/global_common.conf文件包含:
global {
usage-count yes;
}
common {
net {
protocol C;
}
}
添加资源test,创建/usr/local/drbd/etc/drbd.d/test.res文件:
resource test{
on drbdmaster{
device /dev/drbd1; #逻辑设备的路径
disk /dev/sda3; #物理设备,可以使用lvm
address 192.168.1.6:7788;
meta-disk internal;
}
on drbdbackup{
device /dev/drbd1;
disk /dev/sda3;
address 192.168.1.7:7788;
meta-disk internal;
}
}
drbdmaster和drbdbackup为主备的主机名,确保使用主机名互相可以ping通
创建resource
service drbd start
modprobe drbd
drbdadm create-md test
drbdadm up test
如果drbdadm create-md r0执行失败,执行:
dd if=/dev/zero of=/dev/sda3 bs=1M count=100
后重新执行即可
设置master为主节点并查看状态:
drbdadm primary --force test
cat /proc/drbd
创建文件系统
对drbd设备进行格式化并挂载:
mkfs.ext4 /dev/drbd1
mount /dev/drbd1 /test
主备的手动切换
切换为主:
drbdadm primary test
切换为备:
drbdadm secondary test