MFS分布式文件系统——(基础知识)及搭建基本的MFS系统(client端+master端+chunk端)

一、什么是MFS(分布式文件系统)?
MooseFS是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源
常规特征
对标准的文件操作来说,mfs用起来跟其它的类unix系统类似:
1、分层次的结构(目录树)
2、存储POSIX文件属性(权限、最后访问和修改时间)
3、支持特殊文件(块和字符设备、管道以及套接字)
4、符号连接和硬连接
5、对文件系统的访问可以通过IP地址和(或者)密码进行限制
独有特征
1、高可靠(数据的多个拷贝被存储在不同的计算机上)
2、通过附加新的计算机或者硬盘可以实现容量的动态扩展
3、删除的文件可以根据一个可配置的时间周期进行保留(一个文件系统级别的回收站)
4、不受访问和写入影响的文件连贯快照
分布式原理
分布式文件系统就是把一些分散在多台计算机上的共享文件夹,集合到一个共享文件夹内,
用户要访问这些文件夹的时候,只要打开一个文件夹,就可以的看到所有链接到此文件夹内的共享文件夹。
MFS原理
MFS是一个具有容错性的网络分布式文件系统,它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。

二、MFS的组成

元数据服务器(Master)在整个体系中负责管理文件系统,维护元数据,目前不支持高可用
元数据日志服务器(MetaLogger)备份Master服务器的变化日志文件,当master服务器损坏,可以从日志服务器中取得文件恢复
数据存储服务器(Chunk Server)真正存储数据的服务器,服务器越多,容量就越大,可靠性越高,性能越好
客户端(Client)可以像挂载NFS一样 挂载MFS文件系统
管理服务器(master server)一台管理整个文件系统的独立主机,存储着每个文件的元数据(文件的大小、属性、位置信息,包括所有非常规文件的所有信息,例如目录、套接字、管道以及设备文件)
数据服务器群(chunk servers)任意数目的商用服务器,用来存储文件数据并在彼此之间同步(如果某个文件有超过一个备份的话)
元数据备份服务器(metalogger server)任意数量的服务器,用来存储元数据变化日志并周期性下载主要元数据文件,以便用于管理服务器意外停止时好接替其位置
访问mfs的客户端任意数量的主机,可以通过mfsmount进程与管理服务器(接收和更改元数据)和数据服务器(改变实际文件数据)进行交流

三、MFS读数据的处理过程
客户端向元数据服务器发出读请求——>元数据服务器把所需数据存放的位置【Chunk Server(块服务器)的IP地址和Chunk(块)编号】告知客户端——>客户端向已知的Chunk Server请求发送数据——>Chunk Server向客户端发送数据
四、写入的过程
客户端向元数据服务器发送写入请求——>元数据服务器与Chunk Server进行交互,但元数据服务器只在某些服务器创建新的分块Chunks——>创建成功后由hunk Servers(chunk服务器)告知元数据服务器操作成功——>元数据服务器告知客户端,可以在哪个Chunk Server的哪些Chunks写入数据——>客户端向指定的Chunk Server写入数据——>该Chunk Server与其他Chunk Server进行数据同步,同步成功后Chunk Server告知客户端数据写入成功——>客户端告知元数据服务器本次写入完毕

五、搭建实验环境
全新虚拟机

主机信息	                         主机功能
server1(172.25.254.1)	        mfs master节点
server2(172.25.254.2)	        mfs chunk节点
server3(172.25.254.3)	        mfs chunk节点
真机(172.25.254.66)         	mfs client客户端

六、搭建基本的MFS系统
[企业七软件包获取地址]
http://ppa.moosefs.com/moosefs-3/yum/el7/
[企业八软件包获取地址]
http://ppa.moosefs.com/moosefs-3/yum/el8/
开始搭建
在server1上安装mfs master以及mfs cgi
在这里插入图片描述
在这里插入图片描述

mfsmaster开启了三个端口:9419,9420,9421
metalogger监听的端口地址【定期同步master节点的日志】	    (默认是9419)
用于chunkserver连接的端口地址	                            (默认是9420)
用于客户端挂接连接的端口地址	                            (默认是4921)	

在这里插入图片描述
在浏览器访问172.25.254.1:9425,可以看到分布式文件系统的监控页面
想监控哪一项信息,就选择哪个加号

在这里插入图片描述
在server2、server3上安装mfs chunk,真正存储数据的节点安装chunkserver
在这里插入图片描述
在这里插入图片描述
做解析
在这里插入图片描述
在这里插入图片描述
三台主机自动建立的mfs用户ID号必须一致
给server2添加虚拟磁盘进行分区,然后挂载在指定目录下做实验
添加硬盘作为共享硬盘

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
磁盘创建完成后
要创建挂载点挂载

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
浏览器访问刷新
在这里插入图片描述
server3上也可以使用server3的/目录下的空间进行挂载

[root@server3 ~]# mkdir /mnt/chunk2         创建目录              
 编辑配置文件尾行写入:/mnt/chunk2与server2一样       
[root@server3 ~]# vim /etc/mfs/ mfshdd.cfg  
[root@server3 ~]# cd /mnt/  
[root@server3 mnt]# ll -d chunk2/
drwxr-xr-x 2 root root 6 May 26 12:56 chunk2/
[root@server3 mnt]# chown mfs: chunk2  更改目录权限
[root@server3 mnt]# ll -d chunk2/
drwxr-xr-x 2 mfs mfs 6 May 26 12:56 chunk2/
[root@server3 mnt]# systemctl start moosefs-chunkserver  启动服务
[root@server3 mnt]# netstat -tnpl 查看看端口
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address  Foreign Address  State PID/Program name    
tcp  0  0 0.0.0.0:9422  0.0.0.0:*     LISTEN      18492/mfschunkserve 
tcp  0  0 0.0.0.0:22      0.0.0.0:*    LISTEN      7439/sshd           
tcp  0  0 127.0.0.1:25    0.0.0.0:*   LISTEN      7589/master         
tcp6 0  0 :::22           :::*        LISTEN      7439/sshd           
tcp6 0  0 ::1:25         :::*       LISTEN      7589/master         

浏览器访问查看
在这里插入图片描述
以上就是配置:MFS系统的master节点和chunkserver节点
接下来配置客户端
在这里插入图片描述
在这里插入图片描述
编写客户端的配置文件,将分布文件系统的数据目录挂在本地/mnt/mfs/目录上
在这里插入图片描述
创建挂载点(目录)并进行挂载
在这里插入图片描述
配置

[root@client Desktop]# cd /mnt/mfs/
[root@client mfs]# ls
[root@client mfs]# mkdir dir1 dir2  创建两个子目录
[root@client mfs]# ls
dir1  dir2
[root@client mfs]# ll
total 1
drwxr-xr-x. 2 root root 1 May 26 13:44 dir1
drwxr-xr-x. 2 root root 1 May 26 13:44 dir2
[root@client mfs]# mfsgetgoal dir1/  查看子目录备份数量
dir1/: 2 表示此目录的文件将在server2/3这两个chunkserver上个备份一份数据,一共两份
[root@client mfs]# mfsgetgoal dir2/
dir2/: 2  同上
更改备份数量,使dir1这个目录只有一份数据
[root@client mfs]# mfssetgoal -r 1 dir1  减一
dir1:
 inodes with goal changed:                       1
 inodes with goal not changed:                   0
 inodes with permission denied:                  0
[root@client mfs]# mfsgetgoal dir1/ 再次查看只有一个备份
dir1/: 1

在这里插入图片描述测试关闭server3的chunkserver

[root@server3 mnt]# systemctl stop moosefs-chunkserver

在这里插入图片描述
dir2的文件还是可以正常查看,dir1的文件已经不能查看,开启server3的chunkserver则正常查看

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值