码迷,mamicode.com
首页 > 其他好文 > 详细

MogileFS

时间:2016-04-15 14:12:39      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:分部式文件系统

什么是分布式文件系统?

什么是分布式文件系统(Distributed File System)?顾名思义,就是分布式+文件系统。它包含了2方面,从文件系统的客户端的角度来看,他就是一个标准的文件系统,提供了API,由此可以进行文件的创建、删除、读写等操作;从内部来看的话,分布式文件系统则与普通的文件系统不同,它不在是本地的磁盘中,它的内容和目录都不是存储在本地磁盘中,而是通过网络传输到远程主机上,并且同一个文件存储在不只一台远程主机中,而是在一簇主机中进行分布式存储,协同提供服务。

常见的分布式文件系统

      GFS :Google File System

      HDFS:适合存储大文件;

      TFS:在名称节点上将元数据存储于关系型数据中,文件数量不再受限于名称节点的内存空间;可以存储海量小文件;

      Lustre: 企业级应用,重量级;

      GlusterFS: 适用于存储少量大文件 ,流媒体,云

      MooseFS: 通用简便,适用于存储小文件,大文件也不错

      Mogilefs: 使用Perl语言,FastDFS

      FastDFS:在内存中存储

      Ceph:内核级别,支持PB级别存储

MogileFS

  MogileFS是一个开源的分布式文件存储系统,由LiveJournal旗下的DangaInteractive公司开发。Danga团队开发了包括Memcached、MogileFS、Perlbal等多个知名的开源项目。目前使用MogileFS的公司非常多,如日本排名先前的几个互联公司及国内的yupoo(又拍)、digg、豆瓣、1号店、大众点评、搜狗和安居客等,分别为所在的组织或公司管理着海量的图片。

MogileFS:3 个重要组成

tracker:追踪原数据

database :存储元单元

storage:存储数据

     tracker:

           tracker(跟踪器) MogileFS的核心,是一个高度器,服务进程为mogilefsd。mogadm,mogtool的所有操作都要跟trackers打交道,Client的一些操作也需要定义好tracker,因此最好同时运行多个tracker来做负载均衡。

        database : 

             使用mogdbsetup程序来初始化数据库。数据库保存了Mogilefs的所有元数据,因此数据库部分非常重要,如果这儿挂了,那么整个Mogilefs将处于不可用状态。所以最好是HA结构。

       storage:

             mogstored(进程名),一个准备停当的mogstored节点可通过mogadm命令添加到现在现在集群中,存储节点需定义“设备(dev)用做存储空间”,每个“设备”在当前集群都需要通过一个惟一的设备ID(DevID)来识别

       client:客户端用与mogilefs建立通讯,完成数据存取。


特性:(1) 工作在应用层

          (2)无单点故障

          (3)自动完成文件复制,复制的最小单位不是文件,而class,也就是是把需要的冗余的文件组成了一块了,而这一块就是class

          (4)传输无需特殊协议

          (5)名称空间

           (6)不共享任何数据,只通过数据副本做冗余

           (7)简单的命名空间:用于domain定义名称空间(相当一个目录), 每个文件对应一个key,同一个domain内key是唯一的。

            (8) 定位文件时,在domain,定位文件的id号。

本文出自 “centos6 运维学习” 博客,请务必保留此出处http://wskfnso.blog.51cto.com/4025557/1764126

MogileFS

标签:分部式文件系统

原文地址:http://wskfnso.blog.51cto.com/4025557/1764126

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!