logo资料库

数据中心存储架构(完整版).pdf

第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
资料共14页,剩余部分请下载后查看
1引言
2数据中心存储架构的演进
3数据中心存储的技术架构
3.1数据类型
3.2块、文件、对象
3.3存储层次
3.4主存储架构
3.5分布式文件存储架构
3.6分布式对象存储架构
4结束语
数据中心存储架构 2015年H3C 刘新民 [注:网上流传的是被删减一半篇幅的700字版本,这里将刘老师完整版本13000字找到] 1 引言 存储系统是数据中心IT环境的核心基础架构,是数据中心数据访问的最终承载体。在过去的10年里,IT 行业都已经发生了很大的变化,发展步伐令人难以捉摸,但是这一切也将会继续下去。存储在云计算、虚 拟化、大数据等相关技术进入后已经发生了巨大的改变,块存储、文件存储、对象存储支撑起多种数据类 型的读取;集中式存储已经不再是数据中心的主流存储架构,海量数据的存储访问,需要扩展性、伸缩性 极强的分布式存储架构来实现。 对于企业的IT存储系统,传统的设计方法是自上而下:首先根据业务运营需求,设计出业务模型,然 后根据业务模型设计出IT系统模型,同时根据业务需求计算出IT系统的运算指标、事务处理、带宽、磁盘 访问速度等,并依此作为IT设备采购和IT建设验收的根据,换言之,是从业务需求计算出要选择设备的级 别,从根本来说还是以选择设备为中心的IT系统建设方式,从而形成一种“烟囱式”系统的存储延伸。 在新的IT发展过程中,数据中心建设已经进入云计算时代,企业IT存储环境已经不能简单的从一般性 业务运营需求来构建云计算的数据中心存储环境。云计算数据中心的建设不是为了满足某一个业务系统的 特殊目标,是为了实现所有业务系统在云平台上能够实现灵活的资源调度、良好的伸缩性、业务扩展的弹 性以及快速交付性。因此,是一种自下而上的建设模式,如图1所示,基于云计算平台的建设先于应用系统 需求,并不再与具体的业务捆绑,应用系统的建设、扩容、升级主要以软件为主,硬件物理资源向资源池 申请,存储系统成为云数据中心的可分配、可调度的资源,在这种情况下,有助于消除瓶颈、提高处理速 度,使得业务系统稳定、高效、持久运行。 2 数据中心存储架构的演进 图1 数据中心的系统建设发展 随着数据中心从最初的孤立系统企业级应用发展到互联网化阶段的大规模云计算服务,其存储架构也 不断发展,如图2所示。从满足关键系统的性能与容量需求,到以虚拟化架构来整合数据中心存储资源,提 供按需的存储服务和自动化运维,并进一步向存储系统的智能化、敏捷化演进,应用需求的变化是存储架 构不断改进提升的驱动力,竖井式、虚拟化、云存储三种架构并存是当前现状,软件定义存储架构的出现 则是后云计算时代的存储发展阶段。
图2 存储系统架构演进 竖井式架构 对于早期的系统,在主机架构下,数据和逻辑是一体的,采用面向过程的设计方法,每个应用是一个 孤立的系统,维护相对容易,难于相互集成;客户机/服务器架构将逻辑与数据进行了分离(不论C/S还是 B/S 模式,本质都是客户机/服务器架构),同样采用面向对象的设计方法,每个应用是一个孤立的系统, 提供了一定后台集成的能力。这种架构的存储也随着系统的建设形成了自身的独立性,业务平台的硬件设 备按照规划期内最大用户数来配置,而在业务初期和业务发展情况难预测的情况下,无法真实评估存储的 规模与性能要求,这往往会浪费不少硬件设备资源和空间、动力等资源,并且硬件资源不能灵活调度。 每 个业务上线都需要经过软件选型、评估资源、硬件选型、采购和实施等环节,业务上线流程长、时间跨度 大,不利于业务发展。 即使是企业数据中心进入云计算时代,大量的应用逐步向云的环境迁移,但因为某些系统独特的技术 要求,这种竖井式架构也会长期存在。 存储虚拟化 随着业务发展,数据中心存储不可避免形成大量的异构环境,标准化的管理流程难以实施。存储虚拟 化架构实现对不同结构的存储设备进行集中化管理,统一整合形成一个存储池,向服务器层屏蔽存储设备 硬件的特殊性,虚拟化出统一的逻辑特性,从而实现了存储系统集中、统一而又方便的管理。使得存储池 中的所有存储卷都拥有相同的属性,如性能、冗余特性、备份需求或成本,并实现自动化(如LUN管理)以及 基于策略的集中存储管理。 存储虚拟化简化了存储容量分配,提高了容量的有效利用,并使得容量扩展非常容易。因此,存储虚 拟化减少了存储系统的管理开销、实现存储系统的数据共享、提供透明的高可靠性和可扩展性、优化使用 存储系统。 同时,存储资源的自动化管理为用户提供更高层次策略的选择。在存储池中可以定义多种存储工具来 代表不同业务领域或存储用户的不同服务等级。另外,还允许用户以单元的方式管理每一存储池内部的存 储资源,根据需要添加、删除或改变,同时保持对应用服务器业务系统的透明性。基于策略的存储虚拟化 能够管理整个存储基础机构,保持合理分配存储资源,高优先级的应用有更高的存储优先级,使用性能最 好的存储,低优先级的应用使用便宜的存储。 云存储架构 云存储架构伴随着大规模云计算的数据时代的到来,将存储作为云的服务提供,不论是企业私有云还
是公有云的存储,都着重于大量存储数据的创建和分布,并关注快速通过云获得数据的访问。云存储架构 需要支持大规模的数据负载的存储、备份、迁移、传输,同时要求巨大的成本、性能和管理优势。 云存储的技术部署,通过集群应用或分布式文件系统等功能,网络中大量各种不同类型的存储设备通 过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统,保证数据的安全性, 并节约存储空间。 云存储并没有更多技术上的突破,它只是更好利用了现有的存储技术,进行有效整合,对外提供统一 的存储服务。可以支持面向个人的云存储服务、面向企业的云存储服务。 在技术选择上,云存储更注重Scale-out的模型构建,对应用端看来,云存储只是个文件系统,而且一般 来说支持标准的协议,例如NFS、HTTP、FTP、WebDav等等,所以很容易把旧有的系统与云存储结合,应 用端不需要作什么改变。 在大规模系统支撑上,分布式文件系统、分布式对象存储等技术,为云存储的各种应用提供了高度可 伸缩、可扩展和极大的弹性支撑和强大的数据访问性能,并且因为这些分布式技术对标准化硬件的支持, 使得大规模云存储得以低成本的建设和运维。 云存储不是要取代现有的盘阵,而是为了应付高速成长的数据量与带宽而产生的新形态存储系统,因 此云存储在构建时重点考虑的三点: 1)扩容简便 扩容是不能停机,会自动将新的存储节点容量纳入原来的存储池,不需要做繁复的设定。 2)性能易于增长 云存储产品的设计要能随着访问量的增长可进行性能扩展,以应对大规模的数据访问业务。 3)管理简易 大规模存储系统的管理必须借助于自动化实现,具有统一管理能力。 软件定义存储 软件定义存储当前还未有确切的定义,但软件定义存储代表了一种趋势,即存储架构中软件和硬件的 分离,也就是数据层和控制层的分离。对于数据中心用户而言,通过软件来实现对存储资源的管理和调度, 如灵活的卷迁移等而无需考虑硬件设备本身。 通过软件定义存储实现存储资源的虚拟化 、抽象化、自动化,能够完整的实现数据中心存储系统的部 署、管理、监控、调整等多个要求,使得存储系统具备灵活、自由和高可用等特点。 传统存储的虚拟化、自动化都是由专用的存储设备来实现,许多厂商虚拟化存储都要使用自己定制的 设备,或者是在特定服务器上加载的一款软件来支持。软件定义存储将存储服务从存储系统中抽象出来, 且可同时向机械硬盘及固态硬盘提供存储服务,软件定义存储消除硬件设备的限制,采用开放的存储架构, 提供存储的性能、可管理性,增强存储系统的智能性和敏捷的服务能力,同时软件定义存储也以分布式技 术如分布式文件存储、对象存储等大规模可扩展架构为数据基础,对上支持灵活的控制管理,这将是存储 领域发展的大趋势。 3 数据中心存储的技术架构 3.1 数据类型 数据中心的存储数据类型发生了很大的变化,按照结构化程度来分,可以大致分为结构化数据,非结 构化数据,半结构化数据。 结构化数据的存储及应用 所谓结构化数据是一种用户定义的数据类型,它包含了一系列的属性,每一个属性都有一个数据类型, 存储在关系数据库里。一般的业务系统都有大量的结构化数据,一般存储在Oracle或MySQL的等的关系型 数据库中,在企业级数据中心,一般在集中存储架构中保存,或成为主存储系统,以块存储访问为主。
在互联网级的大规模数据中心环境,当系统规模大到单一节点的数据库无法支撑时,一般需要通过数 据库集群的扩展来进行支持(互联网主要使用分库的方式进行扩展,企业级一般只是采用数据库本身的集群 扩展),根据数据库的扩展相应实现主存储的扩展。 非结构化数据的存储及应用 相对于结构化数据而言,不方便用数据库二维逻辑表来表现的数据即称为非结构化数据,包括所有格式 的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等,分布式文件系统是实现 非结构化数据存储的主要技术。 半结构化数据的存储及应用 介于完全结构化数据(如关系型数据库、面向对象数据库中的数据)和完全无结构的数据(如声音、 图像文件等)之间的数据,半结构化数据模型具有一定的结构性,但较之传统的关系和面向对象的模型更 为灵活。半结构数据模型完全不基于传统数据库模式的严格概念,这些模型中的数据都是自描述的。 由于半结构化数据没有严格的语义定义,所以不适合用传统的关系型数据库进行存储,适合存储这类 数据的数据库被称作“NoSQL”数据库。 NoSQL的定义: 被称作下一代的数据库,具有非关系型,分布式,轻量级,支持水平扩展且一般不保证遵循ACID原则 (ACID是数据库事务正常执行的四个基本要素,分别指原子性、一致性、独立性及持久性)的数据储存系统。 半结构化数据可以采用支持XML的数据库进行存储,但效率相对比较低。采用分布式如HBase(Hadoop Database),则是半结构化数据存储和处理的更好选择。HBase是开源项目Hadoop的家族成员,是谷歌大表 Bigtable的开源实现。HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,它不同于一般 的有模式的关系型数据库,HBase存储的数据表是无模式的,特别适合结构复杂多样的半结构化数据存储。 此外,HBase利用HDFS作为其文件存储系统,利用MapReduce技术来处理HBase中的海量数据。 3.2 块、文件、对象 1)块存储: 对于存储系统,块读写一般是在存储介质上的数据概念,对于磁盘来说,块数据的存储单元是一个或 多个磁盘扇区。因此块级数据的读写,是面向最底层的物理层的,数据操作基于起始扇区编号、操作码(读、 写等)、连续扇区数量等,块数据访问接口是SCSI接口。 常用的两种块存储方式是DAS和SAN: DAS(Direct Attach STorage):是直接连接于主机服务器的一种储存方式,每一台主机服务器有独立 的储存设备,每台主机服务器的储存设备无法互通,需要跨主机存取资料时,必须经过相对复杂的设定, 若主机服务器分属不同的操作系统,要存取彼此的数据,更是复杂,有些系统甚至不能存取。通常用在单 一网络环境下且数据交换量不大,性能要求不高的环境下,是早期的技术实现。 SAN(Storage Area Network):是一种用高速网络联接主机服务器与存储设备的一种储存方式,存储 系统会位于主机群的后端,它使用高速I/O网络联结方式,以FC、iSCSI、FCOE为当前主流形式。一般而言, SAN应用在对网络速度要求高、对数据的可靠性和安全性要求高、对数据共享的性能要求高的应用环境中, 特点是代价高,性能好。它采用SCSI 块I/O的命令集,在SAN网络级的数据访问提供高性能的随机I/O和数 据吞吐率,具有高带宽、低延迟的优势,但是由于SAN系统的价格较高,且不具备大规模可扩展性,不能 满足大型云计算数据中心的存储需求。 2)文件存储 对于文件,是“按名存取”的,为了区分磁盘上各个不同的文件,需要给每个文件取一个确定的名字, 称为文件名,它用来表示磁盘上的文件,以便于在磁盘上能够“按名查找”这些文件。文件的数据操作基 于文件名、偏移量、读写字节数等,但是文件本身并无文件自身的属性、元数据信息。 基于对不同环境的文件存储发展了多种形式的文件系统。 单机文件系统:
用于操作系统和应用程序的本地存储,是在磁盘上组织文件的方法。文件系统由三部分组成:与文件 管理有关软件、被管理文件以及实施文件管理所需数据结构。从系统角度来看,文件系统是对文件存储器 空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。它负责为用户建立文件,存 入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。 单机文件系统缺点是数据无法在服务器之间共享。典型代表:Ext2、Ext3、Ex4、NTFS、FAT、FAT32、 XFS、JFS等。 网络文件系统: 基于现有以太网架构,实现不同服务器之间传统文件系统数据共享。NAS(Network Attached Storage) 产品都是文件级存储,通常是直接连在网络上并提供资料存取服务,一套 NAS 储存设备就如同一个提供 数据文件服务的系统。采用NFS或CIFS命令集访问数据,以文件为传输协议,通过TCP/IP实现网络化存储, 由于NAS的协议开销高、带宽低、延迟大,不利于在高性能环境下中应用。 在这种文件系统(如NFS)中,所有数据和元数据存放在一起,通过单一的存储服务器提供访问。这 种模式一般称之为带内模式(In-band Mode),随着客户端数目的增加,服务器就成了整个系统的瓶颈。因 为系统所有的数据传输和元数据处理都要通过文件系统服务器,不仅单个服务器的处理能力有限,存储能 力受到磁盘容量的限制,吞吐能力也受到磁盘I/O和网络I/O的限制。在当今对数据吞吐量要求越来越大的云 计算应用中,传统的NFS等文件系统已经很难满足应用的需要。 虽然NAS目前也有集群机制来提升存储的性能和分布式处理,但在性能、灵活扩展性上依然不能满足 大规模的云计算存储需求。 集群共享文件系统 在共享存储基础上,通过集群锁,实现不同服务器能够共用一个传统文件系统。 缺点:性能一般,扩展性很有限。 典型代表:Global FS、Global FS2、OCFS、OCFS2 分布式文件系统 在传统文件系统上,通过额外模块实现数据跨服务器分布,并且自身集成raid保护功能,可以保证多台 服务器同时访问、修改同一个文件系统。性能优越,扩展性很好,成本低廉。 缺点:适用场景单一,部分类型存在单点故障风险。 典型代表:lustre、HDFS、gluster、GoogleFS 3)对象存储 对象存储,对象是自完备的,包含元数据、数据和属性,可以进行自我管理,对象本身是平等的,也 就是说,对象分布在一个平坦的空间中,而非文件系统那样的树状逻辑结构之中,对象存储以ID为基础, 根据ID可以直接访问数据,核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象 存储设备(Object-based Storage Device,OSD)构建存储系统,每个对象存储设备具有一定的智能,能够自 动管理其上的数据分布。 典型代表:Swift,CEPH 3)从设备级别看块、文件、对象存储 如图3所示,上升到存储设备级的块、文件与对象存储之间的区别就比较显著了。 块设备对外提供的接口基本上是面对SCSI指令的,使得应用的存储访问能够以高性能和较低的访问层 次实现,块设备本身是不具备丰富智能处理能力的。 文件设备以文件系统协议提供服务,访问层次比较高,文件系统封装了块的底层能力。 对象设备级访问与文件设备的访问层次上很相似,但具备灵活的可编程接口,对象设备存储了数据更 多的信息,具备更完善的智能处理能力和服务特性。
图3 块、文件、对象存储的设备级访问比较 3.3 存储层次 从整个存储架构的角度,数据中心的存储介质可以构成一个整体,不同存储介质都是可以访问的,或 者是本地访问,或者是网络访问,如图4所示。 对于每个服务器而言,本地内存16GB~1TB的容量,访问时延在100纳秒级别;SSD硬盘300GB-600GB, 时延在0.1毫秒级;SATA单块硬盘1-4T(数量可在8-16块),访问时延在10毫秒级。服务器内部访问带宽取决 于硬盘的接口能力。 通过SAN扩展(FC-SAN为例),因存储设备差异,性能和容量有所不同,针对传统的IT应用而言,SAN 的存储扩展基本满足一般性业务需求,与服务期内硬盘访问存在较小差异。但对大文件及海量数据处理, 无论是容量扩展还是性能上远不能满足处理要求,且采购与运维成本和技术难度大幅提升。 在分布式的大规模数据处理上,一般采用服务器集群模式,根据物理部署又分为机架内和跨机架的访 问。 在同一机架内的访问,理论上存储容量是机架内所有服务器容量之和,正常情况下,服务器之间数据 传输增加的网络时延在5-10微秒,而网卡IO的时延在5毫秒级别,机架内的带宽由网卡能力决定。 跨机架的数据访问,增加了50微秒级别的网络时延,同时因为跨网络设备,造成网络带宽的共享,低 于网卡能力,按照常规组网收敛比在2:1以上。
图4 数据中心存储层次 3.4 主存储架构 主存储是数据中心的重要存储系统,也是传统存储在演进过程中始终在重要应用领域保留一定独立性 并自身也快速发展的存储体系,主存储也通常称为Tier 1存储,其特征为用于存储活动数据——经常需要访 问的数据,以及要求高性能、低延迟、高可用性的数据。主存储通常用于支撑数据中心关键任务程序,如 数据库、电子邮件和事务处理。大多数重要程序采用随机数据访问模式,具有不同的访问要求,但是都能 产生大量数据,企业可以利用这些数据完成业务。 即使在虚拟领域中出现越来越多的新的数据存储技术,传统的主存储系统仍然普遍。DAS是最早的主 存储架构,但SAN已经成为当前使用最广泛,也最为主流的存储架构。而NAS则在数据中心用于文件共享 应用,并且也在后端采用了SAN的扩展。在数据中心领域,绝大多数厂商也均以SAN架构来部署面向高级 用户的主存储解决方案以及在此基础上相关的容灾备份方案和存储虚拟化方案,如图5所示的主存储架构与 虚拟化架构方式。
图5 数据中心主存储架构 SAN的特点是性能高、稳定性强、价格高。在一些需要集中存储的数据库等实时服务要求高的重要应 用领域,依然是当前的主流的技术,在存储应用中,需要集中存储的高端应用由SAN来承担,基于文件的 小规模应用由NAS承担更合适,使得SAN与NAS成为互补存储架构出现。 最初的数据中心,大部分数据都是主数据。随着数据的存在时间增长,大量数据会通常移动到次级和 三级存储。因此,随着存储各方面技术发展和业务的成熟,数据中心逐步开始寻求能够减少主存储的途径, 以充分利用容量,降低整个数据生命周期的成本。 当前1TB~4TB的高容量驱动器设备已经广泛开始使用,这使得阵列的容量不断增加而物理空间不断缩 小,也带来主存储架构的成本逐步下降。大容量驱动器的采用也带来一定的不足,从每GB的IOPS的角度考 虑,以一个400GB的SAS驱动器为例,系统可以从这个驱动器获得大约200 IOPS;因此如果5个驱动器组成 的1TB,系统将可以从这5个驱动器获得1000 IOPS。但是用一个1TB的SATA驱动器,则只能从中获得大约 75 IOPS,如果有1TB的SAS驱动器,也不过是200 IOPS。因此在设备的容量与其性能之间得到一个反比关 系,这样逐步会在主存储上考虑自动分层存储顶层的高速驱动器与次层的低速驱动器:使用自动化软件能 够将热数据从便宜的、高容量的磁盘移至高性能磁盘并在数据热度降低时移回的自动化软件。 3.5 分布式文件存储架构 分布式文件系统主要的功能是用于存储文档、图像、视频之类的非结构化数据。分布式文件系统是建 立在网络之上的,分布式文件系统是以全局方式管理系统资源的,它可以任意调度网络中的存储资源,并 且调度过程是“透明”的。 分布式存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存 储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。以高性能、高容量为主要特性的 分布式存储系统,一般满足以下4个条件 1、应用于网络环境中; 2、单个文件数据分布存放在不同的节点上; 3、支持多个终端多个进程并发存取; 4、提供统一的目录空间和访问名称; HDFS(Hadoop Distributed File System),是开源项目Hadoop的家族成员,是谷歌文件系统GoogleFS (Google File System)的开源实现,以下仅简单介绍HDFS工作模式。 HDFS被设计成适合运行在通用硬件上的分布式文件系统,是一个高度容错性的系统,适合部署在廉价 的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的非结构化数据、半结构化应用。
分享到:
收藏