Chinaunix首页 | 论坛 | 博客
  • 博客访问: 361552
  • 博文数量: 45
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 885
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-06 21:07
个人简介

做好自己,不卑不亢,持之以恒!!

文章分类

全部博文(45)

分类: 服务器与存储

2015-07-23 18:45:22

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 客户端向元数据服务器发出请求
2 元数据服务器把所需数据存放的位置(Chunkserver 的ip 地址和chunk编号)告知客户端
3 客户端向已知的chunkserver请求发送数据。
4 chunkserver向客户端发送数据


MFS写处理过程:
1 客户端向元数据服务发送写请求
2 元数据服务器与chunkserver进行交互(只有当所需的分块chunks存在的时候才进行这个交互)
 a 元数据服务器只是在某些服务器创建新的分块chunks
 b chunk server告知元数据服务器,步骤a已创建成功
3 元数据服务器告知客户端,你可以在那个chunkserver的那些chunks写入数据
4 客户端向指定的chunkservr写数据
5 chunkserver 与其他chunkserver进行数据同步
6 chunkserver 之间同步成功
7 chunkserver告知客户端写入成功
8 客户端告知元数据服务器本次写入完毕


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


阅读(3557) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~