一、高性能大数据分析存储框架
传统HPC存储系统存在的不足:
1、现今的存储系统大多由不同供应商们提供的不同技术部件组合而成,缺乏端到端的设计、传输数据的高性能计算问题,增加了如测试和质量管理过程的的复杂度。同时,不同供应商的高性能存储系统占空间,高耗能,多个高性能应用运行时产生I/O瓶颈,还引起用户对该存储系统的担心,诸如生存周期问题。
2、自动配置和处理的不足。由于设计到多个供应商的不同部件安装组合,高性能系统的安装配置过程就显得耗时、麻烦,造成系统更难适应动态变化的需求,对于每一个高性能应用程序都需要再一次重复配置和处理程序安装,不仅影响用户的高效性交互,而且降低了整个系统的可靠性和高效性。
3、缺少核心软件管理。由于传统高性能存储系统缺乏软件管理的设计开发,如缺少复杂的诊断工具(日志分析、故障处理),用户在获取性能、记录系统参数的时候很困难。
随着数据规模的扩大,解决上述问题就变得更加困难,特别是配置管理,维护,整合,所以目前急需一种特定的满足高性能计算应用的存储框架。
1、从DAS(Direct-Attached Storage)说起
故名思议,不解释。。。
主要介绍在DAS架构中存储设备支持的几个流行I/O接口:
1)、SCSI (Small Computer System Interface)
SCSI 接口用来直接连接磁盘驱动和磁带驱动到服务或客户端设备的,也可以用来连接打印机、扫描仪等外部设备,最新版本的SCSI Ultra320数据传输速度320MB/S,序列传输SAS(Serial Attached SCSI)数据传输达到6GB/S,相比其他在性能和扩展性方面表现突出。
2)、Integrated Device Electronics/Advanced Technology Attachment (IDE/ATA)====》并行接口!!!
IDE/ATA 指的是一种特殊的连接在主板上的控制器,用于与附加设备通信传输。ATA部件指的是连接存储设备到主板上的接口,如CD-ROMs,硬盘驱动,磁带驱动。最新版本Ultra DMA(UDAM)数据传输高达133Mb/s。
另外一号SATA ,是串行接口,数据传输达到6Gb/s。
3)、 disk drive与tap drive
disk drive相比于 tap drive来说更适合作存储媒介,原因是tap drive有几个不足之处:(1)数据在tap上是顺序存储的,按照顺序查询操作;(2)不能多用户同时访问存储于tap上的数据;(3)读写头在tap的表面,数据很快就被擦除;(3)空间占用较disk大。而disk硬盘随机查询,可以多个应用程序同时访问存储于disk上的数据。
2、SAN (Storage area Network存储局域网架构): 分为两种:FC SAN(光线通道协议SAN)、TCP/IP SAN
采用SCSI块I/O的命令集,通过FC访问数据,具有高带宽、低延迟的优势,在高性能计算中占有一席之地,如SGI的CXFS文件系统就是基于SAN实现高性能文件存储的,但是由于SAN系统的价格较高,且可扩展性较差,已不能满足成千上万个CPU规模的系统。
3、NAS 它采用NFS或CIFS命令集访问数据,以文件为传输协议,通过TCP/IP实现网络化存储,可扩展性好、价格便宜、用户易管理,如目前在集群计算中应用较多的NFS文件系统,但由于NAS的协议开销高、带宽低、延迟大,不利于在高性能集群中应用。
4、对象存储结构 Object-based Storage Device,OSD
数据访问有三种类型:
1)、块级访问:数据在固定大小的区块上进行存取。
FC SAN采用块级访问机制从存储设备中获取数据。主要由客户端、支持FC协议的存储设备或存储阵列、光纤材料、交换机或路由、主机适配器组成,数据传输速率达16Gb/s,高度可扩展,但是成本高昂(不适合大数据应用的存储)。
建立交换矩阵SAN可以使用一个或多个光纤通道交换机,然而只有当所有存储设备的网卡象操作系统和应用一样能够连接到这一交换矩阵上,才有可能访问由这一交换矩阵所提供的服务。这是因为首先网卡要通过登录到这一交换矩阵来成为网络的一个成员,这一过程称作FabricLogin。因而显而易见,在组建SAN时选用支持Fabric Login的网卡是非常重要的。
相比之下,IP SAN(Internet Protocol Storage Area Network)成本较低,也是采用块级访问机制,其中iSCSI(SCSI over IP)是使用SCSI命令集的基于TCP/IP网络协议的存储网,不仅成本低,采用1/10 Gb以太网传输,减少了网络复杂度,而且几个支持iSCSI的存储阵列能提供百万级的iSCSI IOPS来处理大数据应用的高性能问题,但是对于选择iSCSI作为存储大数据的网络架构不足的是不能支持文件级存储。
2)、文件访问:文件服务器利用IP网访问其提供的共享存储,通过文件名和路径访问文件。例如,NAS(network-attached storage).
3)、对象级访问:数据访问在大小可变的称作对象的块区上。
每一个对象是一个包括数据和与之相关属性的容器,由唯一地object ID(由128bit随机数产生)进行标志,基于对象的存储机制适用于存取非结构化的数据,它主要特征是可以为每个对象提供丰富的元数据,从而利用这些元数据高效地对数据(特别是非结构化数据)操作和管理。具体的说,利用对象实体内的命令来对数据进行如创建、删除等操作,唯一的object ID标志方法管理每个对象,关于对象的其他信息,如位置,大小等被管理存储于元数据中。另外,存储于对象存储设备中的数据通过Representation State Transfer(REST)和Simple Object Access Protocol(SOAP)进行访问;某些类型的对象存储设备还提供对HTTP,XML等协议的支持。
基于对象存储的 机制一般不会对并发读/写、文件锁、权限等有额外的负担,它在大规模拓展和性能上有极大提升;并且,每一个对象赋予丰富的元数据对性能分析非常有效,因此,对象存储设备对于高性能大数据应用产生的数据进行存储是个理想的选择。
3、大数据存储架构总结
1)灵活性:有能力存储不同类型、不同格式的数据;
2) 支持异构环境:在不需要修改任何配置,应用服务器能够通过LAN或SAN访问大量多种文件资源。
3) 支持存储虚拟化:能够汇集不同类型存储设备的数据,并对存储资源在一个单元下进行高效的管理。
4) 高性能:针对许多大数据应用需要实时数据响应的需求,就要求存储架构的设计具有高速进行数据处理的能力。
5) 扩展:及时依据大数据需求快速扩展。
1)FC SAN,属于最推崇的存储局域网之一,块级存储,成本高昂,不推荐作为大数据存储网络架构。
2)IP SAN,基于此之上的iSCSI,成本较低,块级存储,但是不支持大数据文件级访问,不推荐
3)Fiber Channel Over Ethernet (FCoE),以太网的光纤传输通道技术,一种通讯技术,成本高昂,不推荐
4)Network -Attached Storage (NAS),文件级存储
在此基础上作改进的scale-out NAS被很多组织采纳作为大数据存储,优点:高扩展,它可以根据需求增加额外的存储设备;灵活性高,可以用于UNIX和Windows平台上,可被客户端或服务器端访问;10Gb以太网数据传输,性能提升。
市场上Scale-out NAS存储供应商有EMC Isilon,IBM Scale-Out Network -Attached Storage (SONAS), and NetApp NAS
4、用于大数据分析的流行文件系统
常见的GFS、HDFS、Panasas,下面主要了解集群高性能并行文件系统(Luster File System)。
1)集群高性能并行文件系统——基于linux系统,采用内核模块传输实现高性能
它能够灵活的支持不同类型的客户端,运行于任何硬件之上
1. HDFS使用集中式单一节点架构(NameNode)来维护文件系统元数据,而在Swift中,元数据分布在整个集群中并拥有多个副本。注意:集中式元数据存储使HDFS存在性能、单点故障和扩展性问题,因此规模越大就性能越低,就越容易不可用,就越难扩展甚至不能扩展,所幸的是HDFS2使用NameNode HA和HDFS Federation解决了这三个问题。2. Swift在设计时考虑到了多租户架构,而HDFS没有多租户架构这个概念。3. HDFS针对大文件作了优化(HDFS关注吞吐量,常用于批量数据处理),而Swift被设计成可以存储任意大小的文件。4. 在HDFS中,文件只能写入一次(部分版本可以使用Append操作在文件的末尾添加数据,但不支持在文件的任意位置进行修改),而在Swift中,文件可以写入多次。5. HDFS用Java来编写,而Swift用Python来编写。