存储系统介绍

http://kongxue448.blog.163.com/blog/static/168053184201124113055279/?fromdm&fromSearch&isFromSearchEngine=yes

存储系统介绍  

2011-03-04 19:50:01|  分类: 默认分类 |字号 订阅

1、网络附加存储(NAS)服务器 FreeNAS
    FreeNAS是网络附加存储(NAS:Network Attached Storage)服务专用操作系统(FreeBSD的简化版)。基于m0n0wall 防火墙,该系统通过提供磁盘管理及RAID软件,可让用户将PC转换为NAS服务器。支持FTP/NFS/RSYNC/CIFS/AFP/UNISON/SSH协议,旨在让人们重新使用旧硬件。

2、分布式文件系统 FastDFS   
    FastDFS是一个开源的分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

    FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。存储节点存 储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的meta data进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key value pair)方式表示,如:width=1024,其中的key为width,value为1024。文件meta data是文件属性列表,可以包含多个键值对。

FastDFS系统结构如下图所示:


    跟踪器和存储节点都可以由一台多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少。


    为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加 就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和 负载均衡的作用。

    在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。
    FastDFS中的文件标识分为两个部分:卷名和文件名,二者缺一不可。

FastDFS file upload

上传文件交互过程:
1. client询问tracker上传到的storage,不需要附加参数;
2. tracker返回一台可用的storage;
3. client直接和storage通讯完成文件上传。 

FastDFS file download

下载文件交互过程:

1. client询问tracker下载文件的storage,参数为文件标识(卷名和文件名);
2. tracker返回一台可用的storage;
3. client直接和storage通讯完成文件下载。

需要说明的是,client为使用FastDFS服务的调用方,client也应该是一台服务器,它对tracker和storage的调用均为服务器间的调用。

3、分布式文件系统 MogileFS

Mogile FS是一个开源的分布式文件系统。主要特性包括:

1. 应用层的组件
2. 无单点故障
3. 自动文件复制
4. 具有比RAID更好的可靠性
5. 无需RAID支持

4、网络文件系统 NFS

    网络文件系统是FreeBSD支持的文件系统中的一种, 也被称为 NFS。 NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以象访问本地文件 一样访问远端系统上的文件。

以下是NFS最显而易见的好处:

  • 本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一 台机器上而且可以通过网络访问到。
  • 用户不必在每个网络上机器里头都有一个home目录。Home目录 可以被放在NFS服务器上并且在网络上处处可用。
  • 诸如软驱,CDROM,和 Zip? 之类的存储设备可以在网络上面被别的机器使用。 这可以减少整个网络上的可移动介质设备的数量。


5、分布式文件系统 OpenAFS

   OpenAFS是一套开放源代码的分布式文件系统,允许系统之间通过局域和广域网来分享档案和资源。

    OpenAFS 是围绕一组叫做 cell 的文件服务器组织的。每个服务器的标识通常是隐藏在文件系统中的。从 AFS 客户机登录的用户将分辨不出他们在哪个服务器上运行,因为从用户的观点来看,他们想在有可识别的 UNIX 文件系统语义的单个系统上运行。文件系统内容通常都是跨 cell 复制,以便一个硬盘的失效不会损害 OpenAFS 客户机上的运行。OpenAFS 需要高达 1 GB 的大容量客户机缓存,以允许访问经常使用的文件。它还是一个十分安全的基于 Kerbero 的系统,它使用访问控制列表 (ACL) 以便可以进行细粒度的访问,这不是基于通常的 Linux 和 UNIX 安全模型。

    缓存管理器碰巧是 OpenAFS 的一部分,很奇怪,它只作为底层文件系统与 ext2 一起运行。除缓存管理器之外,OpenAFS 表层的基本结构很像现代的 NFS 实现。但是,基本架构却一点都不像,而且必须慎重看待它的任何并行。对那些仍喜欢使用 NFS,但是又想利用 OpenAFS 程序的人来说,可以使用所谓的 NFS/AFS 翻译器。只要 OpenAFS 客户机被配置为 NFS 服务器机器,您就应该能够享受这两种文件系统的优点。

    NFS 是位置无关的,它把本地目录映射到远程文件系统位置。OpenAFS 对用户隐藏了文件位置。因为可能所有的源文件都以读写副本的形式保存在复制到的不同文件服务器位置上,必须保持复制的副本同步。为此要使用一项称作 Ubik 的技术,它源于单词“ubiquitous(无所不在)”,是东欧拼写法。Ubik 过程使 AFS 文件系统上的文件、目录和卷 (volume) 保持同步,但是通常运行三个以上文件服务器进程的系统获益最多。系统管理人员可以将一个 AFS 站点的几个 AFS cell 分组 —— 这个以前的缩写词 AFS 已经被保留在 OpenAFS 文件系统的语义中了。管理人员将决定 AFS cell 的数目,以及 cell 使存储器和文件对站点内的其他 AFS cell 可用的程度。


6、分布式文件系统 CloudStore

    CloudStore(KFS,Kosmos File System)分布式文件系统有着高性能,可用性和可靠性等特点。它的目的是用来作为后端的存储基础设施,密集型数据应用,如搜索引擎,数据挖掘,网格计算等。

功能和特点

  • 增量的可扩展性:存储需求可对节点增加,系统会自动适应新的节点。
  • 可利用性:复制是用来提高可用性。通常情况下,文件复制有3种方式。
  • 每个文件的复制程度:在一定程度的复制配置,最大限制为64。
  • 机架数据放置:数据在不同的块架上。
  • 重新平衡:每隔一段时间,中继服务器可以平衡块之间。这样做是为了帮助平衡的磁盘空间之间节点的利用率。
  • 数据完整性:为了处理硬盘损坏的数据块,校验核查所做的每一个阅读,每当有一个校验和不匹配,再复制是用来恢复损坏的块。
  • 文件写入:该系统遵循的标准模式。当应用程序创建一个文件,文件名变成部分文件的命名空间。
  • 缓存:客户端库使用缓存以提高性能。用于支持高速缓存的一致性。
  • 块的版本:版本是用来探测陈旧块。
  • 用户端故障转移:如果客户端库确定无法访问,客户端库将故障转移。
  • 语言支持:可用C++,Java和Python访问客户端库。
  • 工具:包含了一系列新的工具。这可以让用户使用命令浏览文件系统,如cp, ls, mkdir, rmdir, rm, mv。
  • 本地阅读优化:当应用程序运行在同一节点是包含一个优化的本地读取数据。
原文地址:https://www.cnblogs.com/lexus/p/2196982.html