mfs分布式存储搭建与应用

实验名称:搭建mfs分布式存储

MFS的特点(我这里简单介绍一下): MooseFS[MFS]是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。
MFS的特征
1:层析结构(目录树)
2:存储文件属性(权限,访问和修改时间)
3:支持特殊文件(块设备,字符设备,管道)
4:支持符号链接,软硬链接
5:对文件系统访问可以通过IP地址或者密码进行访问限制
6:高可靠(数据的多个备份存储在不同的计算机上)
7:通过附加新的计算机或者硬盘可以实现容量的动态拓展
8:删除文件可以根据一个可配置的时间周期进行保留
9:不受访问和写入影响的文件连贯快照
应用场景
谈及MooseFS的应用场景,其实就是去谈分布式文件系统的应用场景。
1)大规模高并发的数据存储及访问(小文件、大文件),
2)大规模的数据处理,如日志分析

实验结构:在这里插入图片描述
软件包:链接:https://pan.baidu.com/s/1Q1nCI3qTVMKDPX21cOduVQ
提取码:rqf0

实验步骤:

更改主机名:hostnamectl set-hostname master && bash…
三台同时上传软件包:rz
查看:ls
在这里插入图片描述
配置yum源(省略),安装依赖环境:yum install -y rpm-build gcc gcc-c++ fuse-devel zlib-devel
创建用户:useradd -s /sbin/nologin mfs
完毕后再master上操作
解压后进入解压目录:unzip moosefs-master.zip && cd moosefs-master
编译软件包:./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
[root@master moosefs-master]# make -j 4 && make install
查看生成的目录文件:cd /usr/local/mfs/etc/mfs/ && ll在这里插入图片描述

备份文件:

[root@master mfs]# cp mfsmaster.cfg.sample mfsmaster.cfg
[root@master mfs]# cp mfsexports.cfg.sample mfsexports.cfg
[root@master mfs]# cp mfsmetalogger.cfg.sample mfsmetalogger.cfg
[root@master mfs]# cd /usr/local/mfs/var/mfs/ && cp metadata.mfs.empty metadata.mfs

给目录添加权限:[root@master mfs]# chown -R mfs:mfs /usr/local/mfs/
启动服务:[root@master mfs]# /usr/local/mfs/sbin/mfsmaster start
查看端口:
在这里插入图片描述

设置开机自启:
[root@master mfs]# vim /etc/rc.local

 添加这行:/usr/local/mfs/sbin/mfsmaster start

给权限:[root@master mfs]# chmod +x !$ 注:!$ 的意思是进入上一条命令的最后一个参数
查看生成的日志: ll /usr/local/mfs/var/mfs
指定共享的主机权限:[root@master mfs]# cd /usr/local/mfs/etc/mfs/ && vim mfsexports.cfg
添加主机,网段:在这里插入图片描述

启动服务:[root@master mfs]# sh /etc/rc.local
安装MFS元数据日志服务器
回/root/下:cd
进入目录编译安装:

[root@master ~]#  cd moosefs-master && ./configure --prefix=/usr/local/mfsmeta --with-default-user=mfs --with-default-group=mfs
[root@master moosefs-master]# make && make install

查看生成的配置文件并备份更改:

[root@master moosefs-master]# cd /usr/local/mfsmeta/etc/mfs/ && cp mfsmetalogger.cfg.sample mfsmetalogger.cfg
[root@master mfs]# vim !$  注:!$ 的意思是进入上一条命令的最后一个参数

在这里插入图片描述

给权限:[root@master mfs]#  chown -R mfs:mfs /usr/local/mfsmeta/
启动服务:[root@master mfs]#  /usr/local/mfsmeta/sbin/mfsmetalogger start
设置开机自启:echo "/usr/local/mfsmeta/sbin/mfsmetalogger start" >> /etc/rc.local
关闭元数据日志服务:/usr/local/mfsmeta/sbin/mfsmetalogger stop
在开启查看端口:/usr/local/mfsmeta/sbin/mfsmetalogger start && netstat -anput | grep 9419

在这里插入图片描述

有端口以后 master上就完成了,现在去**slave1**上配置
创建用户:[root@slave1 ~]# useradd -M -s /sbin/nologin mfs
安装依赖环境:[root@slave1 ~]# yum install -y rpm-build gcc gcc-c++ fuse-devel zlib-devel

解压软件包:[root@slave1 ~]# unzip moosefs-master.zip
进入生成文件编译安装:

[root@slave1 ~]# cd moosefs-master &&  ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
make && make install

进入生成的配置文件并修改:

[root@slave1 moosefs-master]# cd /usr/local/mfs/etc/mfs/ && cp mfschunkserver.cfg.sample mfschunkserver.cfg
[root@slave1 mfs]# cp mfshdd.cfg.sample mfshdd.cfg
[root@slave1 mfs]# vim !$  注:!$ 的意思是进入上一条命令的最后一个参数

在这里插入图片描述

[root@slave1 mfs]# vim mfschunkserver.cfg
指定主服务器ip、端口:在这里插入图片描述

给目录添加权限:[root@slave1 mfs]# chown -R mfs:mfs /usr/local/mfs/
启动服务:[root@slave1 mfs]#  /usr/local/mfs/sbin/mfschunkserver start
设置开机自启:[root@slave1 ~]# vim /etc/rc.local
/usr/local/mfs/sbin/mfschunkserver start (添加这句,保存退出)
添加权限:[root@slave1 ~]# chmod +x !$

查看数据:在这里插入图片描述

然后去**slave2** 上配置

解压软件包并进入目录:[root@slave2 ~]#  unzip moosefs-master.zip && cd moosefs-master
编译安装:[root@slave2 moosefs-master]#  ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount  (因为是客户端,所以必须有这个)
make -j 4 && make install
创建一个新目录一会要用:mkdir  /mfs

加载模块:在这里插入图片描述

创建软连接:[root@slave2 moosefs-master]# ln -s /usr/local/mfs/bin/mfsmount /usr/bin/mfsmount
将刚刚创建的新目录挂载到存储空间:[root@slave2 ~]# mfsmount /mfs -H192.168.100.101
查看:在这里插入图片描述

添加开机自启:[root@slave2 ~]# vim /etc/rc.local在这里插入图片描述

给权限:[root@slave2 ~]# chmod +x !$
然后回到slave1上安装一个tree工具:[root@slave1 ~]# yum install -y tree
用tree查看目录:在这里插入图片描述

去slave2上往/tmp中添加一些信息:在这里插入图片描述

再回slave1上查看:在这里插入图片描述

多了两个文件

然后回到master上启动服务:root@master mfs]# /usr/local/mfs/sbin/mfscgiserv start
用浏览器访问:

  • http://192.168.100.101:9425/mfs.cgi

在这里插入图片描述

可以登陆上去查看
现在设置密码:
**Master**上
[root@master mfs]# cd /usr/local/mfs/etc/mfs/ && vim mfsexports.cfg在这里插入图片描述

重启master服务:

[root@master mfs]#  /usr/local/mfs/sbin/mfsmaster  restart
去slave2上重新挂载:

在这里插入图片描述
查看:在这里插入图片描述

新加一台主机(这里就用slave2了)
更改配置文件:

[root@slave2 ~]# cd /usr/local/mfs/etc/mfs/ && cp mfschunkserver.cfg.sample mfschunkserver.cfg
[root@slave2 mfs]# vim !$

在这里插入图片描述

[root@slave2 mfs]# cp mfshdd.cfg.sample mfshdd.cfg
[root@slave2 mfs]# vim !$

在这里插入图片描述

给权限:[root@slave2 mfs]#  chown -R mfs:mfs /usr/local/mfs/
启动mfschunkserver:[root@slave2 mfs]#  /usr/local/mfs/sbin/mfschunkserver start
安装tree工具:[root@slave2 mfs]# yum install -y tree
去master上重启服务:/usr/local/mfs/sbin/mfsmaster restart
[root@master mfs]# /usr/local/mfsmeta/sbin/mfsmetalogger restart

去slave2上查看:在这里插入图片描述在这里插入图片描述文件号变了。
看到数据碎片增加
去网站上查看server:

现在已经有两个主机了。
在这里插入图片描述

设置复制的份数:在这里插入图片描述
查看复制份数:
在这里插入图片描述
查看文件保存位置:[root@localhost bin]# ./mfsfileinfo /abc/passwd
在这里插入图片描述
故障测试: 关闭slave1的服务

[root@slave1 ~]#  /usr/local/mfs/sbin/mfschunkserver stop

去slave2上写入东西,
在这里插入图片描述

可以写入,成功!
再去网页上查看 还有几台server
在这里插入图片描述
Server 192.168.100.102 已经关闭啦。

如有不懂或建议请私信我qq:34997003 欢迎交流(加好友表明来意)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值