MooseFS

article/2025/9/29 20:31:29

MFS简介

MooseFS是一个具有容错性的网络分布式文件系统,它将数据分别存放在多个物理服务器或单独磁盘或分区上,确保一份数据有多个备份副本;对于访问的客户端或者用户来说,整个分布式网络文件系统集群看起来就像一个资源一样

官网:

https://moosefs.com/https://moosefs.com/常规特征

对标准的文件操作来说,mfs用起来跟其它的类unix文件系统类似:
1、分层次的结构(目录树)
2、存储POSIX文件属性(权限、最后访问和修改时间)
3、支持特殊文件(块和字符设备、管道以及套接字)
4、符号连接和硬连接
5、对文件系统的访问可以通过IP地址和(或者)密码进行限制

独有特征

1、高可靠(数据的多个拷贝被存储在不同的计算机上)
2、通过附加新的计算机或者硬盘可以实现容量的动态扩展
3、删除的文件可以根据一个可配置的时间周期进行保留(一个文件系统级别的回收站)
4、不受访问和写入影响的文件连贯快照

体系结构

1、管理服务器(master server)

一台管理整个文件系统的独立主机,存储着每个文件的元数据(文件的大小、属性、位置信息,包括所有非常规文件的所有信息,例如目录、套接字、管道以及设备文件)

2、数据服务器群(chunk servers)

任意数目的商用服务器,用来存储文件数据并在彼此之间同步(如果某个文件有超过一个备份的话)

3、元数据备份服务器(metalogger server)

任意数量的服务器,用来存储元数据变化日志并周期性下载主要元数据文件,以便用于管理服务器意外停止时好接替其位置

4、访问mfs的客户端

任意数量的主机,可以通过mfsmount进程与管理服务器(接收和更改元数据)和数据服务器(改变实际文件数据)进行交流

使用场景

存在的优势:

1、MFS是基于FUSE(用户空间文件系统)机制的,所以支持含有FUSE的操作方式的系统
2、MFS部署简单并提供Web界面的方式进行管理与监控,同其他分布式操作系统一样,支持在线扩容,并进行横向扩展
3、MFS还具有可找回误操作删除的文件,相当于一个回收站,方便业务进行定制
4、同时MooseFS对于海量小文件的读写要比大文件读写的效率高的多

存在的问题:

1、MFS的主备架构情况类似于MySQL的主从复制,从可以扩展,主却不容易扩展
2、随着MFS体系架构中存储文件的总数上升,Master Server对内存的需求量会不断增大
3、Master Server存在单点问题,官方解决方式是把数据信息从Master Server同步到Metalogger Server上,Master Server一旦出问题Metalogger Server可以恢复升级为Master Server,但是需要恢复时间,解决方式属于冷备;目前也可以通过第三方的高可用方案(pacemaker+moosefs)来解决Master Server的单点问题

MFS部署

环境:

server1主机为mfsmaster端        IP=172.25.100.1

server2主机为chunkserver端        IP=172.25.100.2

server3主机为chunkserver端        IP=172.25.100.3

部署master server端

##master端安装软件

##启动moosefs-master、moosefs-cgiserv

##在浏览器通过9425端口访问得到图形界面

##添加解析后成功访问到数据

部署chunkserver端

##安装moosefs-chunkserver,配置文件存储目录

##为server2主机添加新一块大小为5G的磁盘

##配置一个大小为2G的分区/dev/vdb1并格式化后挂载至上述文件存储目录

##配置开机自动挂载

##启动moosefs-chunkserver,其会监听9422端口

##moosefs-master端通过9420端口连接moosefs-chunkserver

##配置server3主机的文件存储目录

注意:moosefs-chunkserver端主机都需要在/etc/hosts文件中添加 “IP   mfsmaster” 字样的解析

部署mfs客户端

此处使用我们的真实物理机作为mfs的客户端

##将mfs文件系统挂载至/mnt/mfs目录下

MFS管理

##在客户端挂载点下创建两个测试目录,设定dir1目录的副本数为1,dir2的副本数为默认值2(因为只有两个chunkserver端)

##停掉passwd文件存储的chunkserver端服务后,此文件即不再能够被访问到了,而fstab文件仍可以被访问到

##重新启动server2端的chunkserver服务,dir1下的passwd文件又可被访问到

##客户端文件在chunkserver端的存储路径

##默认chunk的大小为64M,当文件大于64M时会进行切分

##当moosefs-master正常关闭后,/var/lib/mfs目录下metadata.mfs.back文件会重命名为metadata.mfs.back.1,同时生成metadata.mfs文件;当moosefs-master开启服务时,/var/lib/mfs目录下的metadata.mfs文件会被重命名为metadata.mfs.back

##异常关闭moosefs-master服务时,/var/lib/mfs目录下不会生成metadata.mfs.back文件,再次启动moosefs-master服务也会失败

##异常关闭mooose-master时重启失败的解决办法

简单的数据恢复

##查看mfs文件系统存储文件的回收时间(24h)

##删除挂载点下dir1中的passwd文件;创建目录并将mfsmaster的元数据挂载至其上

##恢复数据,trash目录相当于一个回收站,被删除的数据会在这里保存24h(默认)

MFS存储类

存储类:storage class,允许指定文件的chunks存放在具有指定标签(label)的chunkservers上

标签:label,储存类使用label对chunkserver进行定义,然后使用label表达式对副本存储方式进行储存类设定

chunkserver的标签要求:label仅能使用(A-Z 的26个大写字母)来定义chunkserver;每个chunkserver可以被打上多个标签(即标记上多个字母,但最多可以打26个label)

##首先扩充一个chunkserver端server4主机,文件存储目录为/mnt/chunk3

##为chunkserver端打标签

##在客户端创建标签存储类并将文件设定为此存储类,从而此文件在存储副本时会锁定在具有指定标签的chunkserver上

##chunkserver有多个标签时的文件存储测试

##同上测试(-r表示递归)

##指定不同阶段的文件存储策略

MFS高可用集群

环境:

server1主机为moosefs-master主机        IP=172.25.100.1

server4主机为moosefs-master主机        IP=172.25.100.4

server2主机为moosefs-chunkserver主机        IP=172.25.100.2

server3主机为moosefs-chunkserver主机        IP=172.25.100.3

真实物理主机为mfs的客户端主机        IP=172.25.100.250

环境准备:

##卸载客户端的mfs挂载

##停掉server4主机的moosefs-chunkserver服务,结下来将配置其为两一个moosefs-master端

##停掉server2主机的moosefs-chunkserver服务;安装targetcli以配置iscsi共享磁盘设备

##配置iscsi以共享server2主机的/dev/vdb设备

##停掉server3主机的moosefs-chunkserver服务

##停掉server1主机的moosefs-master服务

##server1主机使用server2主机共享的设备

##对共享设备进行分区、格式化、挂载使用

##将/mnt目录作为跳板将/var/lib/mfs下的文件存储值/dev/sda1设备上;之后再将此设备挂载至目录/var/lib/mfs

##测试server1主机的moosefs-master启动正常后再停掉服务

##server4主机配置及测试

##停掉moosefs-master端主机的此服务开机自启;卸载/var/lib/mfs挂载

高可用部署:

##moosefs-master主机安装pacemaker系列工具

##配置moosefs-master主机间的ssh免密

##pacemaker的一些列配置

高可用测试:

##在moosefs-master端、moosefs-chunkserver端、客户端添加mfsmaster的地址解析

##启动chunkserver端的服务

##客户端挂载mfs文件系统

##模拟server1主机宕机

##vip漂移至server4主机;共享设备/dev/sda1也挂载至server4主机的/var/lib/mfs目录下;moosefs-master服务也在server4主机上正常启动

##客户端仍然能够挂载mfs文件系统并正常访问

##恢复server1主机,pcs集群中的资源不会漂移回来;server1、server4主机的双机热备实现了整个mfs文件系统集群的高可用性能


http://chatgpt.dhexx.cn/article/AKV8oN4V.shtml

相关文章

mosh ES

Operator arithmetic operators: baiscly like python but include and -- like the ones in c. "" shortcut like this is also applicable. comparision operator: >,>,..... use as strict equality operator.会同时比较类型和值 ”“只比较值&#x…

MOSS安装

1、conda安装 a、安装虚环境 conda create -n moss python3.7 b、激活base环境base source ./bin/activate c、激活自己环境 conda activate moss conda deactivate # 退出环境,进入base环境 2、jittor安装 a、去官网查看安装cuda,cento步骤如下…

(最通俗易懂的)目标跟踪MOSSE、KCF

引言 我们在研究目标跟踪前先要了解它分为哪几类,以及大体思路是什么? 分类:①目标建模;②前景背景识别。 思路:①目标建模的思路是首先我们用一些手段把我们想要跟踪的目标“框出来”。例如:我们要跟踪视…

相关滤波之开篇Mosse原理及代码详解

相关滤波之开篇Mosse原理及代码详解 相关滤波(Correlation Filter )介绍代码解读程序框图 本文主要介绍相关滤波算法开篇——mosse具体原理及其python代码实现流程 相关滤波(Correlation Filter )介绍 相关滤波(CF&a…

目标跟踪 MOSSE(Visual Object Tracking using Adaptive Correlation Filters)

文章标题:《Visual Object Tracking using Adaptive Correlation Filters》 文章地址:http://citeseerx.ist.psu.edu/viewdoc/download?doi10.1.1.294.4992&reprep1&typepdf 文章代码:(python)https://github…

MOSSE相关滤波跟踪算法

参考博客: MOSSE算法的理解 MOSSE MOSSE代码 0 基础知识: 接上一篇 单目标跟踪综述,本文主要从MOSSE算法开始追溯相关滤波算法的起源(ps.这里让我想到了刺客信条里的起源)。 1. 先理解 相关操作和卷积操作&#x…

MOSSE 目标跟踪 解析

MOSS (Minimum Output Sum of Squared Error filter)(2010) 这篇文章是最早将相关的思想用到目标跟踪领域的。 相关滤波的思想:越是相关的两个目标相关值越大,也就是视频帧中与初始化目标越相似&#xff…

MOSSE相关滤波跟踪算法(二)

参考博客: 图像卷积与滤波 0 基础知识 接上一篇MOSSE相关滤波跟踪算法 线性滤波与卷积的基本概念 线性滤波过程:使用一个二维的滤波器矩阵(卷积核)在一副二维图像上滑动,对图像上每一个像素点,计算它的领…

Moss~

今年 2 月份,机器之心报道了复旦大学推出中国版 ChatGPT 的消息(参见《复旦发布中国版 ChatGPT:MOSS 开启测试冲上热搜,服务器挤爆》),引起了广泛关注。当时,邱锡鹏教授就曾表示将于四月份开源 …

目标跟踪经典论文阅读(1)MOSSE

摘要 虽然不常用,但相关滤波器可以通过旋转、遮挡和其他干扰来跟踪复杂的物体,其速度是目前最先进技术的20倍以上。最古老和最简单的相关滤波器使用简单的模板,通常在应用于跟踪时失败。更现代的方法,如ASEF和UMACE表现更好&…

CVPR2010跟踪算法MOSSE原理及代码解析

文章和代码下载地址: MOSSE: David S. Bolme, J. Ross Beveridge, Bruce A. Draper, Yui Man Lui. "Visual Object Tracking using Adaptive Correlation Filters." GitHub - xingqing45678/Mosse_CF(代码和文章都在里面) 看了…

相关滤波跟踪·MOSSE算法的梳理

相关滤波跟踪是当前目标检测与跟踪领域的一个研究热点,ICCV2010的这篇MOSSE算法可以说是入门必看,镇圈神作了。 一、目的:跟踪 一开始分不清跟踪和目标检测有什么不同,所以查了一些资料,以下只是我自己的理解&#x…

《MOSSE》简述

引言 近些年来,目标追踪备受关注。一系列较鲁棒的追踪策略被提出,来适应目标外观的变化。最近的算法有增量目标追踪 IVT,鲁棒的基于目标分块的跟踪 Frag Track,甄别学习 GBDL 以及多实例学习。这些技术是有效的,但是技…

MOSSE算法推导

引言 MOSSE是在Visual Object Tracking using Adaptive Correlation Filters这篇文章中提出来的,MOSSE的全称是Minimum Output Sum of Squared Error,令平方误差和最小来计算得到滤波器。 算法流程 相关滤波很容易理解,一帧图像经过相关运算…

相关滤波目标追踪一:鼻祖Mosse算法的matlab解析

一些自己的见解,如有不同观点,可以一起讨论。 github地址:https://github.com/Ronales/Mosse_Tracking_matlab 补充:说一下mosse的更新策略: 1. "论文目标就是找到一个滤波器h,使其在输入图像上&am…

CV应用领域-目标跟踪-MOSSE

MOSSE(Minimum Output Sum of Squared Error) MOSSE是在Visual Object Tracking using Adaptive Correlation Filters这篇文章中提出来的,MOSSE的全称是Minimum Output Sum of Squared Error,令平方误差和最小来计算得到滤波器。…

mosse

MOSSE MOSSE(Minimum Output Sum of Squared Error) 是2010年 的CVPR,它的全名叫做Visual Object Tracking using Adaptive Correlation Filters。 MOSSE 是第一篇将correlation filter(CF) 引入object tracking 的论文,它也是CSK和KCF/DCF等算法的基础。…

【目标跟踪】|MOSSE原理及对应代码解释 matlab C

1原理 https://www.bilibili.com/video/av74302620/?spm_id_from333.788.videocard.0 https://blog.csdn.net/fzp95/article/details/78385795?utm_mediumdistribute.pc_relevant.none-task-blog-baidujs_title-4&spm1001.2101.3001.4242 相关和卷积操作》 https://bl…

单目标跟踪MOSSE详细算法步骤+理论说明

单目标跟踪MOSSE详细算法步骤理论推导 算法概述详细步骤候选框处理初始滤波器生成滤波器更新 理论说明对数变换(log函数)窗函数的理解 更新中 为了理解傅里叶变换,花了一周时间,可惜还是没有搞很清楚原理,暂且将其看作是数学家从浩瀚的知识海…