DRBD+Heratbeat+NFS高可用文件共享存储
1、架构图
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日志可以看出主释放资源,备接管资源。
nfs共享存储部署 nfs部署 NFS基于TCP/IP穿件的网络文件系统,NFS服务的实现依赖于RPC(远程调用服务)机制,才能完成远程到本地的映射过程,在centos 系统中,需要安装nfs-utils、rpcbind软件包来提供nfs共享服务,NFS用于共享发布和访问,而RPC用于过程调用。
李振良 6年互联网运维经验,擅长Linux,Python,Docker,MySQL,运维自动化等技术领域。
相关文章
- Oracle数据库存储number类型数据「建议收藏」
- 使用 Rook 构建生产可用存储环境实践
- Mysql高可用高性能存储应用系列2 - 深入理解锁和Mvcc
- Mysql高可用高性能存储应用系列4 - 分库分表、中间件
- 存储MySQL 存储二进制数据之旅(mysql二进制数据)
- MySQL存储过程的参数优化(mysql存储过程参数)
- 探索 Oracle 存储过程的多样性(oracle存储过程种类)
- 含关键字Redis:实现高性能的缓存与数据存储(redis包)
- 如何在 Linux 上挂载存储设备?(linux挂存储)
- Linux NFS集群 – 实现高稳定性的网络存储方案(linux nfs 集群)
- 储Redis解决缓存膨胀问题的存储策略(缓存过大redis怎么存)
- 从存储到分布式使用Redis储存数据(数据存到redis)
- 使用Redis瞬间加速存储(存储到redis的速度)
- 利用Redis管理用户评论信息(使用redis存储评论)
- Redis链表数据存储的新维度(redis链表连载)
- 数据库存储过程分页显示