一、获取源码安装包

到官网下载最新版本moosefs:
https://moosefs.com/download/sources-archive-3-0.html
到官网下载最新版本fuse源码
https://github.com/libfuse/libfuse
也可以下载rpm包:
http://www.rpmfind.net/linux/rpm2html/search.php?query=libfuse-devel

还可以:
yum install -y fuse fuse-devel

二、安装

先添加mfs用户:

[root@localhost mfs]# groupadd mfs
[root@localhost mfs]# useradd -g mfs mfs

然后就是正常的源码安装过程:

[root@local mfs]#./configure --prefix=/usr/local/moosefs --sysconfdir=/etc --localstatedir=/var/lib --with-default-user=mfs --with-default-group=mfs 
[root@local mfs]# make
[root@local mfs]# makeinstall

configure中--disable-mfschunkserver --disable-mfsmount --disable-mfsmaster这三个是可选项,比如使用前两个,就表示服务器上只装master,metalogserver和master是一样的。

三、修改配置文件

[root@localhost mfs]# cd /etc/mfs
[root@localhost mfs]# cp mfsmaster.cfg.sample mfsmaster.cfg
[root@localhost mfs]# cp mfsmetalogger.cfg.sample mfsmetalogger.cfg
[root@localhost mfs]# cp mfsexports.cfg.sample mfsexports.cfg
[root@localhost mfs]# vi mfsexports.cfg
* / rw,alldirs,ignoregid,maproot=:,mapall=: [root@localhost mfs]# cd /var/lib/mfs
[root@localhost mfs]# cp metadata.mfs.empty metadata.mfs
[root@localhost mfs]# chown -R mfs:mfs /var/lib/mfs
[root@localhost mfs]# vi /etc/hosts
192.168.1.1 mfsmaster

修改配置文件,基本上是把原来命名的配置文件样例重新命名成标准配置文件;
mfsexports.cfg中的配置文件,是为了赋予访问权限;
/etc/hosts中标识master的ip,是为了给mfscgiserv和mfschunkserver找mfsmaster用的。

四、启动和停止

启动:

[root@lh mfs]# mfsmaster start
[root@lh mfs]# mfscgiserv start
[root@lh mfs]# mfsmetalogger start
[root@lh mfs]# mfschunkserver start

停止:

[root@lh mfs]# mfsmaster stop
[root@lh mfs]# mfscgiserv stop
[root@lh mfs]# mfsmetalogger stop
[root@lh mfs]# mfschunkserver stop

五、mfs的使用

安装好后就到有mfsmount的的服务器上挂载一个本地目录:(后面跟的是master的ip)

[root@lh mfs]mfsmount /mnt/mfs/ -H 192.168.1.1

其实本身mfsmount就相当于是一个客户端。使用的时候就把挂载的目录当成本地的磁盘目录一样使用即可。不过此目录使用的是mfschunk上的空间,而操作这个云文件系统的命令都封装在在mfstool中:

[root@lh mfs]# man mfstools

Mossefs整个系统的状态(mfschunk、mfsmaster、mfsmount、mfsmetalogger和文件等)的状态都可以用mfs自带的cgi查看,网址:

" http://ip.to.mfscgi.server:9425/ "

其中goal表示一个文件复制了几份,copy表示文件放在了几个服务器上,这些也都可以用mfstools中的fileinfo和checkfile命令查看。

六、mfs见过的错误和解决方法

   1、mfsmount取消挂载的问题:

ps -ef | grep mfsmount
fuser -m -k -i [mfsmountpid]
如果不行就
kill - [mfsmountpid]
如果df或者访问/path/to/mountdir卡死,那么就
umount -l /mnt/mfs
然后killall mfsmount
当然卡死也有可能是由于与服务端网络不通断开连接,这种情况下kill掉mfsmount会导致mfsmount编程僵尸进程,
所以建议在mfsmount时加上参数-o mfstimeout N来指定IO出错的超时时间。

   2、新加的服务器死活连到master上都是disconnect的状态

到mfschunkserver所在的服务器:

[root@lh mfs]#tail -100f /var/log/message
[root@lh mfs]#Aug :: localhost mfschunkserver[]: connected to Master
[root@lh mfs]#Aug :: localhost mfschunkserver[]: MATOCS_MASTER_ACK - wrong meta data id. Can't connect to master

那么就清空/var/lib/mfs目录,
然后到好的chunkserver的disk(也就是mfschunk1,2,3之类的)目录下复制".metaid"文件到目标disk,问题就可以解决了。

3、权限问题
can't create lockfile in working directory: Permission denied
[root@lh mfs]# chown -R mfs:mfs /path/to/thatdir

4、目录非空
fuse: mountpoint is not empty
那就删了再来,或者换个目录,或者修复:
fsck -y /dev/sda1

moosefs的安装使用及遇到的问题的更多相关文章

  1. 在CentOS上安装部署MooseFS分布式文件系统

    参考资料: http://www.moosefs.org/tl_files/manpageszip/moosefs-step-by-step-tutorial-cn-v.1.1.pdf 环境介绍:OS ...

  2. [moosefs] storage class

    chapter 1 moosefs 3.1 storage class 功能的介绍 1.1 什么是storage class 在moosefs中,storage class允许指定文件的chunks存 ...

  3. MooseFS技术详解

    原文 http://www.tuicool.com/articles/vQvEZ3y MooseFS是一款具有冗余容错功能的分布式文件系统.它把数据分散在多台服务器上,确保一份数据多个备份副本,对外提 ...

  4. Rhel6-moosefs分布式存储配置文档

    MFS 特性: 1. Free(GPL) 2. 通用文件系统,不需要修改上层应用就可以使用 3. 可以在线扩容,体系架构可伸缩性极强. 4. 部署简单. 5. 高可用,可设置任意的文件冗余程度(提供比 ...

  5. centos7 MFS drbd keepalived

    环境: centos7.3 + moosefs 3.0.97 + drbd84-utils-8.9.8-1 + keepalived-1.2.13-9 工作原理: 架构图: 节点信息: 节点名     ...

  6. 分布式文件系统MooseFS安装步骤

    1.    安装 1.1 准备安装环境 首先选择一台比较好的服务器做master,如果可以在选择一台做为master的备份服务器最好.然后其他的服务器当chunkserver. 为了方便说明问题,我这 ...

  7. MooseFS安装部署

    环境信息 Master服务器 dev04 chunkserver服务器 dev02.dev03.dev04 metalogger服务器 dev03 mount客户端 dev01.dev02 安装前下载 ...

  8. MooseFS基础和安装

    一.MooseFS简介 1.介绍 MooseFS是一个具备冗余容错功能的分布式网络文件系统,它将数据分别存放在多个物理服务器单独磁盘或分区上,确保一份数据有多个备份副本.对于访问的客户端或者用户来说, ...

  9. MooseFS分布式文件系统介绍及安装教程详解

    MFS系统由4个部分构成:master.metalogger.chunkserver.client. 1.Master —— mfs的大脑,记录着管理信息,比如:文件大小,存储的位置,份数等,和inn ...

随机推荐

  1. Lind.DDD.Repositories.EF层介绍

    回到目录 Lind.DDD.Repositories.EF以下简称Repositories.EF,之所以把它从Lind.DDD中拿出来,完全出于可插拔的考虑,让大家都能休会到IoC的魅力,用到哪种方法 ...

  2. 更新整理本人所有博文中提供的代码与工具(C++,2013.11)

    为了更方便地管理博文中涉及的各种代码与工具资源,现在把这些资源迁移到 Google Code 中,有兴趣者可前往下载. C++ 1.<通用高性能 Windows Socket 组件 HP-Soc ...

  3. org.springframework.context.ApplicationContextAware使用理解

    一.这个接口有什么用? 当一个类实现了这个接口(ApplicationContextAware)之后,这个类就可以方便获得ApplicationContext中的所有bean.换句话说,就是这个类可以 ...

  4. javascript 模式(1)——代码复用

    程序的开发离不开代码的复用,通过代码复用可以减少开发和维护成本,在谈及代码复用的时候,会首先想到继承性,但继承并不是解决代码复用的唯一方式,还有其他的复用模式比如对象组合.本节将会讲解多种继承模式以实 ...

  5. 滚动变色的文字js特效

    Js实现滚动变色的文字效果,在效果展示页面,可看到文字在交替变色显示,以吸引人的注意,效果真心不错哦,把代码拷贝到你的网站后,修改成想要的文字就OK了. 查看效果:http://keleyi.com/ ...

  6. asp.net mvc 自定义pager封装与优化

    asp.net mvc 自定义pager封装与优化 Intro 之前做了一个通用的分页组件,但是有些不足,从翻页事件和分页样式都融合在后台代码中,到翻页事件可以自定义,再到翻页和样式都和代码分离, 自 ...

  7. 关于ArcGIS API for JavaScript中basemap的总结介绍(一)

    实际上basemap这个概念并不只在arcgis中才有,在Python中有一个matplotlib basemap toolkit(https://pypi.python.org/pypi/basem ...

  8. IOS开发基础知识--碎片22

    1:设置有间距的表格行(UITableViewStyleGrouped) .设置section的数目,即是你有多少个cell - (NSInteger)numberOfSectionsInTableV ...

  9. 熟悉HTML CSS布局模型

    HTML最难的地方来了!这个我反复了很多遍, 包括现在写博客, 也对我自己算是一种温习, 我这块怕是没办法写的很好懂, 因为我自己还不能把我学到的准确通俗易懂的表达出来, 给自己记个笔记, 以后再来一 ...

  10. iOS 摇一摇的功能

    效果如下 相关素材 相关代码如下 #import "ShakeViewController.h" #import <AudioToolbox/AudioToolbox.h&g ...