MFS分布式文件系统管理
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分布式文件系统管理的更多相关文章
- Linux MFS分布式文件系统介绍和安装
MFS分布式文件系统 mooseFS(moose 驼鹿)是一款网络分布式文件系统.它把数据分散在多台服务器上,但对于用户来讲,看到的只是一个源.MFS也像其他类unix文件系统一样,包含了层级结构(目 ...
- MFS分布式文件系统
一.MFS概述: MooseFS(moose 驼鹿)是一款网络分布式文件系统.它把数据分散在多台服务器上,但对于用户来讲,看到的只是一个源.MFS也像其他类unix文件系统一样,包含了层级结构(目录树 ...
- Hadoop HDFS概念学习系列之分布式文件管理系统(二十五)
数据量越来越多,在一个操作系统管辖的范围存在不了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来 管理多台机器上的文件,这就是分布式文件管理系统. 是一种允许文件 ...
- linux下fdisk分区管理、文件系统管理、挂载文件系统等
分区管理工具有:fdisk, parted, sfdisk fdisk:对于一块硬盘来讲,最多只能管理15分区: # fdisk -l [-u] [device...] 查看硬盘设备分区信息 # f ...
- 【linux相识相知】磁盘分区及文件系统管理详解
磁盘,提供持久的数据存储,它不像我们的内存,如果突然断电了,在内存中的数据一般都会被丢掉了,内存中的数据在保存的时候,会被写到硬盘里面,磁盘也是一种I/O设备. 我们都知道磁盘分区完成之后,还要进行格 ...
- Linux:Day7(下) 磁盘管理、文件系统管理
Linux入门 Linux系统管理: 磁盘管理.文件系统管理 RAID基本原理.LVM2 网络管理:TCP/IP协议.Linux网络属性配置 程序包管理:rpm,yum 进程管理:htop,glanc ...
- 构建MFS分布式文件系统
++++++++++++++构建MFS分布式文件系统++++++++++++++PB级别:企业存储空间达到PB级别,即100万GB空间.(1PB=1000TB,1TB=1000GB,1GB=1000M ...
- 第7天【find命令、if语句、磁盘管理、文件系统管理】
find命令详解(01)_recv Find及文件特殊权限: 文件查找工具: Find Find [OPTON]…[查找路径] [查找条件] [处理动作] 查找路径:指定具体目标路径,默认为当前路径 ...
- MooseFS分布式文件系统介绍及安装教程详解
MFS系统由4个部分构成:master.metalogger.chunkserver.client. 1.Master —— mfs的大脑,记录着管理信息,比如:文件大小,存储的位置,份数等,和inn ...
随机推荐
- Random随机数种子生成,减少生成重复随机数的可能
我们都知道使用Random可以生成随机数,默认的无参的构造函数New Random().使用与时间相关的默认种子值,初始化 System.Random 类的新实例. 这种方式生成随机数时重复的概率很大 ...
- docker--数据卷与数据卷容器
docker--数据卷与数据卷容器 1.数据卷: 创建一个volumes的文件夹: [root@docker01 /]# mkdir volumes [root@docker01 /]# ls bin ...
- js数值使用及数组转json,转化后的json传入后台解析
var storeArray=new Array(); $("input[name='storeid']").each(function(i){ var curStoreObj = ...
- Quartz使用-入门使用
注:这里使用的是Quartz1.6.5版本(包:quartz-1.6.5.jar) //测试main函数 //QuartzTest.java package quartzPackage; import ...
- Java基础语法<一> 数据类型&运算符
1 数据类型 1.1 整型 类型 存储需求 取值范围 int 4字节 -21 4748 3648 – 21 4748 3647 232 short 2字节 -32768-32767 216 lon ...
- 关于移动APP与Web APP的测试重点以及区别
Web app测试重点: 1. 功能测试:功能的实现是否满足需求. 2. 性能测试: 2.1 链接速度测试:测试页面链接的速度 2.2 负载测试:web应用系统能允许多少个用户同时在线?超过这个数量会 ...
- python基础(6):列表和字典类型
前面我们所接触的数据类型都是存单个值,今天我们来看看可以存多个值的列表和字典. 预习: 1.有列表data=['alex',49,[1900,3,18]],分别取出列表中的名字,年龄,出生的年,月,日 ...
- ZooKeeper快速学习
"一入Java深似海",过去自身对于分布式的接触,始终处于使用别人构建的框架的水平,最多就是在nginx配置一下第4层的负载均衡(最后有介绍).随着java使用深入,本文将重点理解 ...
- css3 变换 transform(2D)
一.transform变换 可做拉伸.压缩.旋转.偏移的效果.需加各个浏览器前缀. 二.transform-origin 为transform属性值的基点,默认值为元素的中心位置,即以元素左上角为坐标 ...
- Ansible 运维自动化 ( 配置管理工具 )
背景 出差背景,要搞项目的自动化部署.因为只直接对接生产分发,机器又非常多,这样以往使用的bat只能作为应急方案了,还是得考虑使用专业化的工具来做这个事情! 当下有许多的运维自动化工具( 配置管理 ) ...