MFS - MooseFS 文件系统
MFS
MooseFS 文件系统 可以实现RAID 功能;节约成本 实现在线扩展;是一种半分布式文件系统。
一、MFS文件系统的组成
1、mfsmaster 元数据服务器。
在整个体系中负责管理管理文件系统,目前MFS只支持一个元数据服务器master,这是一个单点故障,需要一个性能稳定的服务器来充当。希望今后MFS能支持多个master服务器,进一步提高系统的可靠性。
2、 数据存储服务器 chunkserver。
真正存储用户数据的服务器。存储文件时,首先把文件分成块,然后这些块在数据服务器chunkserver之间复制(复制份数可以手工指定,建议设置副本数为3)。数据服务器可以是多个,并且数量越多,可使用的“磁盘空间”越大,可靠性也越高。
3、 MFS客户端。
使用MFS文件系统来存储和访问的主机称为MFS的客户端,成功挂接MFS文件系统以后,就可以像以前使用NFS一样共享这个虚拟性的存储了。元数据服务器安装和配置元数据服务器可以是linux,也可以是unix,你可以根据自己的使用习惯选择操作系统,在我的环境里,我是用freebsd做为MFS元数据的运行平台。GNU源码,在各种类unix平台的安装都基本一致。
二、基础架构
1、MFSmaster
10.10.100.101 1、Metalogger 也可以和master在同一台
10.10.100.102 3、Chunkserver
10.10.100.103- 4、client
IP
1、yum 安装;设置 yum 源
For EL6 family:
# curl "http://ppa.moosefs.com/MooseFS-3-el6.repo" > /etc/yum.repos.d/MooseFS.repo
MooseFS.repo 需要设置 gpgcheck=
2、MFSmaster 管理服务器
1、mfsmaster.cfg 主配置文件
默认开放 端口;
配置元数据存放位置;
metadata.mfs 默认的元数据文件 需要放置到设置的DATA_PATH目录;
# cat /etc/mfs/mfsmaster.cfg |grep -v ^$ |grep -v ^#
DATA_PATH = /mfs/data 2、mfsexports.cfg 对被挂载目录及其权限配置
mfsexports.cfg 对被挂接目录及其权限进行设置
# cat /etc/mfs/mfsexports.cfg |grep -v ^$ |grep -v ^#
* / rw,alldirs,admin,maproot=:
* . rw 3、Metalogger -- 元数据日志服务器
主配置文件 mfsmetalogger.cfg
配置 master_host
# cat /etc/mfs/mfsmetalogger.cfg |grep -v ^$ |grep -v ^#
MASTER_HOST = 10.10.100.101
2、数据存储服务器
# yum install moosefs-chunkserver 1、 Chunkservers -- 数据存储服务器
主配置文件 mfschunkserver.cfg
master_host
master_port # cat /etc/mfs/mfschunkserver.cfg |grep -v ^$ |grep -v ^#
DATA_PATH = /mfs/data
MASTER_HOST = 10.10.100.101
MASTER_PORT = 2、mfshdd.cfg 指定服务器分配给 MFS 使用的空间;
配置MFS 分区
/mfsdata
chown -R mfs:mfs /mfsdata
# cat /etc/mfs/mfshdd.cfg |grep -v ^$ |grep -v ^#
/mfs/data 3、需要端口;
元数据日志服务监听端口
chunk server 数据存储服务器连接端地址;
客户端链接挂接链接端口
chunkserver 端口
moosefs-cgiserv 监控客户端的链接状态;
3、Clients 客户端挂载 需要 fuse 插件;
# yum install moosefs-client
# yum install fuse
# modprobe fuse ( 加载fuse 模块 ) fuse 设置 /etc/fstab
and then add one of the following entries to your /etc/fstab: "classic" entry (works with all MooseFS 3.0 and 2.0 verisons):
mfsmount /mnt/mfs fuse defaults or "NFS-like" entry (works with MooseFS 3.0.+):
mfsmaster.host.name: /mnt/mfs moosefs defaults
三、客户端创建挂载点;
mkdir /mnt/mfs 挂载 MFS
mfsmount /mnt/mfs -H mfsmasterIP
# -p 有密码就输入密码 (注 这只是挂载的是同一个元数据服务器IP ;而不是存储服务器的iP;)
四、 mfscgiserv 监控客户端链接状态
http://MFSMASTER:PORT/
五、源码编译
# useradd mfs -s /sbin/nologin
# wget http://ftp5.gwdg.de/pub/linux/archlinux/extra/os/x86_64//fuse2-2.9.7-3-x86_64.pkg.tar.xz
# wget http://ppa.moosefs.com/src/moosefs-3.0.91-1.tar.gz
管理服务 元数据服务 存储服务 针对不同的服务起:
mfsmaster
mfschunkserver
mfsmetalogger chown -R mfs:mfs /usr/local/mfs
cd /usr/local/mfs
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
make &&make install
MFS 客户端
# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount
# make &&make install
MFS 常用操作
MFS - MooseFS 文件系统的更多相关文章
- 分布式文件系统MFS(moosefs)实现存储共享(第二版)
分布式文件系统MFS(moosefs)实现存储共享(第二版) 作者:田逸(sery@163.com) 由于用户数量的不断攀升,我对访问量大的应用实现了可扩展.高可靠的集群部署(即lvs+keepali ...
- 分布式文件系统MFS(moosefs)实现存储共享(一)
分布式文件系统MFS(moosefs)实现存储共享 作者:田逸(sery@163.com) from:[url]http://net.it168.com/a2009/0403/270/00000027 ...
- 分布式文件系统MFS(moosefs)实现存储共享
分布式文件系统MFS(moosefs)实现存储共享(第二版) 作者:田逸(sery@163.com) 由于用户数量的不断攀升,我对访问量大的应用实现了可扩展.高可靠的集群部署(即lvs+keepali ...
- MFS分布式文件系统
一.MFS概述: MooseFS(moose 驼鹿)是一款网络分布式文件系统.它把数据分散在多台服务器上,但对于用户来讲,看到的只是一个源.MFS也像其他类unix文件系统一样,包含了层级结构(目录树 ...
- 构建MFS分布式文件系统
++++++++++++++构建MFS分布式文件系统++++++++++++++PB级别:企业存储空间达到PB级别,即100万GB空间.(1PB=1000TB,1TB=1000GB,1GB=1000M ...
- mfs分布式文件系统,分布式存储,高可用(pacemaker+corosync+pcs),磁盘共享(iscsi),fence解决脑裂问题
一.MFS概述 MooseFS是一个分布式存储的框架,其具有如下特性:(1)通用文件系统,不需要修改上层应用就可以使用(那些需要专门api的dfs很麻烦!).(2)可以在线扩容,体系架构可伸缩性极强. ...
- Centos 安装 Moosefs文件系统
一.环境介绍Moosefs master:192.168.55.148Moosefs Metalogger:192.168.55.149Moosefs Chunk-01:192.168.55.150M ...
- MFS分布式文件系统【4】客户端的挂载MFS存储空间
挂载基于MooseFS 分布式文件,客户端主机必须安装FUSE软件包(FUSE版本号至少2.6,推荐版本号大于2.7的fuse) [root@master ~]# rpm -qa|grep fuse ...
- MFS分布式文件系统【2】MFS MASTER 部署
MFS版本 mfs-1.6.27 MFS-MASTER 192.168.1.190 MFS-CHUNKSERVER1 192.168.1.252 MFS-CHUNKSERVER2 192.168.1. ...
随机推荐
- python之GIL理解
GIL(Global Interpreter Lock) 全局解释器锁 python3中是假的多线程,它不是真正的并行,是利用了cpu上下文的切换而已.同一时间只能有一个线程使用共享数据,其它线程处于 ...
- 机器学习之线性回归使用Python和tensorflow实现
导入依赖包 import tensorflow as tf import numpy as np import matplotlib.pylab as plt from pylab import mp ...
- MSSQL批量写入数据方案
近来有一个项目Feature需要有批量写入数据的场景,正巧整理资料发现自己以前也类似实现的项目,在重构的同时把相关资料做了一个简单的梳理,方便大家参考. 循环写入(简单粗暴,毕业设计就这样干的)(不推 ...
- 1094. The Largest Generation (25)-(dfs,树的遍历,统计每层的节点数)
题目很简单,就是统计一下每层的节点数,输出节点数最多的个数和对应的层数即可. #include <iostream> #include <cstdio> #include &l ...
- BugPhobia开发篇章:Beta阶段第III次Scrum Meeting
0x01 :Scrum Meeting基本摘要 Beta阶段第三次Scrum Meeting 敏捷开发起始时间 2015/12/15 00:00 A.M. 敏捷开发终止时间 2015/12/15 23 ...
- Linux内核分析作业 NO.4
扒开系统调用的三层皮(上) 于佳心 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-100002900 ...
- Linux内核分析 笔记四 系统调用的三个层次 ——by王玥
一.知识点总结 (一)用户态.内核态和中断 1.内核态:在高的执行级别下,代码可以执行特权指令,访问任意的物理地址,这时的CPU就对应内核态 2.用户态:在低级别的指令状态下,代码 只能在级别允许的特 ...
- 《Linux内核设计与实现》Chapter 18 读书笔记
<Linux内核设计与实现>Chapter 18 读书笔记 一.准备开始 一个bug 一个藏匿bug的内核版本 知道这个bug最早出现在哪个内核版本中. 相关内核代码的知识和运气 想要成功 ...
- java 面试 心得
16. ArrayList list = new ArrayList(20);中的list扩充几次() A 0 B 1 C 2 D 3 答案:A 解析:这里有点迷惑人,大家都 ...
- 小学四则运算APP 第一个冲刺阶段 第四天
团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 第一次冲刺阶段时间:11.17~11.27 本次发布我们增加了CalculatorsActivity.java.YunsuanActivi ...