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

简介:

一、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,如需转载请自行联系原作者





相关文章
|
9月前
|
机器学习/深度学习 监控 算法
分布式光伏储能系统的优化配置方法(Matlab代码实现)
分布式光伏储能系统的优化配置方法(Matlab代码实现)
490 1
|
安全 Linux 数据安全/隐私保护
Red Hat Enterprise Linux 9.6 (x86_64, aarch64) - 红帽企业 Linux (RHEL)
Red Hat Enterprise Linux 9.6 (x86_64, aarch64) - 红帽企业 Linux (RHEL)
1432 36
Red Hat Enterprise Linux 9.6 (x86_64, aarch64) - 红帽企业 Linux (RHEL)
|
10月前
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
8月前
|
存储 Linux 开发工具
Linux环境下使用Buildroot配置软件包
使用Buildroot可以大大简化嵌入式Linux系统的开发和维护工作,但它需要对Linux系统和交叉编译有深入的理解。通过上述步骤,可以有效地配置和定制软件包,为特定的嵌入式应用构建高效、稳定的系统。
926 11
|
8月前
|
编解码 运维 算法
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
693 12
|
安全 Unix Linux
Veritas NetBackup 11 for Linux & Windows - 领先的企业备份和恢复解决方案
Veritas NetBackup 11 for Linux & Windows - 领先的企业备份和恢复解决方案
609 0
Veritas NetBackup 11 for Linux & Windows - 领先的企业备份和恢复解决方案
|
安全 网络安全 数据库
YashanDB分布式节点间SSL连接配置
本文介绍YashanDB分布式节点间SSL连接配置方法,确保通信安全。需统一为整个集群配置SSL,使用相同根证书签名的服务器证书,否则可能导致连接失败或数据库无法启动。文章详细说明了使用OpenSSL生成根证书、服务器私钥、证书及DH文件的步骤,并指导如何将证书分发至各节点。最后,通过配置数据库参数(如`din_ssl_enable`)并重启集群完成设置。注意,证书过期需重新生成以保障安全性。
|
11月前
|
Kubernetes Linux 网络安全
Rocky Linux 8.9配置Kubernetes集群详解,适用于CentOS环境
初始化成功后,记录下显示的 `kubeadm join`命令。
776 0
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
696 11
|
人工智能 安全 Linux
Red Hat Enterprise Linux 10 正式版发布 - 红帽企业 Linux (RHEL)
Red Hat Enterprise Linux 10 正式版发布 - 红帽企业 Linux (RHEL)
1599 0
Red Hat Enterprise Linux 10 正式版发布 - 红帽企业 Linux (RHEL)