分布式存储系统

来源:互联网 发布:mysql and not in 编辑:程序博客网 时间:2024/04/26 20:26

一 引言

  由于数字设备的产生及快速发展(例如个人电脑、笔记本电脑、平板电脑、及智能电话等),因此新的数据不断产生,其规模越来越庞大。

  根据市场研究公司IDC的一项调查显示,全球数字数据量每2年便翻一番。2011年的数据量将达到里程碑式的1.8泽字节(ZB),也就是1.8万亿G字节。IDC调查了一年中世界范围内原创或复制的数据发现:全球IT从业人数的增长并没有与服务器、数据管理及非结构化数据的大量增加成正比。到2020年,服务器数量将是现在的10倍,信息量将是现在的50倍。根据该调查得出的结论,到2020年,全球对从事管理数据工作的IT专业人员的需求量将是现在的1.5倍。

  如何有效地管理和存储这些海量的数据,这一难题成为业界所关注的焦点。而分布式存储系统被认为是针对该问题的最佳解决方案,也越来越受到大家的关注。

二 传统的存储系统

  2.1 直连式存储(DAS)

  开放系统的直连式存储(Direct-Attached Storage,DAS),已经有近40年的发展历史,它的特点是:存储设备是通过电缆(通常是SCSI接口电缆)直接连接服务器。I/O(输入,输出)请求直接发送到存储设备,它基于服务器,其本身是硬件的堆叠,不带有任何存储操作系统。它的缺点是:

  ①管理复杂;

  ②主服务器容易成为访问的瓶颈;

  ③缺乏数据共享能力;

  ④扩展能力有限;

  ⑤不能在线扩展和维护。

  2.2 网络附属存储(NAS)

  网络附属存储(Network Attached Storage,NAS)是一种将分布、独立的数据整合为大型、集中化管理的数据中心,以便对不同主机和应用服务器进行访问的技术。

  NAS被定义为一种特殊的专用数据存储服务器,包括存储器件(例如磁盘阵列、CD/DVD驱动器、磁带驱动器或可移动的存储介质)和内嵌系统软件,可提供跨平台文件共享功能。但是文件服务器容易成为整个系统的瓶颈,例如在大规模数据访问时会出现性能方面的问题。

  2.3 存储区域网络(SAN)

  存储区域网络(Storage Area Network)的支撑技术是光线通道(Fiber Channel)技术,这是ANSI为网络和通道I/O接口建立的—个标准集成。支持HIPPI、IPI、SCSI、IP、ATM等多种高级协议。它的最大特性是将网络和设备的通信协议与传输物理介质隔离。这样,多种协议可在同一个物理连接上同时传送,高性能存储体和宽带网络使用单I/O接口使得系统的成本和复杂程度大大降低。

  SAN的主要特点是:

  ①具有较高的扩展能力和高存储能力;

  ②数据分享能力有限;

  ③安全性较差。

三 分布式存储系统分类

  分布式存储系统从数据存储模型上来看,可以分为以下几类。

  3.1 存储虚拟化

  全球网络存储工业协会(Storage Networking Industry Association,SNIA)对存储虚拟化做了如下定义:从应用、计算机服务器或者一般的网络资源中抽象、隐藏或隔离存储系统,使应用和网络可以独立地管理、存储及获得数据。使用存储虚拟化的应用服务或者设备可以集成不同的存储设备,还能添加底层存储资源来扩展存储能力。

  对存储虚拟化(Storage Virtualization)最通俗的理解就是对存储硬件资源进行抽象化表现。通过将一个或多个目标(Target)服务或功能与其他附加的功能集成,统一提供有用的全面功能服务。典型的虚拟化情况有:屏蔽系统的复杂性,增加或集成新的功能,仿真、整合或分解现有的服务功能等。虚拟化是作用在一个或者多个实体上的,而这些实体则是用来提供存储资源或服务的。

  

存储虚拟化的主要特点是:

  ①通过虚拟化集中管理现有的存储资源以提高资产利用率;

  ②不会增加管理和配置的复杂程度;

  ③可以通过增加新的存储资源(通常是硬件设备),提高线性的扩展存储能力,但不会产生数据搜索方面的问题;

  ④提供安全性更高的租户管理机制,因此用户和数据可以共享虚拟化的资源,而不受其他用户的影响;

  ⑤可以无缝集成多个存储厂家的存储设备,避免了厂家锁定的问题。

  存储虚拟化技术在实现层面上划分,有以下几种类别:

  ①基于主机的虚拟化,这是存储虚拟化最早期的实现形式,它在主机的操作系统上基于存储虚拟化软件实现其功能;

  ②基于存储网络的虚拟化是指在存储的网络层中嵌入智能存储资源管理软件的技术;

  ③基于存储控制器的虚拟化,该架构在阵列的存储控制器上执行虚拟化。一个第三方厂家的阵列可以简单地通过插到FC端口上的方式被虚拟化,解决了一般基于阵列虚拟化的厂家锁定的问题。

  3.2 分布式对象存储系统

  SNIA的对象存储设备是这样定义的:

  ①一种新的SCSI存储设备;

  ②对象可以类比为传统的文件;

  ③对象是自完备的,包含元数据、数据和属性;

  ④存储设备可以自行决定对象的具体存储位置和数据的分布;

  ⑤存储设备可以对不同的对象提供不同的Qos;

  ⑥对象存储设备相对于块设备具有更高的智能性,上层通过对象ID访问对象,而不需要了解对象的具体空间分布情况。

  与传统存储模型相比,对象存储模型有了如下改变:

  ①基于对象的存储,将存储模块转移到存储设备中;

  ②基于对象的存储,将设备的访问接口转变为对象访问接口。传统存储模型与对象存储模型对比情况如图l所示。

传统存储模型与对象存储模型 

对象是平等的,分布在一个平面中,而非文件系统那样的树状逻辑结构中,这也就给了用户很大的操作空间:可以利用对象构建文件系统.也可以直接使用这个平面空间。用对象替代传统的模块的好处在于:对象的内容本身来自应用,具有“原子性”,因此可以做到:

  ①在存储层进行更智能的空间管理;

  ②内容相关的数据预取和缓存;

  ③可靠的多用户共享访问;

  ④对象级别的安全性。

  同时,对象存储架构还具有更好的可伸缩性。对象存储模型如图2所示。

对象存储模型 

  一个对象除了包含ID和用户数据外,还包含了属主、时间、尺寸、位置等源数据信息,以及权限等预定义属性,乃至很多自定义属性。对象存储设备中的对象分成4类:

  ①用户对象,应用创建的普通对象;

  ②集合对象,一组具有共同点的用户对象的集合;

  ③分区对象,容纳用户对象和集合对象的容器,包含了有某些空间管理、安全等方面(比如quota)的共性的对象;

  ④根对象,对象存储设备自己。

  3.3 分布式文件系统

  分布式文件系统或网络文件系统是指那些可以通过计算机网络访问存储在多个主机中的数据的文件系统。这使得在多用户之间和多应用之间共享数据和存储资源成为可能。

  分布式文件系统最初产生于1980年代,其代表是NFS(Network File System)和AFS(Andrew File System)。2000年以后,分布式文件系统得到了更多的关注和长足的发展,其中以GFS(googh File system)和Lustre最为著名。

  现在的分布式文件系统更加专注于高性能、高扩展能力、高可靠性、系统的高可用性和容错能力。以GPS为例,它构建在相对便宜的计算机节点上,通过以下手段达到了以上提出的需要付出高昂成本才能实现的存储能力:

  ①通过将控制流与数据流分离的方式来提高系统的吞吐率,用户可以并行在多个节点上提取数据;

  ②将数据分成同等大小的数据块,以方便数据的迁移和复制;

  ③每个数据块都有多个(通常是3个)存储副本,以提高数据的可靠性和读取速度;

  ④一个数据块可以被分布到不同的机器上,以提高系统的容错能力。GFS系统架构如图3所示

GFS系统架构

四 结语

  分布式存储系统可以存储海量数据,它具有性价比高及灵活的可扩展性等特点,在工业界和学术研究领域得到广泛关注。本文从传统的存储系统出发,比较了传统的存储系统和目前流行的分布式存储系统的区别与联系。同时,对分布式存储系统的分类及特点进行了初步分析。分布式存储系统有多种不同的实现原理和方法,适用于不同的应用领域,我们需要根据应用特点来选择合适的存储方式。


原创粉丝点击