mfs

什么是MFS文件系统:
MooseFS是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。
MooseFS文件系统结构包括一下四种角色:

1.管理服务器master
管理服务器:负责各个数据存储服务的管理文件读写调度,文件空间回收以及恢复,多节点拷贝
2.元数据日志服务器:
负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在master server
出现问题的时候解体器 进行工作
3.数据存储服务器data server(chunk servers)
真正存储用户数据的服务器存储文件时,首先把文件分成块,然后这些块在数据服务器chunkserver之间
赋值(复制份数可以手工指定,建议设置副本数为数据服务器可以为多个,并且数据越多,可使用的“磁盘
空间越大,”可靠性也越高
4.客户端挂在 使用clinet computers
使用MFS文件系统来存储和访问的主机名称为MFS的客户端,成功挂载MFS系统以后,就可以像以前NFS一样共享这个虚拟性的存储了。

实验环境:

172.25.20.1  server1

172.25.20.2  server2

172.25.20.3  server3

MFS文件系统的配置:
1.在server1安装master和web图形界面

[root@server1 ~]# cd 3.0.97/
[root@server1 3.0.97]# ls
[root@server1 3.0.97]# yum install -y moosefs-cgi-3.0.97-1.rhsysv.x86_64.rpm 
moosefs-cgiserv-3.0.97-1.rhsysv.x86_64.rpm moosefs-master-3.0.97-1.rhsysv.x86_64.rpm 

2.做主节点解析(这个非常重要,一定要做)

[root@server1 3.0.97]# vim /etc/hosts    ##给server1添加mfsmaster解析
172.25.20.1     server1     mfsmaster    # 表明server1是master的身份 master上是存储的元数据
172.25.20.2     server2
172.25.20.3     server3

3.打开服务

[root@server1 mfs]# /etc/init.d/moosefs-master start
[root@server1 mfs]# netstat -antlp    ##9419 9420 9421端口全开

4.打开图形处理工具

[root@server1 3.0.97]# /etc/init.d/moosefs-cgiserv start

查看端口netstat -antlp   ##9425开启

在server2和server3:

1.安装MFS的客户端软件

[root@server3 ~]# yum install -y moosefs-chunkserver-3.0.97-1.rhsysv.x86_64.rpm 
[root@server2 ~]# yum install -y moosefs-chunkserver-3.0.97-1.rhsysv.x86_64.rpm 

2.编辑解析文件

[root@server3 ~]# vim /etc/hosts
[root@server2 ~]# vim /etc/hosts
  172.25.20.1      server1 mfsmaster

3.修改该挂载目录的所有人和所有组,这样才可以在目录中进行读写操作 。打开服务

[root@server2 mfs]# mkdir /mnt/chunk1
[root@server2 mfs]# cd /mnt
[root@server2 mnt]# chown mfs.mfs chunk1/
[rot@server2 mnt]# cd /etc/mfs/
[root@server2 mfs]# vim mfshdd.cfg
  /mnt/chunk1    ##最后一行写入挂载点
[root@server2 mfs]# /etc/init.d/moosefs-chunkserver start
[root@server3 ~]# mkdir /mnt/chunk2
[root@server3 ~]# cd /mnt
[root@server3 ~]# chown mfs.mfs /mnt/chunk2
[root@server3 ~]# vim /etc/mfs/mfshdd.cfg
  /mnt/chunk2    ##最后一行写入挂载点
[root@server3 ~]# /etc/init.d/moosefs-chunkserver start

在物理机上:

1.安装客户端软件

[root@foundation20 Desktop]# rpm -qa|grep moosefs
moosefs-client-3.0.97-1.rhsystemd.x86_64    ##如果没有安装则执行以下安装步骤
yum install moosefs-client-3.0.97-1.rhsystemd.x86_64.rpm

2.编辑解析文件

[root@foundation20 Desktop]# vim /etc/hosts
172.25.45.1 server1 mfsmaster

(这个解析特别重要,是确定server1的master位置,而且客户端在访问其中的数据时候,是先来master端取得存储数据得元数据,再去server2或server3上取数据)

3.创建在真机挂载数据的目录并编辑配置文件

[root@foundation20 mfs]# mkdir /mnt/mfs
[root@foundation20 mfs]# cd /etc/mfs
[root@foundation20 mfs]# vim mfsmount.cfg
       /mnt/mfs

4.客户端挂载文件系统

[root@foundation20 ~]# mfsmount          挂载
[root@foundation20 ~]# df                查看是否挂载上
[root@foundation20 ~]# cd /mnt/mfs/
[root@foundation20 mfs]# mkdir dir1 dir2   在该目录下建立目录
[root@foundation20 mfs]# mfsgetgoal dir1/  查看该目录中的文件存储的份数
[root@foundation20 mfs]# mfsgetgoal dir2/

如果出现这种问题,先退出这个目录,再进去看,重新建立文件,重新执行

5. 修改dir1的文件备份份数为1(为了做实验对比)

[root@foundation20 mfs]# mfssetgoal -r 1 dir1 
[root@foundation20 mfs]# mfsgetgoal dir1
dir1: 1
[root@foundation20 mfs]# mfsgetgoal dir2
dir2: 2
[root@foundation20 mfs]# cd dir1/
[root@foundation20 dir1]# cp /etc/passwd .
[root@foundation20 dir1]# mfsfileinfo passwd
[root@foundation20 dir1]# cd ..
[root@foundation20 mfs]# cd dir2/
[root@foundation20 dir2]# ls
[root@foundation20 dir2]# cp /etc/fstab .
[root@foundation20 dir2]# ls
fstab
[root@foundation20 dir2]# mfsfileinfo fstab 

在浏览器中查看:172.25.45.1:9425

6.1)测试:

[root@foundation20 ~]# cd /mnt/mfs/dir1/
[root@foundation20 dir1]# dd if=/dev/zero of=bigfile bs=1M count=100
[root@foundation20 dir1]# mfsfileinfo bigfile 
[root@foundation20 dir1]# mfsgettrashtime passwd
[root@foundation20 dir1]# rm -f passwd 

 

2).数据恢复
在/mnt下建立目录mfsmeta

[root@foundation20 dir1]# cd /mnt/
[root@foundation20 mnt]# mkdir mfsmeta
[root@foundation20 mnt]# mfsmount -m /mnt/mfsmeta/
mfsmaster accepted connection with parameters: read-write,restricted_ip
[root@foundation20 mnt]# mount

在该目录下查看是否有trash(如果没有,退出当前目录,再进来查看)

[root@foundation20 mnt]# cd mfsmeta/
[root@foundation20 mfsmeta]# ls
sustained  trash
[root@foundation20 mfsmeta]# cd trash/
[root@foundation20 trash]# ls

[root@foundation20 trash]# find -name *passwd*
[root@foundation20 trash]# cd ./006/
[root@foundation20 006]# mv 00000006\|dir1\|passwd undel/
[root@foundation20 006]# cd /mnt/mfs/dir1/
[root@foundation20 dir1]# ls
bigfile  passwd

8.自动恢复moosefs-master异常
第一种方法:在server1上修改脚本

[root@server1 ~]# /etc/init.d/moosefs-master start 
[root@server1 ~]# vim /etc/init.d/moosefs-master 
31 $prog start >/dev/null 2>&1 || $prog -a >/dev/null 2>&1 && success 
 #异常关闭moosefs-master时,脚本会自动恢复正常并且开启master

测试:
在不正常情况下关闭moosefs-master

[root@server1 ~]# ps ax
[root@server1 ~]# kill -9  1606    #结束进程

此时开启moosefs-master时不会报错
第二种方法:将mnt目录下的metadata.mfs文件重命名为以.back结尾的文件。即可启动服务

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值