MFS概述

MooseFS是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。

优势

1、高可靠(数据的多个拷贝被存储在不同的计算机上)

2、通过附加新的计算机或者硬盘可以实现容量的动态扩展

3、删除的文件可以根据一个可配置的时间周期进行保留(一个文件系统级别的回收站)

4、不受访问和写入影响的文件连贯快照

缺点

master服务器不能解决单点故障

MFS的构成

元数据服务器(Master):

在整个体系中负责管理文件系统,维护元数据,目前不支持高可用。

元数据日志服务器(MetaLogger):

备份Master服务器的变化日志文件,当master服务器损坏,可以从日志服务器中取得文件恢复。

数据存储服务器(Chunk Server):

真正存储数据的服务器,服务器越多,容量就越大,可靠性越高,性能越好。

客户端(Client):

可以像挂载NFS一样 挂载MFS文件系统

实验拓扑图

实验环境

服务器

IP地址

master服务器

192.168.13.128

log日志服务器

192.168.13.129

chunk1服务器

192.168.13.130

chunk2服务器

192.168.13.131

client客户机

192.168.13.132

1,配置master调度服务器

[root@master ~]# systemctl stop firewalld.service ##关闭防火墙

[root@master ~]# setenforce 0

[root@master ~]# yum install gcc gcc-c++ zlib-devel -y ##安装必要的环境组件

[root@master ~]# useradd -s /sbin/nologin mfs ##创建mfs系统用户

[root@master ~]# mount.cifs //192.168.100.3/LNMP-C7 /mnt/ ##挂载

[root@master ~]# cd /mnt/mfs

[root@master mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt/ ##解压到/opt

[root@master mfs]# cd /opt/

[root@master opt]# cd mfs-1.6.27/

[root@master mfs-1.6.27]# ./configure \ ##配置

> --prefix=/usr/local/mfs \ ##安装路径

> --with-default-user=mfs \ ##默认用户和组

> --with-default-group=mfs \

> --disable-mfschunkserver \ ##关闭两项功能,chunkserver是chunk服务器需要的

> --disable-mfsmount

[root@master mfs-1.6.27]# make && make install ##编译安装

[root@master mfs-1.6.27]# cd /usr/local/mfs/etc/mfs/ ##切换到mfs配置文件目录

[root@master mfs]# cp mfsmaster.cfg.dist mfsmaster.cfg ##master服务器配置文件

[root@master mfs]# cp mfsexports.cfg.dist mfsexports.cfg ##挂载权限配置文件

[root@master mfs]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg ##日志配置文件

[root@master mfs]# cd /usr/local/mfs/var/mfs/

[root@master mfs]# cp metadata.mfs.empty metadata.mfs ##元数据文件

[root@master mfs]# ln -s /usr/local/mfs/sbin/* /usr/local/sbin ##命令便于系统识别

[root@master mfs]# chown -R mfs.mfs /usr/local/mfs/ ##给mfs目录属主属组权限

[root@master mfs]# mfsmaster start ##开启服务

##关闭为mfsmaster -s

[root@master mfs]# ps -elf | grep mfs ##查看服务开启情况

2,配置metalogger日志服务器

##默认24小时,从master下载metadata.mfs.back,恢复整个mfs,需要从日志服务器取得该文件

[root@log ~]# systemctl stop firewalld.service

[root@log ~]# setenforce 0

[root@log ~]# yum install zlib-devel gcc gcc-c++ -y

[root@log ~]# useradd -s /sbin/nologin mfs

[root@log ~]# mount.cifs //192.168.100.3/LNMP-C7 /mnt/

Password for root@//192.168.100.3/LNMP-C7:

[root@log ~]# cd /mnt/mfs/

[root@log mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt/

[root@log mfs]# cd /opt/

[root@log opt]# cd mfs-1.6.27/

[root@log mfs-1.6.27]# ./configure \ ##配置

> --prefix=/usr/local/mfs \ ##安装路径

> --with-default-user=mfs \ ##默认用户和组

> --with-default-group=mfs \

> --disable-mfschunkserver \ ##关闭两项功能,此两项功能是chunk服务器需要的

> --disable-mfsmount

[root@log mfs-1.6.27]# make && make install ##编译安装

[root@log mfs-1.6.27]# cd /usr/local/mfs/etc/mfs/

[root@log mfs]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg ##复制配置文件模板

[root@log mfs]# vim mfsmetalogger.cfg ##编辑配置文件

MASTER_HOST = 192.168.13.128 ##指定master服务器地址

[root@log mfs]# ln -s /usr/local/mfs/sbin/* /usr/local/sbin/ ##命令便于系统识别

[root@log mfs]# mfsmetalogger start ##开启服务

3,配置chunk1,2存储服务器(两个chunk服务器操作一致)

[root@chunk01 ~]# systemctl stop firewalld.service

[root@chunk01 ~]# setenforce 0

[root@chunk01 ~]# yum install zlib-devel gcc gcc-c++ -y

[root@chunk01 ~]# useradd -s /sbin/nologin mfs

[root@chunk01 ~]# mount.cifs //192.168.100.3/LNMP-C7 /mnt/

Password for root@//192.168.100.3/LNMP-C7:

[root@chunk01 ~]# cd /mnt/mfs/

[root@chunk01 mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt/

[root@chunk01 mfs]# cd /opt/mfs-1.6.27/

[root@chunk01 mfs-1.6.27]# ./configure \

> --prefix=/usr/local/mfs \

> --with-default-user=mfs \

> --with-default-group=mfs \

> --disable-mfsmaster \ ##关闭master功能

> --disable-mfsmount

[root@chunk01 mfs-1.6.27]# make && make install

[root@chunk01 mfs-1.6.27]# cd /usr/local/mfs/etc/mfs/

[root@chunk01 mfs]# cp mfschunkserver.cfg.dist mfschunkserver.cfg ##复制配置文件模板

[root@chunk01 mfs]# cp mfshdd.cfg.dist mfshdd.cfg

[root@chunk01 mfs]# vim mfschunkserver.cfg

MASTER_HOST = 192.168.13.128 ##添加master服务器的地址

[root@chunk01 mfs]# vim mfshdd.cfg

##末行添加

/data ##存储空间

[root@chunk01 mfs]# mkdir /data ##创建存储空间

[root@chunk01 mfs]# chown -R mfs.mfs /data/ ##给mfs属主属组权限

[root@chunk01 mfs]# ln -s /usr/local/mfs/sbin/* /usr/local/sbin/

[root@chunk01 mfs]# mfschunkserver start ##开启服务

4,配置client客户端

[root@client ~]# systemctl stop firewalld.service

[root@client ~]# setenforce 0

[root@client ~]# yum install gcc gcc-c++ zlib-devel -y

[root@client ~]# mount.cifs //192.168.100.3/LNMP-C7 /mnt/

Password for root@//192.168.100.3/LNMP-C7:

[root@client ~]# cd /mnt/mfs/

[root@client mfs]# tar zxvf fuse-2.9.2.tar.gz -C /opt/ ##客户端跟master挂载模块

[root@client mfs]# cd /opt/fuse-2.9.2/

[root@client fuse-2.9.2]# ./configure ##配置

[root@client fuse-2.9.2]# make && make install ##编译安装

[root@client fuse-2.9.2]# vim /etc/profile ##配置环境变量

##末行添加

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

[root@client fuse-2.9.2]# source /etc/profile ##刷新配置文件

[root@client fuse-2.9.2]# useradd -s /sbin/nologin mfs

[root@client fuse-2.9.2]# cd /mnt/mfs/

[root@client mfs]# tar zvxf mfs-1.6.27-5.tar.gz -C /opt/

[root@client mfs-1.6.27]# ./configure \

> --prefix=/usr/local/mfs \

> --with-default-user=mfs \

> --with-default-group=mfs \

> --disable-mfsmaster \ ##关闭master和chunkserver

> --disable-mfschunkserver \

> --enable-mfsmount ##开启挂载

[root@client mfs-1.6.27]# make && make install

[root@client mfs-1.6.27]# mkdir /opt/mfs ##创建挂载点

[root@client mfs-1.6.27]# modprobe fuse ##加载fuse到内核

[root@client mfs-1.6.27]# /usr/local/mfs/bin/mfsmount /opt/mfs -H 192.168.13.128 ##挂载

[root@client mfs-1.6.27]# df -hT ##查看

192.168.13.128:9421 fuse.mfs 32G 0 32G 0% /opt/mfs

5,优化客户端

[root@client mfs-1.6.27]# vim /etc/profile

##末行添加

export PATH=/usr/local/mfs/bin:$PATH

[root@localhost mfs-1.6.27]# source /etc/profile

[root@localhost mfs-1.6.27]# mfsgetgoal -r /opt/mfs ##复制一份副本

6,在chunk服务器上查看

[root@chunk01 mfs]# cd /data/

[root@chunk01 data]# ls ##已经规划好分布结构

00 0E 1C 2A 38 46 54 62 70 7E 8C 9A

01 0F 1D 2B 39 47 55 63 71 7F 8D 9B

02 10 1E 2C 3A 48 56 64 72 80 8E 9C

03 11 1F 2D 3B 49 57 65 73 81 8F 9D

7,在master服务器上启动监控程序

[root@master mfs]# mfscgiserv ##开启监控程序

##在浏览器上查看服务器及磁盘

谢谢阅读!

mfs文件服务器,MFS分布式文件系统搭建相关推荐

  1. CentOS下MFS分布式文件系统搭建

    MFS : 网络分布式文件系统中的一种 Project web site: http://www.moosefs.com/ Installation and using MooseFS: http:/ ...

  2. Spark环境搭建(一)-----------HDFS分布式文件系统搭建

    下载的压缩文件放在~/software/    解压安装在~/app/ 一:分布式文件系统搭建HDFS 1,下载Hadoop HDFS环境搭建    使用版本:hadoop-2.6.0-cdh5.7. ...

  3. 详细讲解MFS分布式文件系统搭建(内含源码包)

    初步了解分布式原理: 分布式文件系统(Distributed File Systemm)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连.简单来说,就是把一些分散 ...

  4. MFS分布式文件系统搭建

    MFS分布式文件系统介绍 m ooseFS(moose 驼鹿)是一款网络分布式文件系统.它把数据分散在多台服务器上,但对于用户来讲,看到的只是一个源.MFS也像其他类unix文件系统一样,包含了层级结 ...

  5. Linux_FastDFS分布式文件系统——搭建

    1 文章目的 最近要用这个: 了解项目中使用FastDFS的原因和意义. 掌握FastDFS的架构组成部分,能说出tracker和storage的作用. 了解FastDFS+nginx上传和下载的执行 ...

  6. 2003dfs分布式文件服务器,win2003分布式文件系统(dfs)配置方法[图文详解]

    在网络中,共享文件的物理位置是分散分布的,用户要询问对方的共享路径才能清楚地获得共享资源.如果想看到某局域网全部的共享文件,则需要询问每一个人,这样的操作太不方便了. 根据管理员的需求,可以使用win ...

  7. Go-fastdfs分布式文件系统搭建

    启动命令 服务启动说明 cd /opt/goFileservr ./control start 验证服务地址(自定义验证码需按图填写) 验证请求出错 需要查看配置文件中配置得权限验证接口是否正确返回 ...

  8. 阿里开源的 文件服务器,FastDFS分布式文件系统(阿里开源--C语言编写)

    1.简介 C语言 开源 冗余备份.负载均衡.线性扩容 github fastdfs hanppyfish 开源的 2.架构 image.png Tracker server(调度服务器):负载均衡和调 ...

  9. 分布式文件系统MFS(moosefs)实现存储共享(一)

    分布式文件系统MFS(moosefs)实现存储共享 作者:田逸([email]sery@163.com[/email]) from: [url]http://net.it168.com/a2009/0 ...

最新文章

  1. java里调用Python
  2. C# ref与out关键字解析
  3. 【类】变量复用,函数复用
  4. 【CodeForces - 485A】Factory (水题,抽屉原理,tricks)
  5. 2021上半年朋友圈都在传的10本书,找到了
  6. 亚洲诚信亮相2018天翼智能生态博览会
  7. html菜单不动属性,html5规定元素的上下文菜单属性contextmenu
  8. 人生的意义在于梦想和坚持
  9. Emulator: emulator: WARNING: EmulatorService.cpp:448: Cannot find certfile: C:\Users\zhuangqingze\.a
  10. 吴恩达-deep learning 02.改善深层神经网络:超参数调试、正则化以及优化Week1
  11. 手把手 | 用Python语言模型和LSTM做一个Drake饶舌歌词生成器
  12. 教你玩转iphone超实用的3D touch功能!
  13. 跳跃游戏2(求最少跳跃次数)Python解法
  14. 数据库binlog(二进制日志binary log)
  15. Revit二次开发之双事件:空闲事件与DocumentChanged事件
  16. Bootstrap下拉菜单(Dropdown)插件实现隐藏操作按钮的简单实现
  17. YOLO loss理解
  18. java 常用 函数式接口_「java8系列」神奇的函数式接口
  19. 【HTML】HTML网页设计-----中国戏曲--川剧网页介绍
  20. SenticNet情感词典介绍

热门文章

  1. GnuRadio Hacking②:使用SDR嗅探北欧芯片无线键盘鼠标数据包
  2. HDU 1865 1string
  3. mysqld: File ‘./binlog.index‘ not found (OS errno 13 - Permission denied)
  4. 星河万里 一路“童”行
  5. u盘打开提示格式化怎么办?有用的方法来了
  6. sap 新增科目表_SAP系统中四大科目表的总结
  7. Android 仿QQ登录动态背景
  8. 运行数据区③---方法区
  9. 自定义alert和confirm的效果,个人感觉蛮好使用的
  10. 2022年双11淘宝满减规则解读