在安装之前我们要确定一件事情就是系统内核。如果在2.6.33以下的需要添加DRBD的内核模块才可以。本方法介绍的为2.6.33以下内核的配置介绍。
安装:
- yum update
- yum -y install gcc make automake autoconf flex rpm-build kernel-devel libxslt libxslt-devel
- mkdir -p rpmbuild/SOURCES
- tar -zxvf drbd-*
- cd drbd-*
- ./configure
- make rpm
- make km-rpm
现在我们将源码包编译成了rpm包,可以安装该软件和模块了。
- rpm -ivh drbd-utils* drbd-km-2.6*
配置
vim /etc/drbd.d/global_common.conf
- global {
- usage-count yes;
- }
- common {
- handlers {
- pri-on-incon-degr "/usr/lib/drbd/notify-pri-on-incon-degr.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
- pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
- local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f";
- }
- startup {
- wfc-timeout 30;
- degr-wfc-timeout 30;
- outdated-wfc-timeout 30;
- }
- options {
- # cpu-mask on-no-data-accessible
- }
- disk {
- on-io-error detach;
- fencing resource-and-stonith;
- resync-rate 15M;
- }
- net {
- protocol C;
- prcram-hmac-alg sha1;
- shared-secret "111111";
- }
- }
vim /etc/drbd.d/r0.res
- resource r0 {
- device /dev/drbd0;
- disk /dev/md0;
- meta-disk internal;
- on nde254 {
- address 192.168.0.254:9876;
- }
- on node253 {
- address 192.168.0.253:9876;
- }
- }
这是比较简单的应用。drbd块本身是可以再连接块设备的。有兴趣的童鞋可以去官网了解。
结合heartbeat我们就可以实现高可用的heartbeat+drbd
下面简单的描述一下heartbeat的使用。
在编译出来的drbd的rpm包里有一个drbd-heartbeat-8.4.2-2.el6.x86_64.rpm
安装以后将会提供drbd的判断脚本。Heartbeat的配置文件如下:
ha.cf
- logfacility local0
- keepalive 2
- deadtime 30
- warntime 10
- initdead 120
- ucast eth0 192.168.200.254
- auto_failback on
- node node253
- node nde254
haresources
其中drbddisk脚本就是上述软件包安装产生的。脚本位于heartbeat目录下的resour
ce.d目录下。killnfsd为自己写的脚本。用来结束nfs进程。
- node253 IPaddr::192.168.0.101/24/bond0 drbddisk::r0 Filesystem::/dev/drbd0::/drbd::ext4 killnfsd smb
转载于:https://blog.51cto.com/wangzhenyu/1108640