分布式存储系统MFS的维护

本文将对MFS">分布式存储系统的日常维护进行总结,内容包括:启动MFS集群、停止MFS集群、MFS数据存储服务器的维护、MFS元数据的备份、MFS管理服务器的恢复及从备份恢复MFS管理服务器等内容进行详细的说明。

维护MFS,最重要的是维护元数据服务器,而元数据服务器最重要的目录为/usr/local/mfs/var/mfs,MFS数据的存储、修改、更新等操作变化都会记录在这个目录的某个文件中,因此只要保证这个目录的数据安全,就能保证整个MFS文件系统的安全性和可靠性。

/usr/local/mfs/var/mfs目录下的数据由两部分组成:一部分是元数据服务器的改变日志文件,文件名称类似于changelog.*.mfs:另一部分是元数据文件metadata.mfs,运行mfsmaster时该文件会被命名为metadata.mfs.back。只要保证了这两部分数据的安全,即使元数据服务器遭到致命的破坏,也可以通过备份的元数据文件重新部署一套元数据
服务器。

1、启动MFS集群

最安全的启动MFS集群(避免任何读或写的错误数据或类似的问题)的步骤如下:
    1)启动mfsmaster进程。
    2)启动所有的mfschunkserver进程。
    3)启动mfsmetalogger进程(如果配置了mfsmetalogger)。
    当所有的数据存储服务器连接到MFS管理服务器盾,任何数目的客户端都可以利用mfsmount去挂接共享出来的文件系统(可以通过检查管理服务器的日志或CGI监视器来查看所有的数据存储服务器是否被连接)。

2、停止MFS集群

要安全地停止MFS集群,按照如下步骤进行操作:

1)在所有的客户端卸载MFS文件系统(利用umount命令或者其他等效的命令)。
2)利用“mfschunkserver -s”命令停止数据存储服务器进程。
3)利用“mfsmetalogger -s”命令停止元数据日志服务器进程。
4)利用“mfsmaster -s”命令停止管理服务器进程。

3、MFS数据存储服务器的维护

假如每个文件的goal(目标)都不小于2,并且没有under-goal文件(这些可以通过“mfsgetgoal -r”和mfsdirinfo命令来检查),那么一个数据存储服务器在任何时刻都可以停止或重新启动。以后每当需要停止或者重新启动另一个数据存储服务器的时候,要确定之前的数据存储服务器被连接,而且没有under-goal chunks。

4、MFS元数据的备份

通常元数据由两部分数据组成:
    口主要元数据文件metadata.mfs,在MFS的管理服务器master运行时会被命名为    metadata.mfs.back。
    口元数据改变日志changelog.*.mfs,存储过去N小时内的文件改变(N的数值是由    BACK_LOGS参数设置的,参数的设置在mfschunkserver.cfg配置文件中进行)。

主要的元数据文件需要定期备份,备份的频率取决于多少小时改变日志的储存。元数据改变日志应该实时地自动复制。自从MooseFS l.6.5开始,这两项任务都是由元数据日志服务器守护进程完成的。

5、MFS管理服务器的恢复

一旦管理服务器崩溃(例如由主机或电源失败导致的),需要最后一个元数据改变日志changelog和主要元数据文件metadata.mfs,这个操作可以通过mfsmetarestore工具来完成。

最简单的方法如下:

mfsmetarestore -a

执行此命令后,默认会在/usr/local/mfs/var/mfs目录中自动寻找需要的改变日志文件和主要元数据文件。注意,mfsmetarestore命令在恢复时自动查找的是metadata.mfs.back文件,而不是metadata.mfs文件,如果找不到metadata.mfs.back文件,会继续查找是否存在metadata_ml.mfs.back文件,如果没有,将提示恢复错误。

如果管理服务器的数据被存储在MFS编译指定地点外的路径,则要利用“-d”参数指定使用。如:

mfsmetarestore -a -d /storage/mfsmaster

6、从备份恢复MFS管理服务器

为了从备份中恢复一个管理服务器,需要按以下步骤进行:

1)安装一个管理服务器。
    2)利用同样的配置来配置这台管理服务器(利用备份找回mfsmaster.cfg),可见配置文件也是需要备份的。
    3)找回metadata.mfs.back文件,可以从备份服务器中找,也可以从元数据日志服务器中找(如果启动了元数据日志服务),然后把metadata.mfs.back放入data目录中,一般为${prefix}/var/mfs。

4)从在管理服务器宕机之前的任何运行元数据日志服务的服务器上复制最后一个changelog.* .mfs文件,放入管理服务器的数据目录。
    5)利用mfsmetarestore命令合并元数据改变日志。这时可以采用自动恢复模式,命令如下:

mfsmetarestore -a

也可以利用非自动化恢复模式,在${prefix}/var/mfs目录下执行如下命令:

mfsmetarestore -m metadata.mfs.back -o metadata.mfs changelog_ml.*.mfs

通过冗余实现失败防护的解决方案

对一个没有内置失效功能的管理服务器实现冗余功能是正确的选择。这个话题(subject)对应用业务系统来说非常关键,因为冗余在生产系统中是非常重要的,一个没有冗余的MFS应用是不能用在生产系统中的,这是起码的要求。

使用通用地址冗余协议(CARP)就可以解决失败防护的需求,CARP允许同一个LAN中的两台机器用同一个IP,一个作为管理服务器,另一个是备份服务器。因此可以在CARP的网卡接口上设置管理服务器的IP,并且配置为MFS的主要(main)管理服务器。在备份服务器上也要安装管理服务器,但是不要运行它。

MooseFS l.6.5及其以上版本中包含了一个新的程序——mfsmetalogger.这个程序可以运行在任何机器上。这个程序每隔数小时(默认为24小时)从管理服务器上获得一次完整的元数据,并且在现有的基础上形成一个彻底改变的日志。

如果运行的是一个比1.6.5早的版本,那么就需要设置几个简单的脚本并且依据系统的计划任务运行(如每小时运行一次)。脚本的主要内容是从主管理服务器下“PREFIX/var/mfs/metadata.mfs.back”备份元数据文件。

另外,还需要持续地运行一个额外的脚本来检测CARP网卡接口状态,如果该接口在一个MASTER模式进行了改变,那么将会从任何一台数据存储服务器(仅仅通过使用SCP)上获得两个或三个最新的改变日志文件,之后就可以运行“mfsmetarestore”命令并最终切换到新的管理服务器上。这个切换时间大约有几秒钟,随着切换的进行,各台数据存储服务器将重新连接到新的管理服务器,新的管理服务器将会在一分钟内恢复全部功能(读和写)。

在MFS新的版本中,开发者计划加一个让管理服务器运行在只读模式下的选项,这对运行备份服务器将是十分有好处的,它可以确保使系统潜在的两个管理服务器同步,并且合并发生在备份服务器的变化到主管理服务器上。

本章主要讲述了分布式文件存储系统MFS的结构、安装配置和基本的管理维护。在安装配置方面,不但详细介绍了配置方法,而且讲述了安装配置过程中容易出现的问题和经验技巧;在管理维护方面,详细介绍了MFS如何启动和关闭,以及如何进行备份和恢复,还简单说明了MFS常用的几个文件系统命令;最后还介绍了通过冗余实现MFS失败防护的解决方案,并分享了MFS在生产环境中的使用经验和技巧。

作为一个开源的分布式文件存储系统,MFS完成的功能决不逊色于专业的存储系统,而且还可以实现在线扩容。随着MFS版本和功能的升级,相信MFS的应用会越来越广泛!

时间: 2024-10-18 12:54:16

分布式存储系统MFS的维护的相关文章

分布式存储系统MFS的文件系统结构分析

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   本章讲述的是Linux下的开源存储系统MFS,它是由波兰人开发的.MFS文件系统能够实现RAID的功能,不但能够更节约存储成本,而且不逊色于专业的存储系统,更重要的是它能够实现在线扩展.读者必须明白的一点是,MFS是一种半分布式文件系统. MFS概论 MFS的官方网站为http://www.moosefs.org/,在这里可以获取更为详细的帮助.官方MFS的网络

分布式存储系统MFS的管理与使用

本文将对MFShttp://www.aliyun.com/zixun/aggregation/14305.html">分布式存储系统的管理与使用进行总结,内容包括:MFS在客户端挂载文件系统.MFS常用操作.MFS为垃圾箱设定隔离时间.MFS快照.MFS的其他命令等进行详细的说明. 1.在客户端挂载文件系统 启动管理服务器和数据存储服务器(数据存储服务器是必需的,但推荐至少启动两个)后,客户机便可以利用mfsmount挂接MFS文件系统. mfsmount的用法如下: mf smount

分布式存储系统MFS的编译与安装实例

这里假定http://www.aliyun.com/zixun/aggregation/6585.html">元数据服务的IP地址为192.168.3.34,3个MFS客户端的IP地址分别为192.168.3.98.192.168.3.138和192.168.3.139.下面介绍MFS的搭建过程. 1,安装和配置元数据服务 (l)下载源码 [root@localhost software]# wget http://jaist.dl.sourceforge.net/project/moos

编译与使用MFS分布式存储系统的经验总结

本文将对MFShttp://www.aliyun.com/zixun/aggregation/14305.html">分布式存储系统的编译与使用进行总结,内容包括:MFS安装选项说明.MFS管理服务器.MFS元数据日志服务器.MFS数据存储服务器.MFS客户端挂载等内容进行详细的说明. 1.安装选项说明 部署MFS的首选方法是从源代码安装.源代码安装支持标准./configure -> make ->make install的步骤,重要的配置选项如表8-4所示. 表8-4 MF

分布式存储系统基础

    最近读了杨传辉的<大规模分布式存储系统:原理解析与架构实践>,这本书写的很好,涉及的知识点枚不胜举.本篇对于其中的分布式存储系统基础知识做些整理,以飨诸君. 分布式存储系统首先要面对的问题就是数据分片,即将数据均匀地分布到多个存储节点.另外,为了保证可靠性和可用性,需要将数据复制多个副本,这就带来了多个副本的数据一致性问题. 大规模系统的重要目标是节省成本,因而只能采用性价比较高的PC服务器.这些服务器性能很好,但是故障率很高,要求系统能够在软件层面实现自动容错.当存储节点出现故障时,

了解Ceph增强OpenStack云计算环境的开源分布式存储系统

Ceph 是一个开源.统一.分布式的存储系统,提供了一种便捷方式来部署包含商用硬件.低成本且可大规模扩展的存储平台.了解如何创建一个 Ceph 集群(从单一点实现对象.块和文件存储).Ceph 的算法和复制机制,以及如何将它与您的云数据架构和模型相集成.作者提出了一种将 Ceph 集群集成到 OpenStack 生态系统中的简单而又强大的方法. Ceph 是一个符合 POSIX (Portable http://www.aliyun.com/zixun/aggregation/10963.htm

Torus登场:CoreOS打造的新一代分布式存储系统

本文讲的是Torus登场:CoreOS打造的新一代分布式存储系统,[编者的话]最近CoreOS推出来重量级产品Torus,专门为容器集群量身打造的分布式存储系统,可以为通过Kubernetes编排和管理的容器集群提供可靠可扩展的存储.让我们来感受下新产品给我们的集群分布式存储带来了多大的优势. 在容器集群的基础设施中,持久化存储是目前计算机界讨论最热的问题之一.微服务生产和消耗的海量数据我们该如何存储?尤其是对于部署一成不变.离散的应用时如何能做到持久化存储?随着容器在企业中的大规模应用,如何用

大规模分布式存储系统原理与架构

概述 分布式存储概念 分布式存储系统是大量普通 PC 服务器通过 Internet 互联,对外作为一个整体提供存储服务. 特点 可扩展.低成本.高性能.易用 分布式存储涉及的设计主要来自两个领域:分布式系统以及数据库 数据分布.一致性.容错.负载均衡.事务与并发控制.易用性.压缩 / 解压缩 分布式存储分类 非结构化数据.结构化数据.半结构化数据 分布式存储系统分为四类: 分布式文件系统 :以对象的形式组织,对象之间没有关联,这样的数据一般称为 Blob(Binary Large Object,

在 CentOS 7.1 上安装分布式存储系统 Ceph

关于 Ceph 的介绍网上一大堆,这里就不重复了.Sage Weil 读博士的时候开发了这套牛逼的分布式存储系统,最初是奔着高性能分布式文件系统去的,结果云计算风口一来,Ceph 重心转向了分布式块存储(Block Storage)和分布式对象存储(Object Storage),现在分布式文件系统 CephFS 还停在 beta 阶段.Ceph 现在是云计算.虚拟机部署的最火开源存储解决方案,据说有20%的 OpenStack 部署存储用的都是 Ceph 的 block storage. Ce