Linux的企业-分布式文件系统mfs(moosefs)搭建与配置

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介:

一、MFS 特性:
1. Free(GPL)
2. 通用文件系统,不需要修改上层应用就可以使用
3. 可以在线扩容,体系架构可伸缩性极强。
4. 部署简单。
5. 高可用,可设置任意的文件冗余程度(提供比 raid1+0 更高的冗余级别,而绝对不会影响读或写的性能,只会加速)
6. 可回收在指定时间内删除的文件( “ 回收站 ” 提供的是系统级别的服务,不怕误操作了,提供类似 oralce 的闪回等高级 dbms 的即时回滚特性)
7. 提供 netapp,emc,ibm 等商业存储的 snapshot 特性。(可以对整个文件甚至在正在写入的文件创建文件的快照)
8. google filesystem 的一个 c 实现。
9. 提供 web gui 监控接口。
10. 提高随机读或写的效率。
11. 提高海量小文件的读写效率。
可能的瓶颈:
1. master 本身的性能瓶颈。mfs 系统 master 存在单点故障如何解决?

moosefs+drbd+heartbeat来保证 master 单点问题?不过在使用过程中不可能完全不关机和间歇性的网络中断!
2. 体系架构存储文件总数的可遇见的上限。(mfs 把文件系统的结构缓存到 master 的内存中,文件越多,master 的内存消耗越大,8g 对应 2500w 的文件数,2 亿文件就得 64GB 内存 )。
master 服务器 CPU 负载取决于操作的次数,内存的使用取决于文件和文件夹的个数。


二、MFS 文件系统结构:
包含 4 种角色:
管理服务器 managing server (master)
元数据日志服务器 Metalogger server(Metalogger)
数据存储服务器 data servers (chunkservers)
客户机挂载使用 client computers

各种角色作用:
1. 管理服务器:负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复,多节点拷
贝。
2. 元数据日志服务器: 负责备份 master 服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在 master server 出问题的时候接替其进行工作。
3. 数据存储服务器:负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输。
4. 客户端:通过 fuse 内核接口挂接远程管理服务器上所管理的数据存储服务器,看起来共享的文件系统和本地 unix 文件系统使用一样的效果。

原始的读/写速度很明显是主要取决于所使用的硬盘的性能、网络的容量和拓扑结构的,使用的硬
盘和网络的吞吐量越好,整个系统的性能也就会越好


三.mfs的安装配置

1.配置环境

redhat6.5

servre1:master 172.25.50.1 mfsmaster

server2:chunk  172.25.50.2

server2:chunk  172.25.50.3

真机client:172.25.50.250


2.将mfs源码包变为rpm包安装

安装rpm-build软件

4a6a16f16ab64ea2ed080de35db9bd92.png

0cdbff0699c7f0f813de0f83482000ec.png


创建rpm包时需要的包依赖

00215ab01c1d53c257b7c650075ff9d9.png

c59661d09538e98fdb4e900c426d42b3.png

f131cc2fd7086eb1d86c09ff9ae59080.png


3.在server1上安装mfsmaster

ffda662c816a1722d0eb074c64aa9fff.png


4.使用mfs分布式文件系统需要做好解析

master端 设置为mfsmaster

1885ebf98d42ab2d20f5afebfb705ef6.png


5.mfsmaster端无需配置,直接启动

4dfc6a01d0507c47ef05bb2fd5dc3ef6.png


master端三个端口正常启动,cgi web图形端口已经打开

81886d86e6105fad6a27ed3527c55a0d.png


6.在客户端做好解析,网页访问

dc9742837c2231aff51e4a4febe403e5.png

c72108359b63027ca9d920ef7d7e0525.png


四.server2和server3配置chunk


1.server2安装chunk

安装包依赖

8af5a6214e208ac3a5e9de0f07665d14.png


2.server2配置解析

043deaf042686a42d81466fcd07ed8f1.png


3.配置共享点chunk1

权限限制,在启动chunk server前,需确保用户mfs有权限读写将要被挂载的分区

d5a8715f13153a3e7430075ffc2e12f3.png

59648adb072fd09dbaa2d032b19c2eea.png


4.启动chunk

c6e3df6e8b7dc7d3580072052595e098.png

查看数据

c2a5540acaa5469aefd3716ad67c4682.png



4.server3上的chunk配置和server2一样,共享点为chunk2

c23f01b5b25a0a4cacd4da758825c6c6.png

01123f270b926b1e6e8083df75e9d25e.png

715050df6e688f60c07a3f8763cfd5c4.png

d58492e1c1384fb3fbe7ef3dcd80275f.png


五.客户端连接

1.安装mfs 客户端软件,配置解析

766dc442838bd682472bff62a141c5fe.png


7ec67c167afc29cca21ef255a15700ca.png


2.创建挂载点并挂载mfsmount

d35e8957e3ecee655d09345817b38599.png


3. 在/mnt/mfs创建两个目录,并设置其文件存储份数

73441c5147886cdd7d1c4914aaa58237.png

将目录dir1的储存份数设置为1

61c009400d2fb0774729182dc5970590.png


4.测试

拷贝passwd文件,查看信息:

dir1一份 在server2上

dir2二份 在server2和server3上

0a171cb18b11db55d3bf712801f0327e.png


浏览器查看server2和server3

15d603ce905c8235e778be51cfbabd6a.png


注:关闭一个chunkserver2(172.25.50.2)后,dir1无法查看,因为只存了一份在sevrer2上,但dir2没有影响,因为存了2份,chunkserver2重新启动后,恢复正常。



5.恢复垃圾箱文件:

    误删:

    [root@foundtion50 mfs]# rm -fr /mnt/mfs/dir2/passwd

    [root@foundtion50 mfs]# mfsgettrashtime dir2    #查看垃圾箱中文件的保留时间
    dir2: 86400        ##86400s=1day
    [root@foundtion50 mfs]# mkdir /mnt/mfsdeta    #创建目录

    [root@foundtion50 ~]# ll -d /mnt/mfsdeta/
    drwxr-xr-x 2 root root 4096 Sep 19 18:40 /mnt/mfsdeta/
    [root@foundtion50 ~]# mfsmount -m /mnt/mfsdeta/    #挂载
    mfsmaster accepted connection with parameters: read-write,restricted_ip

     [root@foundtion50 ~]# cd /mnt/mfsdeta/
    [root@foundtion50 mfsdeta]# ls

    sustained  trash
    [root@foundtion50 mfsdeta]# cd trash/

    [root@foundtion50 trash]# find -type f
    ./004/00000004|dir2|passwd
    [root@foundtion50 trash]# mv ./004/00000004\|dir2\|fstab undel/    #恢复误删文件
    [root@foundtion50 trash]# ls /mnt/mfs/dir2/
    passwd







      本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1975415,如需转载请自行联系原作者





相关文章
|
13天前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
40 9
|
15天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
30 5
|
2月前
|
网络协议 安全 Linux
如何配置Linux端的ftp?
如何配置Linux端的ftp?
151 64
|
29天前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
48 2
|
1月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
313 3
|
1月前
|
监控 安全 网络协议
快速配置Linux云服务器
【10月更文挑战第3天】快速配置Linux云服务器
|
1月前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
48 1
|
2月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
2月前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
172 1
|
2月前
|
Ubuntu Linux
Linux服务器的自动启动可以在哪里进行配置?
Linux服务器的自动启动可以在哪里进行配置?
165 3
下一篇
无影云桌面