一、MFS安装部署

MooseFS是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。

配置环境

172.25.77.250  mfsclient

172.25.77.1   mfsmaster

172.25.77.2和172.25.77.3  mfschunkserver

1、采用源码包安装方式

用rpmbuild创建二进制软件包和源码软件包

安装所需的依赖性包

MFS(文件系统)

MFS(文件系统)


2、master端安装如图软件包:

moosefs-cgiserv 是mfs的web监控页面

MFS(文件系统)

做本地解析,指定mfsmaster

MFS(文件系统)

开启master端,metadata.mfs会变成metdata.mfs.back并会生成changelog.0.mfs

MFS(文件系统)

执行mfscgiserv开启mfs的web服务,并可以在网页查看文件系统的信息:

MFS(文件系统)MFS(文件系统)

开启的端口信息如下:

9422:chunkserver连接client
9421:master连接client
9420:master连接chunkserver

9425:mfs的web页面访问接口



2、在数据存储端chunk)安装包如图:

MFS(文件系统)

安装完成后,编辑配置文件,打开并建立存储目录,并修改其所有人和所有组为mfs

MFS(文件系统)MFS(文件系统)

MFS(文件系统)

并加入本地解析指定mfsmaster

MFS(文件系统)


完成后执行mfschunkserver开启chunk服务

MFS(文件系统)


这里我用两台机器做chunk相同的操作,完成后可以在网页查看其状态信息,如图

MFS(文件系统)


3、在172.25.77.250安装mfsclient,并编辑启配置文件,指定并建立mfs挂载目录

MFS(文件系统)

MFS(文件系统)

MFS(文件系统)

完成后执行mfsmount挂载查看

MFS(文件系统)

至此mfs各部分已经部署完毕


二、MFS的应用

1、测试

在mfs默认挂载目录下建立目录,查看其默认备份的份数,是两份,可以修改

MFS(文件系统)

将dir1目录设置备份份数为一份,操作如图

MFS(文件系统)

拷贝文件到目录下查看dir1目录是否是备份一份,dir2是两份

MFS(文件系统)MFS(文件系统)

假如将chunk端down掉,则clien端在其上将不能继续存储备份,chunk端恢复后可以继续存储

MFS(文件系统)

MFS(文件系统)


2、mfs是分布式存储

文件以chunk大小存储,每chunk最大为64M,小于64M的,该chunk的大小即为该文件大小,超过64M的文件将被切分存储到不同的数据存储节点。执行写数据时,是同时向每个数据存储节点去写入,这样加快了数据的写入速度;读取时,也从每个数据节点去读取。

MFS(文件系统)


3、mfs恢复删除的文件

先删除存储目录下的文件

这里mfsgettrashtime查看文件在垃圾箱的存放时间,文件在删除后不会立即删除,有一个隔离时间(默认是86400s,也就是一天)

MFS(文件系统)

建立并挂载MFSmeta文件系统(包含目录trash和trash/undel(用于获取文件)

MFS(文件系统)

找到要恢复的文件,移动到 undel目录下即可

MFS(文件系统)

查看即可

MFS(文件系统)


三、MFS的高可用

1、在开一台机器172.25.77.4

安装mfsmaster,同样配置

MFS(文件系统)

2、在172.25.77.2配置存储共享

在server2配置共享磁盘,并安装scsi

MFS(文件系统)

MFS(文件系统)

查看共享磁盘信息

MFS(文件系统)

编辑共享磁盘配置文件完成后开启服务

MFS(文件系统)

MFS(文件系统)

MFS(文件系统)

在server1和server5安装iscsi,同样操作

MFS(文件系统)MFS(文件系统)

server1主master登陆到共享磁盘

MFS(文件系统)

对此盘进行分区格式化

MFS(文件系统)

MFS(文件系统)

配置挂载共享目录

MFS(文件系统)

MFS(文件系统)

完成后卸挂载,在server4登陆磁盘并挂载查看共享目录

MFS(文件系统)

MFS(文件系统)

此时共享目录已经配置完毕

但是解析mfsmaster不会飘移,所以要用到vip

3、接下来我们在server1和server4安装部署pacemake和corosync(具体安装步骤在之前博客有详细叙述,这里就不赘述)

安装完成后,开启corosync服务,以插件形式运行pacemaker,pacemaker随着corosync的开启而开启

配置corosync

MFS(文件系统)

MFS(文件系统)MFS(文件系统)

完成后直接将配置文件发送到server4,两台机器在本地解析加入vip指定mfsmaster

MFS(文件系统)

完成可以查看集群

MFS(文件系统)

关闭stonith

MFS(文件系统)

加入vip

MFS(文件系统)

crm_mon监控查看vip的加入

MFS(文件系统)

忽略投票规则(不然一个节点down,整个服务宕机)

MFS(文件系统)

添加共享存储文件

MFS(文件系统)

添加mfs执行脚本文件,并将这三个放到一个组内,保持统一飘移

MFS(文件系统)

监控查看添加信息

MFS(文件系统)

查看有无fence_xvm,如果没有添加fence_xvm

用fence实现,避免master突然crash而down掉,此时因为已经添加了fence设备,将刚才关闭的stonith开启

MFS(文件系统)MFS(文件系统)

用172.25.77.250来控制,查看kek目录,将172.25.77.250的key发送到server1和server4的此目录下

MFS(文件系统)MFS(文件系统)

MFS(文件系统)

添加fence服务

MFS(文件系统)

完成后进行测试:

server1和serer4都开启mfsmaster服务,此时资源在server1上,我们将server1 down掉

MFS(文件系统)

通过监控发现资源成功转移到server4上

MFS(文件系统)

vip也在

MFS(文件系统)

测试数据的写入在出现down机的情况下,是否可以正常写入

在clien端dd写入一个bigfile,此时down掉server4,在cline端可以发现先卡了一下所后成功写入数据,实现了mfs的高可用

MFS(文件系统)

MFS(文件系统)

相关文章:

  • 2021-08-18
  • 2022-12-23
  • 2022-12-23
  • 2021-08-01
猜你喜欢
  • 2021-10-10
  • 2022-02-24
  • 2022-12-23
  • 2021-10-21
  • 2021-12-07
  • 2021-04-13
  • 2021-10-22
相关资源
相似解决方案