博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Centos5.6 x86_64下安装DRBD+Heartbeat+NFS
阅读量:6832 次
发布时间:2019-06-26

本文共 3177 字,大约阅读时间需要 10 分钟。

这篇文章其实是对《构建高可用Linux服务器(第二版)》中第五章中“生产下的高可用NFS文件服务器”一节的补充,其实像drbd和heartbeat这些软件都是可以通过yum来自动安装的,例如安装drbd的命令如下:

yum -y install drbd83 kmod-drbd83

DRBD的配置文件/etc/drbd.conf如下所示:

global {# minor-count dialog-refresh disable-ip-verificationusage-count no;         #统计drbd的使用}common {syncer  { rate 30M; }  #同步速率,视带宽而定}resource r0 {           #创建一个资源,名字叫”r0”protocol C;             #选择的是drbd的C 协议(数据同步协议,C为收到数据并写入后返回,确认成功)handlers {              #默认drbd的库文件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";# fence-peer "/usr/lib/drbd/crm-fence-peer.sh";# split-brain "/usr/lib/drbd/notify-split-brain.sh root";# out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";# before-resync-target "/usr/lib/drbd/snapshot-resync-target-lvm.sh -p 15 -- -c 16k";# after-resync-target /usr/lib/drbd/unsnapshot-resync-target-lvm.sh;}startup {# wfc-timeout degr-wfc-timeout outdated-wfc-timeout wait-after-sbwfc-timeout 120;degr-wfc-timeout 120;    }disk {# on-io-error fencing use-bmbv no-disk-barrier no-disk-flushes# no-disk-drain no-md-flushes max-bio-bvecson-io-error detach;}net {# sndbuf-size rcvbuf-size timeout connect-int ping-int ping-timeout max-buffers# max-epoch-size ko-count allow-two-primaries cram-hmac-alg shared-secret# after-sb-0pri after-sb-1pri after-sb-2pri data-integrity-alg no-tcp-corkmax-buffers 2048;cram-hmac-alg "sha1";shared-secret "123456";#allow-two-primaries;}syncer {rate 30M;# rate after al-extents use-rle cpu-mask verify-alg csums-alg}on centos1.cn7788.com { #设定一个节点,分别以各自的主机名命名device  /dev/drbd0; #设定资源设备/dev/drbd0 指向实际的物理分区 /dev/sdb1disk    /dev/sdb;address 192.168.11.32:7788;      #设定监听地址以及端口meta-disk       internal;}on centos2.cn7788.com {         #设定一个节点,分别以各自的主机名命名device  /dev/drbd0; #设定资源设备/dev/drbd0 指向实际的物理分区 /dev/sdb1disk    /dev/sdb;address 192.168.11.33:7788;       #设定监听地址以及端口meta-disk       internal;}}

Heartbeat的配置文件如下:

logfile /var/log/ha-loglogfacility local0keepalive 2deadtime 15ucast eth0 192.168.11.32ucast eth1 10.0.0.2auto_failback offnode centos1.cn7788.com centos2.cn7788.com

补充说明的几点是:

一、许多朋友喜欢用独立分区的方式来部署DRBD,这个也是可行的,我们在安装系统时只需要保留Free空间即可,在部署DRBD时再进行fdisk,这个是不需要写进/etc/fstab表的,即不需要在安装系统时就挂载,我在测试时发现用此方法部署DRBD还是比较繁琐了,增加了整个实验的复杂度,而且还需要操作dd,个人建议还是以独立硬盘来作为DRBD的块设备较好;

二、Secondary主机用来做DRBD的硬盘或分区可以跟Primar主机的不一样大小,但请不要小于Primary主机;

三、服务器网卡及交换机我都推荐千M系列的,在测试中发现其同步速率界于100M-200M之间,这里采用官方的建议,以最小值的30%带宽来设置rate速率;

四、DRBD对网络环境要求很高,建议用单独的双绞线来作为二台主机之间的心跳线,如果条件允许,可以考虑用二根以上的心跳线;如果这个环节做得好,基本上脑裂的问题是不存在的。其实整个实验初期都可以在同一网络下实现,后期再加心跳线也是可行的。

五、安装Heartbeat时需要安装二遍,即yum -y install heartbeat要执行二次;

六、DRBD+Heartbeat+NFS的实验在测试时发现也很威猛,我经常在做写入测试时忽然关掉primary机器,写数据丝毫不影响,用户完全感觉不到有机器挂掉了;

七、建议不要用根分区作为MySQL的datadir,不然你show database时会发现会出现名为#mysql50#lost+found的数据库;

八、就算发生脑裂的问题,DRBD也不会丢失数据的,手动解决就是;正因为DRBD可靠,MySQL也推荐将其作为MySQL实现高可用方案之一,其具体操作详见http://database.51cto.com/art/201209/355332.htm

转载地址:http://rrvkl.baihongyu.com/

你可能感兴趣的文章
搭建交叉编译环境
查看>>
linux下tar压缩/解压的使用(tar) 压缩/解压
查看>>
菜单each+hover
查看>>
乐观锁和悲观锁【转】
查看>>
抵制长假,呼唤年假!
查看>>
Linux的安装
查看>>
修復 “Failed to bring up eth0″ in Ubuntu virtualbox
查看>>
发现linux主机再用代理上网的情况下不能用wget从外网下载资源
查看>>
查找链表中倒数第k个结点
查看>>
不只是技术!成为IT经理必备的十大软技能
查看>>
基于AgileEAS.NET SOA 平台SAAS架构技术的开源分销ERP系统-SmartERP.NET下载配置说明
查看>>
16个时髦的扁平化设计的 HTML5 & CSS3 网站模板
查看>>
c++工厂模式(Factory method)
查看>>
[RGEOS]空间拓扑关系
查看>>
java_queue
查看>>
JavaScript escape encodeURI
查看>>
Exchange模式功能
查看>>
Tomcat性能优化(二) 启动参数设置
查看>>
Today See>
查看>>
kiddouk/redisco
查看>>