`
loamy
  • 浏览: 321138 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

利用DRBD+heartbeat实现NFS文件共享服务高可性

阅读更多

原文地址:http://www.opvps.com/?p=331

一.目的:二台NFS服务器 互为冗余(系统 切换时间约为2x ms左右),保证NFS文件 共享服务的可用

二.系统为CentOS 5.3
    二个节点 主节点node1(192.168.10.111) 备用节点node2(192.168.10.112) 虚拟IP:192.168.10.113对外提供服务
node1 /etc/hosts如下
[root@node1 ha.d]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
192.168.10.111          node1
192.168.10.112          node2
127.0.0.1               node1 localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6

node2 /etc/hosts如下
[root@node2 ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
192.168.10.111          node1
192.168.10.112          node2
127.0.0.1               node2 localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6

二台机将/dev/hda5互为镜相
二台机/etc/export相同
cat /etc/exports
/u1 192.168.10.0/255.255.255.0(rw,no_root_squash,no_all_squash,sync)
确定二台机的portmap服务为启动状态

三.所需软件 :使用DRBD作为网络 磁盘镜相,Heartbeart为管理 由提供NFS服务及服务失效节点转移
安装所需的软件DRBD及Heartbeat均从http://mirror.centos .org/centos/5.3/extras/i386/RPMS目录 下载 ,省去安装过程
drbd需要手动加载内核 模块 ,安装好rpm执行如下指令
insmod /lib/modules/2.6.9-78.ELsmp/extra/drbd.ko
modprobe drbd

四.配置过程
1.DRBD配置 配置文件只有一个/etc/drbd.conf 二个内容都是一样
global { usage-count yes; }
common { syncer { rate 10M; } }
resource r0 {
        protocol C;
        startup {

        }
        disk {
                on-io-error   detach;
        }
        net {
        }
        on node1 {
                device    /dev/drbd0;
                disk      /dev/hda5;
                address   192.168.10.111:7789;
                meta-disk internal;
        }
        on node2 {
                device    /dev/drbd0;
                disk      /dev/hda5;
                address   192.168.10.112:7789;
                meta-disk internal;
        }
}

在二台机执行
drbdadm create-md r0 #创建ro的资源
/etc/init.d/drbd start #启动drbd
cat /proc/drbd #查看状态正常显示为
version: 8.0.13 (api:86/proto:86)
GIT-hash: ee3ad77563d2e87171a3da17cc002ddfd1677dbe build by buildsvn@c5-i386-build, 2008-10-02 13:31:44
0: cs:Connected st:Secondary/Primary ds:UpToDate/UpToDate C r---
    ns:1848 nr:14357752 dw:14359600 dr:653 al:6 bm:901 lo:0 pe:0 ua:0 ap:0
        resync: used:0/61 hits:928654 misses:1079 starving:0 dirty:0 changed:1079
        act_log: used:0/127 hits:456 misses:6 starving:0 dirty:0 changed:6
在主服务器上执行
drbdsetup /dev/drbd0 primary -o #定义为主节点
mkfs.ext3 /dev/drbd0           #格式化
mount /dev/drbd0 /u1           #挂载
cat /proc/drbd #此时查看状态正常显示为
[root@node1 ha.d]# cat /proc/drbd
version: 8.0.13 (api:86/proto:86)
GIT-hash: ee3ad77563d2e87171a3da17cc002ddfd1677dbe build by buildsvn@c5-i386-build, 2008-10-02 13:31:44
0: cs:Connected st rimary/Secondary ds:UpToDate/UpToDate C r---
    ns:14357752 nr:1848 dw:361872 dr:13998555 al:264 bm:3581 lo:0 pe:0 ua:0 ap:0
        resync: used:0/61 hits:928654 misses:1079 starving:0 dirty:0 changed:1079
        act_log: used:0/127 hits:89742 misses:268 starving:0 dirty:4 changed:264

2.Heartbeat配置共涉及4个文件
/etc/ha.d/ha.cf
/etc/ha.d/haresources
/etc/ha.d/authkeys
/etc/ha.d/resource.d/killnfsd
二个节的配置的配置文件都是一样,文件内容如下
[root@node1 ha.d]# cat /etc/ha.d/ha.cf
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility     local0
keepalive 2
deadtime 20
bcast eth0
auto_failback off
node    node1 node2
[root@node1 ha.d]# cat /etc/ha.d/haresources
node1 IPaddr::192.168.10.113/24/eth0 drbddisk::r0 Filesystem::/dev/drbd0::/u1::ext3 killnfsd
[root@node1 ha.d]# cat /etc/ha.d/authkeys
auth 1
1 crc
#2 sha1 HI!
#3 md5 Hello!
[root@node1 ha.d]# cat /etc/ha.d/resource.d/killnfsd
killall -9 nfsd ; /etc/init.d/nfs restart ; exit 0

需要将 /etc/ha.d/authkeys设为600的权限 将cat /etc/ha.d/resource.d/killnfsd设为755的权限
chmod 600 /etc/ha.d/authkeys
chmod 755 /etc/ha.d/resource.d/killnfsd

为什么要使用这个killnfsd的原因,使用/etc/inin.d/nfs stop 不能停掉nfsd,所有我使用了killall -9 nfsd再加了一个/etc/inin.d/nfs restart确保万一
在二个节点启动Heartbeat即可,先在主节点启动
/etc/init.d/heartbeat start

五.测试
将192.168.10.113:/u1挂到本地/mnt
mount 192.168.10.113:/u1 /mnt
创建测试shell ,二秒一个
cat /mnt/test.sh
while true
do
  echo     ---\> trying touch x : `date`
  touch x
  echo     \<----- done touch x : `date`
  echo
  sleep 2

done

将主节点的heartbeat服务停止,则备节点node2接管服务
/etc/init.d/heartbeat stop

测试脚本 终端显示如下
---> trying touch x : ?t 6?? 30 15:17:16 CST 2009
<----- done touch x : ?t 6?? 30 15:17:16 CST 2009

---> trying touch x : ?t 6?? 30 15:17:19 CST 2009
<----- done touch x : ?t 6?? 30 15:17:19 CST 2009

---> trying touch x : ?t 6?? 30 15:17:21 CST 2009
<----- done touch x : ?t 6?? 30 15:17:21 CST 2009

---> trying touch x : ?t 6?? 30 15:17:23 CST 2009
<----- done touch x : ?t 6?? 30 15:17:23 CST 2009

---> trying touch x : ?t 6?? 30 15:17:25 CST 2009
<----- done touch x : ?t 6?? 30 15:17:25 CST 2009

---> trying touch x : ?t 6?? 30 15:17:27 CST 2009
touch: cannot touch ??x?ˉ: Stale NFS file handle
<----- done touch x : ?t 6?? 30 15:17:42 CST 2009

---> trying touch x : ?t 6?? 30 15:17:44 CST 2009
touch: cannot touch ??x?ˉ: Stale NFS file handle
<----- done touch x : ?t 6?? 30 15:17:44 CST 2009

---> trying touch x : ?t 6?? 30 15:17:46 CST 2009
touch: cannot touch ??x?ˉ: Stale NFS file handle
<----- done touch x : ?t 6?? 30 15:17:46 CST 2009

---> trying touch x : ?t 6?? 30 15:18:03 CST 2009
<----- done touch x : ?t 6?? 30 15:18:03 CST 2009

---> trying touch x : ?t 6?? 30 15:18:05 CST 2009
<----- done touch x : ?t 6?? 30 15:18:05 CST 2009

至此,测试已实现所需的功能

分享到:
评论

相关推荐

    DRBD+Heartbeat+NFS

    本主题聚焦于"DRBD+Heartbeat+NFS"的组合,这是一种常用的Linux环境下实现高可用性(nfs)文件服务器集群的方法。下面将详细介绍这三个关键组件及其相互作用。 1. **DRBD(Distributed Replicated Block Device)** ...

    CentOS5.5 DRBD+Heartbeat+NFS 详细配置过程

    "CentOS5.5 DRBD+Heartbeat+NFS...DRBD+Heartbeat+NFS 的配置过程需要逐步完成,包括安装 CentOS、配置网络、关闭 iptables 和 SELinux、同步时间、安装 DRBD 软件、配置 DRBD、激活 DRBD 资源、启动 DRBD 服务等步骤。

    构建Heartbeat+DRBD+NFS高可用文件共享存储

    构建高可用性文件共享存储系统的关键技术涉及心跳检测Heartbeat、分布式复制块设备DRBD和网络文件系统NFS。下面将详细介绍这些技术及其在构建高可用性文件共享存储系统中的应用。 首先,Heartbeat是一个开源的高...

    Mysql+drbd+heartbeat+amoeba集群配置详解

    根据提供的信息,我们可以详细探讨如何构建一个基于MySQL、DRBD(Distributed Replicated Block Device)、Heartbeat以及Amoeba的高可用性和负载均衡的数据库集群系统。这种集群配置旨在提高系统的稳定性和数据的...

    RHEL5.5+Drbd+Heartbeat+Oracle10R2架构详解

    Drbd、Heartbeat 文件版本及简介: Cluster-Resource-Agents-agents-1.0.3.tar.bz2 Reusable-Cluster-Components-glue-1.0.6.tar.bz2 Heartbeat-3-0-STABLE-3.0.3.tar.bz2 Pacemaker-1-0-Pacemaker-1.0.9.tar.bz2 ...

    drbd+heartbeat+oracle10g(HA)

    DRBD+Heartbeat+Oracle10g高可用HA方案 在本文档中,我们将详细介绍如何使用DRBD、Heartbeat和Oracle10g来实现高可用HA方案。该方案的主要目的是为了提供一个高可用、可靠、可扩展的解决方案,以满足业务连续性和...

    RHEL5.5+drbd+heartbeat+oracle10R2 双机安装实例

    RHEL5.5+drbd+heartbeat+oracle10R2 双机安装实例

    Centos5.6 x86_64下部署安装DRBD+Heartbeat+MySQL

    通过本文档,我们可以实现 Centos5.6 x86_64 操作系统下部署安装 DRBD+Heartbeat+MySQL 服务器平台,实现服务器平台的高可用性和高性能。同时,本文档还提供了一些有用的经验和建议,旨在帮助用户更好地理解和使用 ...

    DRBD+HEARTBEAT+MYSQL(mysql一主多从)安装配置及测试_V_0.2.doc

    《DRBD+HEARTBEAT+MYSQL:搭建高可用MySQL集群》 DRBD(Distributed Replicated Block Device)是一种分布式存储技术,它可以在两台服务器之间实时同步数据,实现高可用性;HEARTBEAT是一款心跳监测软件,用于监控...

    RHEL-5.7+DRBD+heartbeat+Oracle10R2双机安装实例.doc

    RHEL-5.7+DRBD+heartbeat+Oracle10R2双机安装实例.doc

    Drbd+heartbeat+Moosefs分布式存储双机冗余搭建

    在本案例中,Heartbeat确保当主节点失败时,备用节点可以快速接管DRBD资源,保持服务的连续性。Heartbeat会监测DRBD的状态,并根据需要触发切换操作。 **Moosefs** 是一种分布式文件系统,它将数据分布在多台服务器...

    Centos下部署DRBD+NFS+Keepalived高可用环境记录(个人精华版)

    在本文中,我们将深入探讨如何在CentOS操作系统...通过DRBD的数据复制,NFS的文件共享,以及Keepalived的故障转移,我们可以构建一个强大且可靠的系统,即使在硬件故障或网络问题发生时也能保证服务的稳定性和可靠性。

    drbd+nfs+heatbeat

    根据提供的信息,我们可以详细解析如何使用DRBD (Distributed Replicated Block Device) 结合 Heartbeat 和 NFS (Network File System) 来实现一个高可用性的文件系统解决方案。 ### DRBD + Heartbeat 实现 NFS 高...

    NFS+Heartbeat+DRBD部署

    NFS+Heartbeat+DRBD构建高可用存储系统,可容纳1-2T小文件

    MySQL高可用扩展集群应用之配置mysql+heartbeat+drbd实现Mysql写操作高可用.pdf

    在本资料中,我们关注的是通过配置MySQL与Heartbeat和DRBD来实现写操作的高可用性。以下是详细的知识点说明: 1. **DRBD(Distributed Replicated Block Device)**: - DRBD是一种分布式存储解决方案,它可以在两...

    DRBD+Mysql实现Mysql高可用

    DRBD+Mysql实现Mysql高可用

    drbd 8.2.7+heartbeat rpm安装包,有源码

    标题中的“drbd 8.2.7+heartbeat rpm安装包”指的是分布式镜像复制存储系统DRBD(Distributed Replicated Block Device)的版本8.2.7与心跳(Heartbeat)软件的集成RPM安装包。DRBD是一种用于创建高可用性集群的关键...

Global site tag (gtag.js) - Google Analytics