标签:分部式文件系统
什么是分布式文件系统?
什么是分布式文件系统(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
标签:分部式文件系统
原文地址:http://wskfnso.blog.51cto.com/4025557/1764126