二 DRDB的安装
从官方网站下载源码包来编译或直接使用yum源来安装,这里以CentOS为例说明安装过程,其它系统类似。
[iyunv@drbd1 ~]# uname -a
Linux drbd1 2.6.18-194.11.1.el5 #1 SMP Tue Aug 10 19:09:06 EDT 2010 i686 i686 i386 GNU/Linux
通过yum安装DRBD服务:
[iyunv@drbd1 ~]# yum -y install kmod-drbd83 drbd83
检查DRBD是否安装成功:
[iyunv@drbd1 ~]# lsmod | grep -i drbd
drbd 228528 3
[iyunv@drbd1 ~]# modprobe -l | grep -i drbd
/lib/modules/2.6.18-194.11.1.el5/weak-updates/drbd83/drbd.ko
安装成功之后/sbin目录下面有drbdadm,drbdmeta,drbdsetup命令,以及/etc/init.d/drbd启动脚本。
三 配置DRDB
DRBD运行需要读取/etc/drbd.conf配置文件,下面是两台主机节点配置的drbd.conf文件的简单示例:
[iyunv@drbd1 ~]#cat /etc/drbd.conf
#
# drbd.conf
#
# create by
jackbillow@gmail.com at 2010-08-12
global {
# minor-count 64;
# dialog-refresh 5; # 5 seconds
# disable-ip-verification;
usage-count no;
#是否参加DRBD使用者统计,默认yes
}
common {
syncer { rate 200M; }
#设置主备节点同步时的网络速率最大值,单位是字节。
}
resource r0 {
#资源名字为r0.
protocol C;
# 使用drbd的第三种同步协议,表示收到远程主机的写入确认后,则认为写入完成.
handlers {
pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f";
pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f";
local-io-error "echo o > /proc/sysrq-trigger ; halt -f";
fence-peer "/usr/lib64/heartbeat/drbd-peer-outdater -t 5";
pri-lost "echo pri-lost. Have a look at the log files. | mail -s 'DRBD Alert' root";
split-brain "/usr/lib/drbd/notify-split-brain.sh root";
out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";
}
net {
# timeout 60;
# connect-int 10;
# ping-int 10;
# max-buffers 2048;
# max-epoch-size 2048;
cram-hmac-alg "sha1";
shared-secret "MySQL-HA";
# DRBD同步时使用的验证方式和密码信息。
}
disk {
on-io-error detach;
fencing resource-only;
#使用dpod功能(drbd outdate-peer daemon)保证在数据不同步时不进行切换。
}
startup {
wfc-timeout 120;
degr-wfc-timeout 120;
}
device /dev/drbd0;
on dbm157 {
#每个主机的说明以on开头,后面是hostname(uname -n),在后面的{}中为这个主机的配置。
disk /dev/sda2;
#/dev/drbd0使用的磁盘分区是/dev/sda2。
address 192.168.0.157:7788;
#设置DRBD的监听端口,用于与另一台主机通信。
meta-disk internal;
}
on dbm158 {
disk /dev/sda2;
#/dev/drbd0使用的磁盘分区是/dev/sda2。
address 192.168.0.158:7788;
#设置DRBD的监听端口,用于与另一台主机通信。
meta-disk internal; #drbd的元数据存放方式。
}
}
将上面这个drbd.conf文件分别复制到两台主机的/etc目录下。drbd.conf的配置参数很多,有兴趣的话可以使用命令:man drbd.conf来查看了解更多的参数说明。
四 启动DRBD