MFS分布式文件系统的部署

MFS分布式文件系统的部署

关于MFS的简介详见:https://blog.csdn.net/hetoto/article/details/91894791
1.实验环境

rhel7.3 firewalld is disabled

主机名IP服务
server1172.25.12.1master
server2172.25.12.2chunk server
server3172.25.12.3chunk server
foundation12172.25.12.250client

部署如下:
官网下载需要的相关安装包
在这里插入图片描述
server1(master)的部署:

1.安装master和管理的web图形界面

[root@server1 3.0.103]# yum install -y 
moosefs-master-3.0.103-1.rhsystemd.x86_64.rpm 
moosefs-cli-3.0.103-1.rhsystemd.x86_64.rpm 
moosefs-cgiserv-3.0.103-1.rhsystemd.x86_64.rpm 
moosefs-cgi-3.0.103-1.rhsystemd.x86_64.rpm

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 安装完成之后会产生/etc/mfs目录里面是mfs文件系统的相关配置文件

在这里插入图片描述
注:在该目录下的mfsmaster.cfg的文件中记录了如果进行部署及其使用都需要在各个节点写入mfsmaster的解析

2.主节点解析
在这里插入图片描述
在这里插入图片描述

[root@server1 mfs]# vim /etc/hosts
文件编辑如下:
172.25.12.1   server1  mfsmaster

在这里插入图片描述
3.开启服务查看节点
端口解析:

  • 9419:metalogger监听的端口地址,和原数据日志相结合,定期和master端同步数据
  • 9420:用于和chunkserver连接的端口地址,通信节点
  • 9421:用于客户端对外连接的点口地址
    在这里插入图片描述
    在这里插入图片描述
    4.打开cgi图形化管理工具并且进行查看
    在这里插入图片描述
  • 浏览器访问查看:
    172.25.12.1:9425/mfs.cgi
    在这里插入图片描述

从节点server2(chunk server)的部署:

1.安装chunkserver
在这里插入图片描述
2.添加mfsmaster的解析

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

在这里插入图片描述
3.给server2上添加一块硬盘用于mfs的数据节点的操作
在这里插入图片描述
添加完成之后查看:
在这里插入图片描述
4.创建分区并且格式化
在这里插入图片描述
注:分区时建议只分区一块将将内存全给/dev/vda即可,即使在数据丢失时亚能通过分区的Start和End的字节数来恢复数据,但是如果分区多的话每个分区的Start和End的字节数都不相同,如果数据出现问题就很难恢复了

  • 格式化:
    在这里插入图片描述

4.创建用于挂载格式化分区的目录挂载分区,并且在里面写入数据
在这里插入图片描述

  • 模拟分区破坏后的数据恢复:

先卸载,再破坏分区,再次挂载时发现分区不存在,那就相当于数据就丢失了:
在这里插入图片描述
在这里插入图片描述

  • 恢复如下:

重新对/dev/vda进行分区划分
在这里插入图片描述

不用对其格式化直接挂载就可以了然后挂载完成后发现数据恢复:
在这里插入图片描述
这就是上述强调的为什么只创建一个分区然后把所有内存都加给该分区,就是在进行数据恢复时创建分区时只是创建一个分区,好恢复

5.编辑chunkserver的相应配置文件添加共享data的挂载路径

在这里插入图片描述
在文件最后添加:
在这里插入图片描述
6.在相应配置完成后在/etc/passwd会自动生成mfs用户,因此需要对共享的挂载修改所属用户和所属组,方便使用及其管理

在这里插入图片描述
注意:必须是先挂载然后再修改所属用户和所属组

7.开启服务查看端口
在这里插入图片描述
8.在u浏览器上再次刷新查看发现server2已经添加
在这里插入图片描述
从节点server3(chunk server)的配置:

1.安装chunkserver软件
在这里插入图片描述
2.添加mfsmaster解析

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

在这里插入图片描述
3.建立挂载点的目录,修改用户和组,如果不挂载相应分区的话默认是将根分区进行挂载的,这在企业中是不安全的
在这里插入图片描述
4.编辑chunkserver的配置文件添加挂载路径
在这里插入图片描述
在这里插入图片描述
5.开启服务查看端口
在这里插入图片描述
6.在浏览器上刷新查看发现server3已经添加

在这里插入图片描述

客户端的搭建及其测试:

1.在客户端安装moosefs-clisent软件
在这里插入图片描述
2.添加mfsmaster的解析
在这里插入图片描述
在这里插入图片描述
3.创建真机挂载的数据的目录并且编辑配置文件添加挂载目录

[root@foundation12 mfs]# mkdir /mnt/mfs
[root@foundation12 mfs]# vim /etc/mfs/mfsmount.cfg
 16 /mnt/mfs

在这里插入图片描述
在这里插入图片描述
4.客户端挂载文件系统

在这里插入图片描述
5.在挂载客户端下创建目录并且查看相应信息

[root@foundation12 mfs]# pwd
/mnt/mfs
[root@foundation12 mfs]# mkdir dir1
[root@foundation12 mfs]# mkdir dir2
[root@foundation12 mfs]# mfsgetgoal dir1/
dir1/: 2
[root@foundation12 mfs]# mfsgetgoal dir2/
dir2/: 2    ##默认会分别在俩个chunkserver上备份数据

在这里插入图片描述
6.客户端数据备份份数测试:

  • 指定挂载目录下的dir1的目录中文件备份为1
    在这里插入图片描述

在这里插入图片描述

  • 在/mnt/mfs中的dir1和dir2的目录下存储文件并且查看文件信息
    在这里插入图片描述
  • 关掉只备份1分的dir1目录下的chunserver,即server3

在这里插入图片描述

  • 再次查看发现dir1下只备份1分的数据丢失,而在dir2上是在俩个chunkserver上都有备份,所以数据没有丢失

在这里插入图片描述
注:因为存储passwd的chunkserver已经挂掉,所以此时已经查不到passwd的相关数据,如果此时要打开该文件电脑会卡住,因为数据已经不再这个主机上存储

7.客户端离散存储的测试
默认chunkserver对数据的备份是按块来备份的,每一块备份50KB

  • 在dir1目录下:

在这里插入图片描述

  • 在dir2目录下:

在这里插入图片描述

  • 关掉server3上的chunkserver发现在dir1目录下只备份一个chunkserver上的会有数据丢失,而在dir2目录下没有数据丢失
    在这里插入图片描述

mosefs-master的服务开启及关闭:

1.正常的开启与关闭,在/var/lib/mfs目录下的记录mfs信息的文件及master的信息记录的文件 metadata.mfs.back 会变为metadata.mfs
在这里插入图片描述
2.kill强制关闭服务后 metadata.mfs.back文件不会发生改变并且使用systemctl命令是无法再次启动服务的

在这里插入图片描述

在这里插入图片描述解决如下:

  • 查看服务状态会显示使用mfsmaster start -a 成功开启

在这里插入图片描述
恢复systemctl 启动服务需要进行如下操作

[root@server1 mfs]# vim /usr/lib/systemd/system/moosefs-master.service 
文件编辑内容:
 8 ExecStart=/usr/sbin/mfsmaster -a

//杀掉mfsmaster的进程在重新加载并开启服务
[root@server1 mfs]# ps ax
进程信息如下:
1017 ?        S<     0:00 mfsmaster start -a


[root@server1 mfs]# systemctl daemon-reload
[root@server1 mfs]# systemctl start moosefs-master

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

数据恢复:

1.删除数据
在这里插入图片描述
2.查看删除的数据在tarsh垃圾箱中停留的时间
在这里插入图片描述
3.恢复

//创建恢复数据的目录
[root@foundation12 mnt]# mkdir /mnt/mfsmeta
[root@foundation12 mnt]# cd mfsmeta/
//将目录挂载,然后在目录下会生成trash目录,该目录下有存放的已经删除的文件
[root@foundation12 mfsmeta]# mfsmount -m /mnt/mfsmeta/   ##挂载完成后用df命令是查看不到挂载状态的,使用mount命令就可以查看到挂载状态
mfsmaster accepted connection with parameters: read-write,restricted_ip
[root@foundation12 mfsmeta]# cd /mnt/mfsmeta/
[root@foundation12 mfsmeta]# ls
sustained  trash
[root@foundation12 trash]# ls

在这里插入图片描述

在这里插入图片描述
则数据恢复成功

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值