Centos6.0系统drbd+heartbeat+nfs实现高可用文件存储

简介:

本文centos6.0系统:

使用drbd镜像技术实现后台两台服务器数据同步,使用heartbeat实现自动切换,开启nfs提供文件服务

node1:192.168.182.132

node2:192.168.182.128

vip:192.168.182.200

1、配置hosts,安装drbd、heartbeat、nfs

1>、node1、node2:

vim hosts

192.168.182.132    node1
192.168.182.128    node2

2>、drbd:

yum -y install gcc kernel-devel kernel-headers flex libnet
tar zxvf drbd-8.4.3.tar.gz
cd drbd-8.4.3
./configure --prefix=/usr/local/drbd --with-km
make KDIR=/usr/src/kernels/2.6.32-71.el6.i686/
make install
mkdir -p /usr/local/drbd/var/run/drbd
cp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/rc.d/init.d
chkconfig --add drbd
chkconfig drbd on
cd drbd
cp drbd.ko /lib/modules/`uname -r`/kernel/lib/
depmod
modprobe drbd

cd /usr/local/drbd/etc/drbd.d

mv global_common.conf global_common.conf.bak
vim global_common.conf
global    {
  usage-count    yes;  #是否参加DRBD使用者统计,默认yes
  }
  common    {
  net    {
     protocol    C;  #使用drbd的第三种同步协议,表示收到远程主机的写入确认后,则认为写入完成.
  }
  }

vim r0.res

resource    r0    {
      on node1    {   #每个主机的说明以on开头,后面是hostname
      device    /dev/drbd1;   #drbd设备名
      disk    /dev/sdb1;  #/dev/drbd1使用的磁盘分区是/dev/sdb1。
      address    192.168.182.132:7789;    #设置DRBD的监听端口,用于与另一台主机通信。
      meta-disk    internal;
  }
      on node2    {
      device    /dev/drbd1;
      disk    /dev/sdb1;
      address    192.168.182.128:7789;
      meta-disk    internal;
  }


3>、 启动DRBD

drbdadm create-md r0

/etc/init.d/drbd start

node1:执行

drbdsetup /dev/drbd1 primary --o

mkfs.ext4 /dev/drbd1

我们将其挂载到/root/data

目前为止:drbd安装完毕,已经同步,更详请见:

http://lansgg.blog.51cto.com/5675165/1194252

4>、在node1、node2上配置nfs(一样操作)

yum install nfs rpcbind -y

vim /ect/exports

/root/data    *(rw,no_root_squash,async)

/etc/init.d.nfs restart

2、现在开始安装heartbeat及配置

yum install heartbeat -y

cp /usr/share/doc/heartbeat-3.0.4/authkeys ha.cf haresources /etc/ha.d/

1、node1配置ha.cf

logfile    /var/log/ha-log

logfacility    local0

keepalive 2

deadtime 30

warntime 10

initdead 120

udpport    694

ucast eth0 192.168.182.128

auto_failback off

node node1
node node2

ping 192.168.182.2

respawn root /usr/lib/heartbeat/ipfail

++++++++++++++++++++++++++++++++

node2的ha.cf和上面一样,只是ucast eth0 192.168.182.132(对方IP)

配置/etc/ha.d/authkeys

auth 2
#1 crc
2 sha1 heartbeat
#3 md5 Hello!

node2同上

配置/etc/ha.d/haresources 

node1 IPaddr::192.168.182.200/24/eth0 drbddisk::r0 Filesystem::/dev/drbd1::/root/data::ext4 nfs

node2同上

cp /usr/local/drbd/etc/ha.d/resource.d/drbddisk /etc/ha.d/resource.d/

node2同上

4、启动heartbeat

/etc/init.d/heartbeat start

现在为止:你会发现node1上网卡

将node1上heartbeat关闭:你会发现node2

drbd自动升级primary

vip自动漂移

mount 自动挂载

Ps:同样,你启动node1的heartbeat,关闭node2的,你会发现,node1的nfs,drbd,vip都进行了相应的操作;

5、测试:

在客户端进行挂载,并且也挂载到当前的/root/data

继续测试:

1、当你在客户端写入文件时,进行node间的切换尝试;

看此时写数据有影响不,发现DRBD+Heartbeat正常切换还是需要些时间的;

2、正常状态下关机Primary机,然后看数据有无问题,观察DRBD的status;然后等主机启动后,再观察变化,然后再关机secondary,然后再启动,观察DRBD变化及Heartbeat起作用了没。





本文转自 西索oO 51CTO博客,原文链接:http://blog.51cto.com/lansgg/1205281

相关文章
|
9月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
1528 69
|
9月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
833 78
|
10月前
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
1124 79
|
7月前
|
监控 关系型数据库 MySQL
在CentOS系统中,如何统计哪个进程打开了文件描述符?
利用上述方法,你可以有效地监控和统计CentOS系统中的进程打开的文件描述符数量,以帮助排查错误或优化系统配置。通过组合使用各种工具和命令,可以获得对系统状态和行为的深入了解,进而做出相应的调整和
350 5
|
9月前
|
缓存 监控 Linux
CentOS系统如何查看当前内存容量。
以上方法都不需要特殊软件或者复杂配置即可执行,在CentOS或其他Linux发行版中都适合运行,并且它们各自透露出不同角度对待问题解答方式:从简单快速到深入详尽;从用户态到核心态;从操作层数到硬件层数;满足不同用户需求与偏好。
749 8
|
11月前
|
机器人 Linux
CentOS 7系统中安装特定版本CMake 3.21.2的方法。
到这里,过程已经全部完成。如果你跟随上面的步骤来,那么你现在已经拥有了一个全新的CMake版本在你的CentOS 7系统上了。这个过程就像是你通过一系列仪式,唤醒了一个沉睡已久的古老机器人,它现在完全按照你的意愿来帮你构建和编译软件了。
773 18
|
9月前
|
存储 Linux 数据安全/隐私保护
确定CentOS系统分区表类型(MBR或GPT)
以上方法均能够帮助用户准确地识别出CentOS下连接硬件所应用得具体磁盘标准,并根据实际需求做进一步处理与管理工作。
959 0
|
Unix Linux 程序员
在Centos系统上如何有效删除文件和目录的指令汇总
记住,有了这个指南,你就不再为删除文件和目录感到困扰。快去尝试一下,让你的CentOS更上一层楼吧!
840 24
|
9月前
|
Ubuntu Linux 云计算
CentOS与Ubuntu:Linux系统的双璧
选择Ubuntu还是CentOS,取决于用户的具体需求,如是否需要图形化界面、对稳定性的要求、软件包管理的偏好以及对商业支持的需求等。两者都是优秀的Linux发行版,只是在设计理念和目标用户群体上有所不同。#深度好文计划#
|
Linux 应用服务中间件 nginx
CentOS系统下的软件安装与卸载
CentOS系统中安装及卸载软件,常用yum命令安装及卸载软件包。yum是基于RPM的软件包管理器,可用于在CentOS中安装、更新、查询和移除软件包。yum命令可以从指定服务器下载rpm包并安装,能自动解决依赖问题。
764 78