MFS ——利用pacemaker+corosync+pcs实现mfsmaster的高可用

一.什么是mfsmaster的高可用

我们知道mfsmaster是调度器,是mfs最核心的地方,如果mfsmaster挂了,整个mfs架构会挂掉,对此我们要对mfsmaster进行高可用冗余操作。

MFS文件系统中,master负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复。多节点拷贝,是MFS的关键点,显然有极大可能存在单点故障。虽然有Metalogger,但是不能实现故障实时切换,服务要停止之后在Metalogger恢复元数据以及changelog_ml.*.mfs(服务器的变化日志文件),再次重新指定新的mfsmaster节点。

可以采用keepalived实现,但是要注意的是不仅仅是VIP的漂移,mfsmaster的工作目录都要进行漂移,这就涉及存储的共享,在这里采用pacemaker+corosync来实现故障切换)

构建思路:利用pacemaker构建高可用平台,利用iscis做共享存储,mfschunkserver做存储设备。
有人可能要问为什么不用keepalived,我想说的是就是keepalived是可以完全做的,但是keepalived不具备对服务的健康检查;整个corosync验证都是脚本编写的,再通过vrrp_script模块进行调用,利用pacemaker比较方便。

用途:
解决mfs master的单点问题,同样可以作为其他需要高可用环境的标准配置方法

二.部署mfsmaster的高可用

实验环境:

主机 服务
server1 mfsmaster,pacemaker,iscsi客户端
server2 mfschunkserever1,iscsi服务端
server3 mfschunkserever2
server4 mfsmaster-backup,pacemaker,iscsi客户端
物理机 client

本来iscsi服务端是要在另外一台虚拟机上进行部署的,这里为了方便,直接将server2作为iscsi的服务端

前提:

停掉之前mfs分布式文件系统启动的服务,并卸载客户端挂载的目录。为后续的pcs集群做准备

[root@server1 ~]# systemctl stop moosefs-master   #server1端(moosefs-cgiserv服务可以不用关闭,因为moosefs-cgisev服务只是用来提供web界面的
[root@server2 ~]# systemctl stop moosefs-chunkserver
[root@server3 ~]# systemctl stop moosefs-chunkserver

物理机:
[root@foundation27 ~]# umount /mnt/mfsmeta
[root@foundation27 ~]# umount /mnt/mfs

实验步骤如下所示:

第一步:配置server4作为mfsmaster-backup端

首先要搭建基础的mfs分布式存储架构,本篇不做阐述。可以查看上篇博文。这里只需要在上篇博文的基础上添加server4作为mfsmaster-backup端即可。

server1:将server4需要的包传送给它

[root@server1 ~]# scp moosefs-master-3.0.103-1.rhsystemd.x86_64.rpm  server4:

在这里插入图片描述

server4:

[root@server4 ~]# yum install  -y   moosefs-master-3.0.103-1.rhsystemd.x86_64.rpm   #安装软件
[root@server4 ~]# vim /etc/hosts   #编辑本地解析文件
172.25.27.1    server1  mfsmaster

在这里插入图片描述

在这里插入图片描述

[root@server4 ~]# vim /usr/lib/systemd/system/moosefs-master.service   #修改moosefs-master服务的启动脚本
8 ExecStart=/usr/sbin/mfsmaster -a   #修改之后的内容
[root@server4 ~]# systemctl daemon-reload

[root@server4 ~]# systemctl start moosefs-master   #检查脚本是否有错误,即查看moosefs-master服务是否能够正常启动
[root@server4 ~]# systemctl stop moosefs-master   #关闭moosefs-master服务,以便后续实验的开展

在这里插入图片描述

在这里插入图片描述

第二步:配置 iscsi实现共享存储

server2

添加一块新的磁盘,用于共享

在这里插入图片描述

看到新添加的磁盘为/dev/vda

[root@server2 ~]# fdisk -l   

在这里插入图片描述

对iscsi进行配置

[root@server2 ~]# yum install targetcli -y

在这里插入图片描述

[root@server2 ~]# systemctl start target
[root@server2 ~]# targetcli 
targetcli shell version 2.1.fb41
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
 
/> ls
o- / .............................................................. [...]
  o- backstores ................................................... [...]
  | o- block ....................................... [Storage Objects: 0]
  | o- fileio ...................................... [Storage Objects: 0]
  | o- pscsi ....................................... [Storage Objects: 0]
  | o- ramdisk ..................................... [Storage Objects: 0]
  o- iscsi ................................................. [Targets: 0]
  o- loopback .............................................. [Targets: 0]
/> backstores/block create my_disk1 /dev/vda   
/> iscsi/ create iqn.2019-08.com.example:server2   
/> iscsi/iqn.2019-08.com.example:server2/tpg1/acls create iqn.2019-08.com.example:client   
/> iscsi/iqn.2019-04.com.example:server2/tpg1/luns create /backstores/block/my_disk1 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值