设为首页 收藏本站
查看: 2919|回复: 5

[经验分享] Centos6.3下NFS+DRBD+HeartBeat配置笔记

[复制链接]
累计签到:77 天
连续签到:1 天
发表于 2013-5-29 09:06:51 | 显示全部楼层 |阅读模式

---------闲   扯-----------  

   这里首先感谢酒哥的构建高可用的Linux服务器的这本书,看了这本书上并参考里面的配置让自己对NFS+DRBD+HeartBeat思路顿时清晰了许多,最后吐槽下,yum安装真心坑爹,以后如果非必须,尽量源码包安装。

----------开   搞-----------


系统版本: centos6.3 x64(内核2.6.32)

DRBD:     DRBD-8.4.3

HeartBeat:epel更新源(真坑)

NFS:       系统自带


HeartBeat VIP:    192.168.7.90

Primary DRBD+HeartBeat:     192.168.7.88(drbd1.example.com)

Secondary DRBD+HeartBeat:   192.168.7.89 (drbd2.example.com)


(Primary)为仅主服务器端配置

(Secondary)为仅从服务器端配置

(Primary,Secondary)为主服务器端从服务器端共同配置


一.DRBD配置,传送门:http://showerlee.blog./2047005/1211963


二.Hearbeat配置;


这里接着DRBD系统环境及安装配置:


1.安装heartbeat(CentOS6.3中默认不带有Heartbeat包,因此需要从第三方下载)(Primary,Secondary)

# wget ftp://mirror.switch.ch/pool/1/mi ... ease-6-5.noarch.rpm

# rpm -ivUh epel-release-6-5.noarch.rpm

# yum --enablerepo=epel install heartbeat -y


2.配置heartbeat

(Primary)

# vi /etc/ha.d/ha.cf

---------------

# 日志

logfile         /var/log/ha-log

logfacility     local0

# 心跳监测时间

keepalive       2

# 死亡时间

deadtime        5

# 指定对方IP:

ucast           eth0 192.168.7.89

# 服务器正常后由主服务器接管资源,另一台服务器放弃该资源

auto_failback   off

#定义节点

node            drbd1.example.com drbd2.example.com

---------------

(Secondary)

# vi /etc/ha.d/ha.cf

---------------

# 日志

logfile         /var/log/ha-log

logfacility     local0

# 心跳监测时间

keepalive       2

# 死亡时间

deadtime        5

# 指定对方IP:

ucast           eth0 192.168.7.88

# 服务器正常后由主服务器接管资源,另一台服务器放弃该资源

auto_failback   off

#定义节点

node            drbd1.example.com drbd2.example.com

---------------


编辑双机互联验证文件:(Primary,Secondary)

# vi /etc/ha.d/authkeys

--------------

auth 1

1 crc

--------------

# chmod 600 /etc/ha.d/authkeys


编辑集群资源文件:

(Primary,Secondary)

# vi /etc/ha.d/haresources

--------------

drbd1.example.com IPaddr::192.168.7.90/24/eth0 drbddisk::r0 Filesystem::/dev/drbd0::/data::ext4 killnfsd

--------------

该文件内IPaddr,Filesystem等脚本存放路径在/etc/ha.d/resource.d/下


编辑脚本文件killnfsd,用来重启NFS服务:

注:因为NFS服务切换后,必须重新mount NFS共享出来的目录,否则会报错。

# vi /etc/ha.d/resource.d/killnfsd

-----------------

killall -9 nfsd; /etc/init.d/nfs restart;exit 0

-----------------

赋予执行权限:

# chmod 755 /etc/ha.d/resource.d/killnfsd



创建DRBD脚本文件drbddisk

注:

此处又是一个大坑,如果不明白Heartbeat目录结构的朋友估计要在这里被卡到死,因为默认yum安装Heartbeat,不会在/etc/ha.d/resource.d/创建drbddisk脚本,而且也无法在安装后从本地其他路径找到该文件。

此处本人也是因为启动Heartbeat后无法PING通虚IP,最后通过查看/var/log/ha-log日志,找到一行

ERROR: Cannot locate resource script drbddisk

然后进而到/etc/ha.d/resource.d/路径下发现竟然没有drbddisk脚本,最后在google上找到该代码,创建该脚本,终于测试通过:


# vi /etc/ha.d/resource.d/drbddisk

-----------------------

#!/bin/bash

#

# This script is inteded to be used as resource script by heartbeat

#

# Copright 2003-2008 LINBIT Information Technologies

# Philipp Reisner, Lars Ellenberg

#

###


DEFAULTFILE="/etc/default/drbd"

DRBDADM="/sbin/drbdadm"


if [ -f $DEFAULTFILE ]; then

. $DEFAULTFILE

fi


if [ "$#" -eq 2 ]; then

RES="$1"

CMD="$2"

else

RES="all"

CMD="$1"

"drbddisk" 134L, 3166C

#!/bin/bash

#

# This script is inteded to be used as resource script by heartbeat

#

# Copright 2003-2008 LINBIT Information Technologies

# Philipp Reisner, Lars Ellenberg

#

###


DEFAULTFILE="/etc/default/drbd"

DRBDADM="/sbin/drbdadm"


if [ -f $DEFAULTFILE ]; then

. $DEFAULTFILE

fi


if [ "$#" -eq 2 ]; then

RES="$1"

CMD="$2"

else

RES="all"

CMD="$1"


                       ;;

               Secondary|Unconfigured)

                       echo "stopped ($ROLE)"

                       exit 3 # LSB status "service is not running"

                       ;;

               *)

                       # NOTE the "running" in below message.

                       # this is a "heartbeat" resource script,

                       # the exit code is _ignored_.

                       echo "cannot determine status, may be running ($ROLE)"

                       exit 4 #  LSB status "service status is unknown"

                       ;;

       esac

       ;;

   *)

       echo "Usage: drbddisk [resource] {start|stop|status}"

       exit 1

       ;;

esac


exit 0

-----------------------

赋予执行权限:

# chmod 755 /etc/ha.d/resource.d/drbddisk


在两个节点上启动HeartBeat服务,先启动Primary:(Primary,Secondary)

# service heartbeat start

# chkconfig heartbeat on


这里能够PING通虚IP 192.168.7.90,表示配置成功


三.配置NFS

# vi /etc/exports

-----------------

/data        *(rw,no_root_squash)

-----------------

重启NFS服务:

# service rpcbind restart

# service nfs restart

# chkconfig rpcbind on

# chkconfig nfs off

这里设置NFS开机不要自动运行,因为/etc/ha.d/resource.d/killnfsd 该脚本内容控制NFS的启动。


四.最终测试

在另外一台LINUX的客户端挂载虚IP:192.168.7.90,挂载成功表明NFS+DRBD+HeartBeat大功告成.

# mount -t nfs 192.168.7.90:/data /tmp

# df -h

---------------

......

192.168.7.90:/data   1020M   34M  934M   4% /tmp

---------------

测试NFS+DRBD+HeartBeat可用性:

1.向挂载的/tmp目录传送文件,忽然重新启动主端DRBD服务,查看变化

经本人测试能够实现断点续传


2.正常状态重启Primary主机后,观察主DRBD状态是否恢复Primary并能正常被客户端挂载并且之前写入的文件存在,可以正常再写入文件。

经本人测试可以正常恢复,且客户端无需重新挂载NFS共享目录,之前数据存在,且可直接写入文件。


3.当Primary主机因为硬件损坏无法立即使用,需要将Secondary提升为Primary主机,如何操作?

如果设备能够正常启动则按照如下操作,无法启动则强行提升Secondary为Primary,待宕机设备能够正常启动,若“脑裂”,再做后续修复工作。

首先先卸载客户端挂载的NFS主机目录

# umount /tmp

(Primary)

卸载DRBD设备:

# service nfs restart

# umount /data

降权:

# drbdadm secondary r0

查看状态,已降权

# service drbd status

-----------------

drbd driver loaded OK; device status:

version: 8.4.3 (api:1/proto:86-101)

GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@drbd1.example.com, 2013-05-27 20:45:19

m:res  cs         ro                   ds                 p  mounted  fstype

0:r0   Connected  Secondary/Secondary  UpToDate/UpToDate  C

-----------------

(Secondary)

提权:

# drbdadm primary r0

查看状态,已提权:

# service drbd status

----------------

drbd driver loaded OK; device status:

version: 8.4.3 (api:1/proto:86-101)

GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@drbd2.example.com, 2013-05-27 20:49:06

m:res  cs         ro                 ds                 p  mounted  fstype

0:r0   Connected  Primary/Secondary  UpToDate/UpToDate  C

----------------

这里还未挂载DRBD目录,让Heartbeat帮忙挂载:

注:若重启过程中发现Heartbeat日志报错:

ERROR: glib: ucast: error binding socket. Retrying: Permission denied

请检查selinux是否关闭

# service heartbeat restart

# service drbd status

-----------------------

drbd driver loaded OK; device status:

version: 8.4.3 (api:1/proto:86-101)

GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@drbd2.example.com, 2013-05-27 20:49:06

m:res  cs         ro                 ds                 p  mounted  fstype

0:r0   Connected  Primary/Secondary  UpToDate/UpToDate  C  /data    ext4

------------------------

成功让HeartBeat挂载DRBD目录


重新在客户端做NFS挂载测试:

# mount -t nfs 192.168.7.90:/data /tmp

# ll /tmp

------------------

1  10  2  2222  3  4  5  6  7  8  9  lost+found  orbit-root

------------------

重启刚刚被提权的主机,待重启查看状态:

# service drbd status

------------------------

drbd driver loaded OK; device status:

version: 8.4.3 (api:1/proto:86-101)

GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@drbd2.example.com, 2013-05-27 20:49:06

m:res  cs            ro               ds                 p  mounted  fstype

0:r0   WFConnection  Primary/Unknown  UpToDate/DUnknown  C  /data    ext4

------------------------

HeartBeat成功挂载DRBD目录,且客户端无缝透明使用NFS挂载点。


4.测试最后刚才那台宕机重新恢复正常后,他是否会从新夺取Primary资源?

重启后不会重新获取资源,需手动切换主从权限方可。

注:vi /etc/ha.d/ha.cf配置文件内该参数:

--------------------

auto_failback   off

--------------------

表示服务器正常后由新的主服务器接管资源,另一台旧服务器放弃该资源




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-6192-1-1.html 上篇帖子: Centos6.0系统drbd+heartbeat+nfs实现高可用文件存储 下篇帖子: heartbeat+drbd+mysql:实现最廉价的高可用组合

尚未签到

发表于 2013-6-15 05:13:09 | 显示全部楼层
走过了年少,脚起了水泡

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-23 05:45:57 | 显示全部楼层
床上运动也可以减肥的,你们都不知道吗?

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-7-1 04:33:04 | 显示全部楼层
男人有冲动可能是爱你,也可能是不爱,但没有冲动肯定是不爱!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-9-1 19:30:01 | 显示全部楼层
不在课堂上沉睡,就在酒桌上埋醉。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-12-26 02:13:49 | 显示全部楼层
至少在我最无助,哭的最伤心时,你还是抱住了我,用手抹掉了我的眼泪。这就够了,你还是不忍。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表