`

琐碎的学习——关于mogilefs分布式文件存储

阅读更多

mogilefs开源项目


  • Application level -- no special kernel modules required.
  • No single point of failure -- all three components of a MogileFS setup (storage nodes, trackers, and the tracker's database(s)) can be run on multiple machines, so there's no single point of failure. (you can run trackers on the same machines as storage nodes, too, so you don't need 4 machines...) A minimum of 2 machines is recommended.
  • Automatic file replication -- files, based on their "class", are automatically replicated between enough different storage nodes as to satisfy the minimum replica count as requested by their class. For instance, for a photo hosting site you can make original JPEGs have a minimum replica count of 3, but thumbnails and scaled versions only have a replica count of 1 or 2. If you lose the only copy of a thumbnail, the application can just rebuild it. In this way, MogileFS (without RAID) can save money on disks that would otherwise be storing multiple copies of data unnecessarily.
  • "Better than RAID" -- in a non-SAN RAID setup, the disks are redundant, but the host isn't. If you lose the entire machine, the files are inaccessible. MogileFS replicates the files between devices which are on different hosts, so files are always available.
  • Flat Namespace -- Files are identified by named keys in a flat, global namespace. You can create as many namespaces as you'd like, so multiple applications with potentially conflicting keys can run on the same MogileFS installation.
  • Shared-Nothing -- MogileFS doesn't depend on a pricey SAN with shared disks. Every machine maintains its own local disks.
  • No RAID required -- Local disks on MogileFS storage nodes can be in a RAID, or not. It's cheaper not to, as RAID doesn't buy you any safety that MogileFS doesn't already provide.
  • Local filesystem agnostic -- Local disks on MogileFS storage nodes can be formatted with your filesystem of choice (ext3, XFS, etc..). MogileFS does its own internal directory hashing so it doesn't hit filesystem limits such as "max files per directory" or "max directories per directory". Use what you're comfortable with

1,应用层级别——没有特殊内核依赖

2,无单点故障——mogileFS的三个组件(存储节点,跟踪器,跟踪器数据库)可以运行在多个机器上,所以没有单点故障。

你可以把跟踪器和存储节点放在同样的服务器上,这样你就不必用4台机器。不过推荐是至少2台机器。

3,自动文件复制——文件根据其分类,自动在不同节点之间复制备份满足该类别最少的备份数目要求。

如一个照片网站可以配置照片拥有三份存储,但是缩略图和不同版本只有1到2份复制。如果丢失其中一份备份,mogilefs会自行修复它。这样,就可以节省不必要的磁盘占用。

4,比Raid好——在非存储型raid系统中,磁盘是可以做到冗余的,但主机不是。如果整个机器坏掉,存储的文件就不可达了。mogilefs在不同主机的设备之间做备份,可以保证存储系统永远可用。

5,扁平的命名空间——文件被一个扁平全局的命名空间确定,你可以创建许多命名空间。这样多个应用程序可以运行在mogilefs文件系统上(只要key不冲突即可)

6,没有共享——mogilefs不依赖昂贵的san磁盘做共享磁盘,每个机器维护其自身的磁盘

7,不需要raid——mogilefs存储节点的磁盘可以做raid,也可以不做。mogilefs已经做了raid能做的所有冗余工作。

8,本地文件系统随意——本地磁盘可以选择任意文件系统格式(ext3,xfs等)。mogilefs通过内部目录hash组织文件,不会受到各种文件系统自身的限制(如,目录下文件最大数目,最大文件夹数目等)

分享到:
评论

相关推荐

    Nginx反代Mogilefs分布式储存示例详解

    MogileFS存储的文件URL是不友好的,例如存储一张图片可能会得到类似6060/0000/0000/0000/***.jpg的URL,这不利于用户访问。因此,一般会通过Nginx来对MogileFS进行反向代理,提供更加友好的URL访问方式,如***/21....

    应用级分布式文件系统接口标准化探索.pdf

    关于分布式文件系统接口标准化的探索,分布式文件系统应用接口类型主要是基于C或C++等编程语言实现的API(应用程序接口),它们允许开发者编写应用程序来与文件系统进行交互。主流的分布式文件系统在应用接口类型上...

    开源分布式文件系统FastDFS和MogileFS - [Linux].docx

    FastDFS和MogileFS都是开源的分布式文件系统,适用于处理大量文件存储和访问的场景,如图像分享网站和视频流媒体服务。这两种系统都设计有防止单点故障的机制,并提供了文件的冗余备份,以确保数据的可靠性。 ...

    分布式文件系统安装教程

    分布式文件系统是一种可以将多个文件系统组合成一个逻辑文件系统的技术, MogileFS 是一种开源的分布式文件系统,使用 RESTful 客户端可以轻松地管理和维护 MogileFS 集群。本文将详细介绍 MogileFS 及其 RESTful ...

    构建分布式文件存储[定义].pdf

    分布式文件存储是一种解决方案,用于处理超出单台计算机存储能力的大规模数据存储需求。当面对TB级别的数据时,传统的单机存储系统无法满足,因此需要构建一个分布式的系统,将数据分散存储在多台独立的服务器上,...

    流行分布式文件系统介绍

    分布式文件系统介绍,包含分布式文件发展历史,设计原理,流行分布式文件系统介绍,如:HDFS TFS FASTDFS CEPH LUSTRE GOOGLEFS MOOSEFS MOGILEFS

    分布式文件系统选型分析.docx

    mogileFS是一个分布式文件存储系统,设计用于处理大量小文件,支持自动故障恢复和负载均衡。与FastDFS类似,mogileFS适合于Web应用中的文件存储,但它提供了更丰富的功能,如分片和冗余存储策略,但可能在复杂环境下...

    7种主流分布式文件系统介绍

    整理了当前最主流的7种分布式文件系统(FastDFS MogileFS HDFS`TFS MooseFS KFS Ceph)的概要介绍,可以使你快速了解当前分布式文件系统的特性、各自文件系统实现目标及应用场景,了解这些分布式文件系统的架构特点...

    开源分布式文件系统比较.docx

    然后,MogileFS是一个Perl编写的分布式文件系统,它依赖于MySQL数据库来存储元数据,并提供多种客户端API。虽然MogileFS在某些情况下性能优秀,但由于Perl代码和对FUSE支持的复杂性,可能在某些部署环境中遇到挑战。...

    分布式文件系统介绍

    MogileFS是一种分布式的文件存储系统,其设计初衷是为了解决Web2.0应用程序中的大规模文件存储问题。 **组成部分** - **数据库(MySQL)**:用于存储元数据信息。 - **存储节点**:实际存放文件的地方。 - **...

    开源分布式文件系统比较.pdf

    分布式文件系统是一种在多台计算机之间共享存储空间的软件系统,它们通常用于处理大规模数据存储和访问的需求。本篇主要对比分析了五个知名的开源分布式文件系统:CEPH、GlusterFS、MooseFS、MogileFS和FastDFS。 1...

    使用Mogilefs做海量图片的分布式存储 安装配置.doc

    MogileFS是一个分布式文件系统,特别适合于存储大量静态文件,如图片。它设计的主要目标是提供高可用性、可扩展性和低成本的存储解决方案。MogileFS的设计理念是通过分布式存储节点和元数据跟踪器来确保文件的安全性...

    分布式文件系统FastDFS架构剖析

    准确地讲,GoogleFS以及FastDFS、mogileFS、HDFS、TFS等类GoogleFS都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。FastDFS是为互联网应用量身定做的分布式文件系统,充分考虑了冗余备份、负载均衡...

    分布式文件系统试用比较.docx

    随着信息技术的快速发展和海量数据处理需求的增长,分布式文件系统(Distributed File System, DFS)作为一种能够提供高性能、高可靠性和可扩展性的数据存储解决方案,在众多领域得到了广泛应用。本文将针对几个主流...

    Java高级架构之FastDFS分布式文件集群详解

    4. MogileFS(Mogile分布式文件系统):MogileFS是一个基于Mogile的分布式文件系统,能够提供高性能的文件存储服务。 FastDFS的安装和配置: 1. 安装依赖项:gcc、gcc-c++、make、cmake、libevent等。 2. 下载...

    mogileFS帮助文档

    2. **无单点失败**:MogileFS的三大组件——存储节点(Storage)、跟踪器(Tracker)和用于跟踪的数据库(DB)——均可以在多台机器上运行,这种分布式的设计确保了即使某一台机器出现故障,整个系统仍能保持运行,从而...

    FastDFS 分布式存储 实战

    FastDFS是一个开源的轻量级分布式文件系统,主要用于解决大数据存储和读写负载均衡的问题。它的设计非常轻便,适合存储4KB到500MB大小的文件,尤其适用于图片网站、短视频网站、文档分享、应用下载等场景。与传统的...

    mogilefs相关

    MogileFS,全称为Mogile File System,是由Danga Interactive公司开发的一种分布式文件系统,主要用于存储和检索大量文件。这个系统设计的目标是提供高可用性、可扩展性和容错性,适合处理海量数据的互联网服务。...

Global site tag (gtag.js) - Google Analytics