MFS官方网站http://www.moosefs.org/reference-guide.html

mooseFS(moose驼鹿)是一款网络分布式文件系统,它把数据分散到多台服务器上,但对于用户来讲,看到的只是一个源.MFS也像其他类unix文件系统,包含了层级结构(目录树),存储着文件属性(权限,最后访问和修改时)可以创建特殊的文件(块设备,字符设备,管道,套接字)符号链接.

MooseFS文件系统介绍:

MooseFS是一中分布式文件系统,MooseFS文件系统结构包括一下四种角色:

1.管理服务器master

管理服务器:负责各个数据存储服务的管理文件读写调度,文件空间回收以及恢复,多节点拷贝

2.元数据日志服务器:负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在master server出现问题的时候解体器 进行工作

3.数据存储服务器data server(chunk servers)

真正存储用户数据的服务器 ,存储文件时,首先把文件分成块,然后这些块在数据服务器chunkserver之间赋值(复制份数可以手工指定,建议设置副本数为数据服务器可以为多个,并且数据越多,可使用的“磁盘空间越大,”可靠性也越高 .

4.客户端挂在 使用clinet computers

使用MFS文件系统来存储和访问的主机名称为MFS的客户端,成功挂载MFS系统以后,就可以像以前NFS一样共享这个虚拟性的存储了。

实验环境:

服务器:

masters:192.168.20.138

chunk-server:192.168.20.150

Metalogger-server192.168.20.163

客户端挂载使用(clinet computers):192.168.20.163

---------------------------------------------------------------------------------------------

实验环境准备:

fuse.ko

所有服务器端和客户端都要支持 fuse内核模块。

由于MFS的客户端程序也就是jiazaimfs磁盘系统的命令是使用了fuse.

用户空间文件系统(简称FUSE)是操作系统中的概念,指完全在用户状态实现的文件系统,目前linux通过内核模块对此进行支持,一些文件系统如NTFS-3G(作用:让linux中对NTFS文件系统提供支持)使用FUSE实现.

2.6以上内核,都自带fuse

一.Master

[root@master ~]#  yum install gcc fuse fuse-devel zlib-devel –y

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

[root@master ~]# tar zxvf mfs-1.6.27-5.tar.gz -C /usr/src/

[root@master ~]# cd /usr/src/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 --disable-mfsmount

root@master mfs-1.6.27]# make

root@master mfs-1.6.27]# make install

[root@master mfs]# cp mfsexports.cfg.dist mfsexports.cfg

[root@master mfs]# cp mfsmaster.cfg.dist mfsmaster.cfg

[root@master mfs]# cp  mfstopology.cfg.dist mfstopology.cfg

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

[root@master mfs]# ls

metadata.mfs.empty

[root@master mfs]# cp metadata.mfs.empty metadata.mfs

[root@master mfs]# cat /usr/local/mfs/etc/mfs/mfsexports.cfg

[root@master mfs]# cat  /usr/local/mfs/etc/mfs/mfsmaster.cfg

[A1] [root@master mfs]# /usr/local/mfs/sbin/mfsmaster restart[A2]

[root@master mfs]# netstat -anput | grep mfs

tcp        0      0 0.0.0.0:9419                0.0.0.0:*                   LISTEN      10761/mfsmaster

tcp        0      0 0.0.0.0:9420                0.0.0.0:*                   LISTEN      10761/mfsmaster

tcp        0      0 0.0.0.0:9421                0.0.0.0:*                   LISTEN      10761/mfsmaster


[A1]简单查看文件的配置,暂不做修改

[A2]启动MFS

二.安装MataLogger(元数据日志服务器)

[root@Metalogger-server ~]#  yum install gcc fuse fuse-devel zlib-devel –y

[root@Metalogger-server ~]# useradd -M -s /sbin/nologin mfs

[root@Metalogger-server ~]# tar zxvf mfs-1.6.27-5.tar.gz -C /usr/src/

[root@Metalogger-server mfs-1.6.27]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmoumnt

[root@Metalogger-server mfs-1.6.27]# make

[root@Metalogger-server mfs-1.6.27]# make install

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

[root@Metalogger-server mfs]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

[root@Metalogger-server mfs]# vim /usr/local/mfs/etc/mfs/mfsmetalogger.cfg

[root@Metalogger-server mfs]#  /usr/local/mfs/sbin/mfsmetalogger restart

[root@Metalogger-server mfs]# ps -elf | grep mfs

5 S mfs       36452      1  0  61 -19 -  2764 poll_s 11:06 ?        00:00:00 /usr/local/mfs/sbin/mfsmetalogger restart

0 S root      36459   3535  0  80   0 - 25814 pipe_w 11:08 pts/1    00:00:00 grep mfs

三.Chunk-server(数据存储服务器)

[root@chunk-server ~]# yum install gcc fuse fuse-devel zlib-devel –y

[root@chunk-server ~]# useradd -M -s /sbin/nologin mfs

[root@chunk-server ~]# tar zxvf mfs-1.6.27-5.tar.gz -C /usr/src/

[root@chunk-server ~]# cd /usr/src/mfs-1.6.27/

[root@chunk-server mfs-1.6.27]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfsmount

[root@chunk-server mfs-1.6.27]# make

[root@chunk-server mfs-1.6.27]# make install

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

[root@chunk-server mfs]# cp mfschunkserver.cfg.dist mfschunkserver.cfg

[root@chunk-server mfs]# cp mfshdd.cfg.dist mfshdd.cfg

[root@chunk-server mfs]# vim /usr/local/mfs/etc/mfs/mfschunkserver.cfg

oot@chunk-server mfs]# cp mfschunkserver.cfg.dist   mfschunkserver.cfg

[root@chunk-server mfs]# vim /usr/local/mfs/etc/mfs/mfschunkserver.cfg

[root@chunk-server mfs]# vim /usr/local/mfs/etc/mfs/mfshdd.cfg

root@chunk-server ~]# mkdir /data

[root@chunk-server ~]# chown -R mfs:mfs /data/

[root@chunk-server ~]# /usr/local/mfs/sbin/mfschunkserver restart

[root@chunk-server ~]# ps -elf | grep mfs

5 S mfs       25099      1  2  61 -19 - 42704 poll_s 21:44 ?        00:00:01 /usr/local/mfs/sbin/mfschunkserver restart

0 S root      25125  20503  0  80   0 - 25805 pipe_w 21:45 pts/1    00:00:00 grep mfs

[root@chunk-server ~]# netstat -anput | grep mfs

tcp        0      0 0.0.0.0:9422                0.0.0.0:*                   LISTEN      25099/mfschunkserve

四:客户部署与配置

yum install gcc fuse fuse-devel zlib-devel –y

[root@localhost ~]# tar zxvf fuse-2.9.2.tar.gz -C /usr/src/

[root@localhost ~]# cd /usr/src/fuse-2.9.2/

[root@localhost fuse-2.9.2]# ./configure

[root@localhost fuse-2.9.2]# make && makek install

[root@localhost fuse-2.9.2]# vim /etc/profile

root@localhost fuse-2.9.2]# . /etc/profile

[root@localhost fuse-2.9.2]# source /etc/profile

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

[root@localhost ~]# tar zxvf mfs-1.6.27-5.tar.gz -C /usr/src/

root@localhost ~]# cd /usr/src/mfs-1.6.27/

root@localhost mfs-1.6.27]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfschunkserver --enable-mfsmount

如果还是有问题的,解决方法:yum -y install fuse-devel

root@localhost mfs-1.6.27]# make && make install

[root@localhost mfs-1.6.27]# cd

[root@localhost ~]# modprobe fuse

[root@localhost ~]# mkdir /xiaoyu

[root@localhost ~]# /usr/local/mfs/bin/mfsmount /xiaoyu/ -H 192.168.20.138

mfsmaster accepted connection with parameters: read-write,restricted_ip ; root mapped to root:root

[root@localhost ~]# mount

[root@localhost ~]# df –Th

root@localhost ~]# vim /etc/profile

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

[root@localhost ~]# source /etc/profile

[root@localhost ~]# ln -s /usr/local/mfs/bin/* /usr/local/bin/

[root@localhost ~]# mfsgetgoal -r /xiaoyu/

root@localhost ~]# mfsgetgoal -r  /xiaoyu/

/xiaoyu/:

directories with goal  1 :          1

[root@localhost ~]# mfsgetgoal -r 3  /xiaoyu/

3: realpath error on (/root/3): ENOENT (No such file or directory)

/xiaoyu/:

directories with goal  1 :

MFS分布式文件系统管理的更多相关文章

  1. Linux MFS分布式文件系统介绍和安装

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

  2. MFS分布式文件系统

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

  3. Hadoop HDFS概念学习系列之分布式文件管理系统(二十五)

    数据量越来越多,在一个操作系统管辖的范围存在不了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来 管理多台机器上的文件,这就是分布式文件管理系统. 是一种允许文件 ...

  4. linux下fdisk分区管理、文件系统管理、挂载文件系统等

    分区管理工具有:fdisk, parted, sfdisk fdisk:对于一块硬盘来讲,最多只能管理15分区: # fdisk -l [-u] [device...]  查看硬盘设备分区信息 # f ...

  5. 【linux相识相知】磁盘分区及文件系统管理详解

    磁盘,提供持久的数据存储,它不像我们的内存,如果突然断电了,在内存中的数据一般都会被丢掉了,内存中的数据在保存的时候,会被写到硬盘里面,磁盘也是一种I/O设备. 我们都知道磁盘分区完成之后,还要进行格 ...

  6. Linux:Day7(下) 磁盘管理、文件系统管理

    Linux入门 Linux系统管理: 磁盘管理.文件系统管理 RAID基本原理.LVM2 网络管理:TCP/IP协议.Linux网络属性配置 程序包管理:rpm,yum 进程管理:htop,glanc ...

  7. 构建MFS分布式文件系统

    ++++++++++++++构建MFS分布式文件系统++++++++++++++PB级别:企业存储空间达到PB级别,即100万GB空间.(1PB=1000TB,1TB=1000GB,1GB=1000M ...

  8. 第7天【find命令、if语句、磁盘管理、文件系统管理】

    find命令详解(01)_recv Find及文件特殊权限: 文件查找工具: Find Find [OPTON]…[查找路径] [查找条件] [处理动作] 查找路径:指定具体目标路径,默认为当前路径 ...

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

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

随机推荐

  1. MySQL数据库web维护客户端管理工具

    TreeSoft数据库管理系统使用JAVA开发,采用稳定通用的springMVC +JDBC架构,实现基于WEB方式对 MySQL,Oracle,PostgreSQL 等数据库进行维护管理操作. 功能 ...

  2. session或memcache过期之后跳转到登陆页面并跳出iframe框架

    <!--在你想控制跳转的页面,比如login.html中的<head>与</head>之间加入以下代码:--> <script> if (window ...

  3. svn文件图

  4. 在jupyter notebook中同时安装python2和python3

    之前讨论过在anaconda下安装多个python版本,本期来讨论下,jupyter notebook中怎样同时安装python2.7 和python3.x. 由于我之前使用的jupyter note ...

  5. 16.如何做到webpack打包vue项目后,可以修改配置文件

    问题描述: 前端需要修改restful API的url,但是打包之后,配置文件找不到了,如果在npm run build 生成dist后,这个配置也被写死了,传到运行的前端服务器上后,假设某次,api ...

  6. WCF学习——构建第二个WCF应用程序(五)

    一.创建数据服务 1.在“解决方案资源管理器”中,使用鼠标左键选中“WcfService”项目,然后在菜单栏上,依次选择“项目”.“添加新项”. 2.在“添加新项”对话框中,选择“Web”节点,然后选 ...

  7. 短信发送接口被恶意访问的网络攻击事件(四)完结篇--搭建WAF清理战场

    前言 短信发送接口被恶意访问的网络攻击事件(一)紧张的遭遇战险胜 短信发送接口被恶意访问的网络攻击事件(二)肉搏战-阻止恶意请求 短信发送接口被恶意访问的网络攻击事件(三)定位恶意IP的日志分析脚本 ...

  8. ASP.NET Core Web 资源打包与压缩

    本文将介绍使用的打包和压缩的优点,以及如何在ASP.NET Core应用程序中使用这些功能. 概述 在ASP.Net中可以使用打包与压缩这两种技术来提高Web应用程序页面加载的性能.通过减少从服务器请 ...

  9. BOM浏览器对象模型下面几个比较实用的方法

    location对象 location.href-- 返回或设置当前文档的URL location.search -- 返回URL中的查询字符串部分.例如 http://www.dreamdu.com ...

  10. xhr.readyState的就绪状态

    0:初始化,XMLHttpRequest对象还没有完成初始化 1:载入,XMLHttpRequest对象开始发送请求 2:载入完成,XMLHttpRequest对象的请求发送完成 3:解析,XMLHt ...