Moosefs分布式文件系统

本文介绍了MooseFS分布式文件系统的概念、特点和架构,包括元数据服务器、数据存储服务器和客户端的角色。详细阐述了MFS的高可靠性、可扩展性和可控性,并提供了MFS的部署步骤,包括主master、slave和客户端的部署。文章还涵盖了基础实验,如文本恢复、内存分配和指定存储类标签存放数据,以及MFS高可用集群的配置。
摘要由CSDN通过智能技术生成

1.分布式文件系统
分布式文件系统是指文件系统管理的物理存储资源,不一定在本地节点上,而是通过网络与节点相连。
就是把一些分散的(分布在局域网内各个计算机上)共享文件夹,集合到一个文件夹内(虚拟共享文件夹)。
对于用户来说,要访问这些共享文件夹时,只要打开这个虚拟共享文件夹,就可以看到所有链接到虚拟共享文件夹内的共享文件夹,用户感觉不到这些共享文件是分散在各个计算机上的。

分布式文件系统的好处是集中访问、简化操作、数据容灾,以及提高文件的存取性能。

2.MooseFS简介 
MooseFS 是一个高容错性的分布式文件系统,它能够将资源分布存储于几台不同的物理介质,对外只提供给用户一个访问接口。对它的操作与其它文件系统完全一样:

|         分层文件结构(目录树结构);

l         存储POSIX 文件属性(权限、最后访问、修改时间);

l         支持特殊的文件(块文件夹、字符文件及管道和socket )

l         软链接(文件名指向目标文件)及硬链接(不同的文件名指向同一块数据);

l         仅限于基于IP 地址或密码来访问文件系统。

MoosFS 具有以下特征:
l         高可靠性:数据可以被存储于几个不同的地方;

l         可扩展性:可以动态的添加计算机或磁盘来增加系统的容量产;

l         高可控性:系统能够设置删除文件的时间间隔;

l         可追溯性:能够根据文件的不同操作(写入/ 访问)生成文件快照。

3.MooseFS的体系结构 
四个模块
元数据服务器Master                   在整个体系中负责管理文件系统,维护元数据。
元数据日志服务器MetaLogger    备份Master服务器的变化日志文件,文件类型为changelog_ml.*.mfs。当Master服务器数据丢失或者损坏时,可以从日志服务器中取得文件,进行修复。
数据存储服务器Chunk Server    真正存储数据的服务器。存储文件时,会把文件分块保存,在数据服务器之间进行复制。数据服务器越多,能使用的“容量”就越大,可靠性就越高,性能也就越好。
客户端Client                               可以像挂载NFS一样挂载MFS文件系统,其操作是相同的。

工作体系
元数据存储在管理服务器的内存及磁盘中(周期性的更新二进制文件及增长的日志文件)。同时二进制文件及日志文件会被同步到元数据服务器。

MFS读数据的处理过程

#客户端向元数据服务器发出读请求
 
#元数据服务器把数据存放的位置
(Chunk Server的IP地址和Chunk编号)告知客户端
(一份大的数据会被分块,存储在不同的数据服务器上)
 
#客户端向已知的Chunk Server请求发送数据
 
#Chunk Server向客户端发送数据

MFS写数据的处理过程 

 

  分为create创建和update 修改文件:

#客户端向元数据服务器发送写入请求
 
#元数据服务器与Chunk Server进行交互(只有当所需的分块Chunks存在的时候才进行交互),
 
但元数据服务器只在某些服务器创建新的分块Chunks,创建成功后由Chunk Server告知元数据服务器操作成功。
 
#元数据服务器告知客户端,可以在哪个Chunk Server的哪些Chunks写入数据
(副本数是由master来维护的)
 
 
#客户端向指定的Chunk Server写入数据
 
#该Chunk Server与按照要求和其他Chunk Server进行数据同步,同步成功后Chunk Server告知客户端数据写入成功
 
 
#客户端告知元数据服务器本次写入完毕

 原始的读/写速度很明显是主要取决于所使用的硬盘的性能、网络的容量和拓扑结构,使用的硬
盘和网络的吞吐量越好,整个系统的性能也就会越好

 4.实验环境

MFS部署

主master的部署

官方安装文档

首先要保证虚拟机可以上网,在真机中执行命令 
iptables -t nat -I POSTROUTING -s 172.25.26.0/24 -j MASQUERADE 

curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo  #下载repo源
vim MooseFS.repo 
 
cat MooseFS.repo 
[MooseFS]
name=MooseFS $releasever - $basearch
baseurl=http://ppa.moosefs.com/moosefs-3/yum/el7
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
enabled=1
 
yum install -y moosefs-master  ##安装MFS master
yum install moosefs-cgi moosefs-cgiserv moosefs-cli -y  ##安装主服务器

systemctl start moosefs-master    ##启动MASTER
vim /etc/hosts   ##解析必须做
172.25.26.1 server1  mfsmaster
 
systemctl start moosefs-cgiserv.service    ##网页监控
netstat -antlp 
 
9419:metalogger监听的端口地址,和元数据服务器通信的,当master宕机,可以通过它的日志,接管master的服务
9420:用于chunkserver连接的端口地址
9421:用于客户端挂接连接的端口地址
9425:web界面监控各个分布节点的端口

访问172.25.26.1:9425/mfs.cgi  

 

slave端的部署

注意:/mnt/chunk1或/mnt/chunk2是一个给mfs 的分区,但在本机上是一个独立的目录,最好是一个单独的硬盘或者一个raid 卷,最低要求是一个分区。

server2

[root@server1 yum.repos.d]# scp MooseFS.repo server2:/etc/yum.repos.d/
ssh: Could not resolve hostname server2: Name or service not known
lost connection
[root@servre1 yum.repos.d]# scp MooseFS.repo demo2:/etc/yum.repos.d/
[root@server1 yum.repos.d]# scp MooseFS.repo demo3:/etc/yum.repos.d/
[root@server2 ~]# yum install moosefs-chunkserver   ##安装冷备份,两个slave端
[root@server3 ~]# yum install moosefs-chunkserver   ##安装冷备份
[root@server3 ~]# vim /etc/hosts   ##做解析

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值