MogileFS 与 FastDFS 的个人见解
六月 9, 2013
1 条评论
MogileFS & FastDFS 为两个开源分布式文件系统,都主要适用于互联网文件共享,上传,下载等
功能,主要用于多上传和下载,不经常修改的操作。M 和 F 部署架构都比较类似,设计中都避免的
cluster 中某一个环节的单点问题。
MogileFS
————————-
官网:https://code.google.com/p/mogilefs/
基本架构:TrackerServer(Tracker + DataBase) + StorageServer
[ Mogilefs 的组成部分 ]
1. 数据库(MySQL)部分
你可以用 mogdbsetup 程序来初始化数据库。数据库保存了 Mogilefs 的所有元数据,你可以单独
拿数据库服务器来做,也可以跟其他程序跑在一起,数据库 部分非常重要,类似邮件系统的认证中
心那么重要,如果这儿挂了,那么整个 Mogilefs 将处于不可用状态。因此最好是 HA 结构。
2. storageServer(存储节点)
mogstored 程序的启动将使本机成为一个存储节点。启动时默认去
读/etc/mogilefs/mogstored.conf ,具体配置可以参考配置部分。mogstored 启动后,便可以通
过 mogadm 增加这台机器到 cluster 中。一台机器可以只运行一个 mogstored 作为存储节点即可,
也可以同时运行其他程序。
3. trackersServer(跟踪器)
mogilefsd 即 trackers 程序,类似 mogilefs 的 wiki 上介绍的,trackers 做了很多工作,
Replication ,Deletion,Query,Reaper,Monitor 等等。mogadm,mogtool 的所有操作都
要跟 trackers 打交 道,Client 的一些操作也需要定义好 trackers,因此最好同时运行多个
trackers 来做负载均衡。trackers 也可以只运行在一台机器 上,也可以跟其他程序运行在一起,
只要你配置好他的配置文件即可,默认在/etc/mogilefs/mogilefsd.conf。
4. 工具
主要就是 mogadm,mogtool 这两个工具了,用来在命令行下控制整个 mogilefs 系统以及查看状
态等等。
如果使用其他语言调用接口,需要二次开发。
5. Client
Client 实际上是一个 Perl 的 pm,可以写程序调用该 pm 来使用 mogilefs 系统,对整个系统进行
读写操作。
[ 逻辑原理 ]