zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

DRBD+Heratbeat+NFS高可用文件共享存储

存储 可用 NFS 文件共享
2023-09-14 08:59:44 时间

1、架构图

wKiom1MKup_CAId7AADWASgYJQM011.jpg

2、软件简介

Heartbeat(Linux-HA)的工作原理:heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,而且支持冗余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运 行在对方主机上的资源或者服务。

DRBD:drbd是一个软件来实现数据实时、同步、异步的数据镜像块存储复制解决方案,主要功能是通过Linux内核实现。DRBD类似网络RAID-1功能写入本地的文件会通过网络以相同方式写在另一文件系统。

3、资源分配

系统:CentOS6.5_x64


安装epel源:

rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

下载drbd软件:http://oss.linbit.com/drbd/

1、安装依赖包


[root@masternfs ~]# yum install -y gcc gcc-c++ make perl kernel-devel kernel-headers flex drbd84-utils kmod-drbd84
[root@masternfs ~]# ./configure --prefix=/usr/local/drbd --with-km #--with-km,启用内核模块
[root@masternfs ~]# make KDIR=/usr/src/kernels/2.6.32-358.23.2.el6.x86_64/ #指定内核源码路径
[root@masternfs ~]# cp drbd/drbd.ko /lib/modules/`uname -r`/kernel/lib/ #加载DRBD模块到内核中
GIT-hash:599f286440bd633d15d5ff985204aff4bccffadd build by phil@Build64R6, 2013-10-1415:33:06
[root@masternfs ~]# masternfs IPaddr::192.168.0.204/24/eth0 drbddisk::web Filesystem::/dev/drbd0::/web::ext4 killnfsd

参数说明:

masternfsIPaddr::192.168.0.204/24/eth0  #主机名,后跟虚拟IP地址、接口

drbddisk::web  #管理drbd资源

Filesystem::/dev/drbd0::/web::ext4 killnfsd   #文件系统,目录及格式,后跟nfs资源脚本

#killnfsd脚本


[root@masternfs ~]# echo "killall -9 nfsd ; /etc/init.d/nfs restart ; exit 0" /etc/ha.d/resource.d/killnfsd

五、测试高可用性

1、停掉masternfs服务器heartbeat服务,是否虚拟IP正常切换,可通过ip addr命令查看。

2、通过一台测试机, mount -t nfs 192.168.0.204:/web/media,当故障切换时,nfs无间断提供服务,提供完美冗余。

3、通过ha-log日志可以看出主释放资源,备接管资源。

wKiom1MKu9mjQSMdAALJS0t2_G8628.jpg

wKioL1MKu8GThAhJAAN1E7fwAyY840.jpg


nfs共享存储部署 nfs部署 ​ NFS基于TCP/IP穿件的网络文件系统,NFS服务的实现依赖于RPC(远程调用服务)机制,才能完成远程到本地的映射过程,在centos 系统中,需要安装nfs-utils、rpcbind软件包来提供nfs共享服务,NFS用于共享发布和访问,而RPC用于过程调用。
李振良 6年互联网运维经验,擅长Linux,Python,Docker,MySQL,运维自动化等技术领域。