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





相关文章
|
1天前
|
Ubuntu Linux 编译器
【Linux】详解动静态库的制作和使用&&动静态库在系统中的配置步骤
【Linux】详解动静态库的制作和使用&&动静态库在系统中的配置步骤
单向/双向V2G环境下分布式电源与电动汽车充电站联合配置方法(matlab代码)
单向/双向V2G环境下分布式电源与电动汽车充电站联合配置方法(matlab代码)
|
3天前
|
调度
考虑充电负荷空间可调度特性的分布式电源与电动汽车充电站联合配置方法(matlab代码)
考虑充电负荷空间可调度特性的分布式电源与电动汽车充电站联合配置方法(matlab代码)
|
3天前
|
Unix Shell Linux
在 Linux 上把 Vim 配置为默认编辑器
在 Linux 上把 Vim 配置为默认编辑器
|
3天前
|
安全
考虑极端天气线路脆弱性的配电网分布式电源和储能优化配置模型
考虑极端天气线路脆弱性的配电网分布式电源和储能优化配置模型
|
3天前
|
调度
互动环境下分布式电源与电动汽车充电站的优化配置方法研究-全文复现matlab
互动环境下分布式电源与电动汽车充电站的优化配置方法研究-全文复现matlab
|
4天前
|
存储 Web App开发 Ubuntu
整理16款适用于较旧低配置电脑的最佳Linux发行版
在本指南中,趣云笔记(https://www.ecscoupon.com/)介绍了一些最好的Linux发行版,你可以将它们安装在旧PC上并为其注入新的活力。
21 0
|
4天前
|
Linux 数据安全/隐私保护
Linux 读写权限的配置
Linux 读写权限的配置
11 0
|
5天前
|
Web App开发 安全 Unix
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
|
5天前
|
网络协议 Linux 开发工具
Linux中 /etc/sysconfig/network-scripts/ifcfg-<interface> 网络接口配置 详解 看这一篇够用
Linux中 /etc/sysconfig/network-scripts/ifcfg-<interface> 网络接口配置 详解 看这一篇够用