1、对象存储Object-Based StorageHistory of Object StorageThe Data Access Taxonomy The Block ParadigmDAS, SANThe Block ParadigmThe Data Access Taxonomy The File ParadigmLocal FS, Distributed FS: (NFS, CIFS, WAFS) Shared FS: (Cluster FS, SAN FS) Global, Distributed & Parallel FSNASLocal File SystemsOne more l
2、evelof indirectionDistributed File Systemse.g. NAS with NFS,CIFS ProtocolNAS Aggregation/Virtualization Global NamespaceNAS Aggregation/Virtualization Global NamespaceNAS ClusterTightly Coupled NASNAS ClusterLoosely Coupled NAS: Global Namespace with NFSv4.1 and pNFSThe Data Access Taxonomy The Obje
3、ct ParadigmOSDCASOSS The Old Block Paradigm The New Object Paradigm Block ParadigmThe New Object Paradigm WRITE 26,763 BytesQoS= HighDescription = “X-Ray”Retention = 50 yearsAccess Key = *&%#Data Payload.Object Storage Responsibilities: Space Management Access Control (Identity Mgmt) QoS Management
4、Cache, Backup Policy Migration, Retention Self-Contained ObjectsMetadata: creation date/time; ownership, size.Attributes inferred: access patterns, content, indexes.Attributes user supplied: retention, QoSBlock Access - Inodes The inode contains a few block numbers to ensure efficient access to smal
5、l files. Access to larger files is provided via indirect blocks that contain block numbersBlock Access - InodesInodes vs. Objects ANSI T10 OSD SCSI Targets SCSI Standards Architecture Object AutonomyStorage becomes autonomous:capacity planningload balancingbackupQoS, SLAsunderstand data/object group
6、ingaggressive pre-fetchingthin provisioningsearchcompression/de-duplication/encryptionstrong securitycompliance/retention/secure deleteavailability/replicationaudit . . .Data SharingHomogeneous/HeterogeneousData SharingHomogeneous/HeterogeneousData Migration - ILMHomogeneous/HeterogeneousAdditional
7、Layer of Security strong security via external service authentication authorization NIS, LDAP.fine granularity per object Living in a Flat NamespaceVirtual View / Virtual File SystemsThe First Generation of Object StorageObject Decomposition对象存储系统结构对象存储系统组成 对象对象(Object) 包含了文件数据以及相关的属性信息,可以进行自我管理 uOS
8、D(Object-based Storage Device) 一个智能设备,是Object的集合 u文件系统文件系统 文件系统运行在客户端上,将应用程序的文件系统请求传输到MDS和OSD上 u元数据服务器元数据服务器(Metadata Server,MDS) 系统提供元数据、Cache一致性等服务 u网络连接网络连接1. 对象(Object) 对象存储的基本单元。每个Object是数据和数据属性集的综合体。数据属性可以根据应用的需求进行设置,包括数据分布、服务质量等。在传统的存储中,块设备要记录每个存储数据块在设备上的位置。Object维护自己的属性,从而简化了存储系统的管理任务,增加了灵活性
9、。Object的大小可以不同,可以包含整个数据结构,如文件、数据库表项等。 对象分类2、OSD(Object-based Storage Device) 每个OSD都是一个智能设备,具有自己的存储介质、处理器、内存以及网络系统等,负责管理本地的Object,是对象存储系统的核心。OSD同块设备的不同不在于存储介质,而在于两者提供的访问接口。 OSD的主要功能数据存储和安全访问数据存储和安全访问 对象放置管理:OSDOSD使用使用ObjectObject对所保存的数据进行管理。它将数据存放到磁盘的磁道和扇对所保存的数据进行管理。它将数据存放到磁盘的磁道和扇区,将若干磁道和扇区组合起来构成区,将若
10、干磁道和扇区组合起来构成ObjectObject,并且通过此,并且通过此ObjectObject向外界提供对数据的访问。向外界提供对数据的访问。对象操作对象操作:每个每个ObjectObject同传统的文件相似,使用同文件类似的访问接口,包括同传统的文件相似,使用同文件类似的访问接口,包括OpenOpen、ReadRead、WriteWrite等。但是两者并不相同,每个等。但是两者并不相同,每个ObjectObject可能包括若干个文件,也可能是某个文件的一部可能包括若干个文件,也可能是某个文件的一部分,且是独立于操作系统的。除了具体的用户数据外,分,且是独立于操作系统的。除了具体的用户数据外
11、,OSDOSD还记录了每个还记录了每个ObjectObject的属性信息,的属性信息,主要是物理视图信息。将这些信息放到主要是物理视图信息。将这些信息放到OSDOSD上,大大减轻了元数据服务器的负担,增强了整上,大大减轻了元数据服务器的负担,增强了整个存储系统的并行访问性能和可扩展性。个存储系统的并行访问性能和可扩展性。 3、客户端文件系统 文件系统对用户的文件操作进行解释,并在元数据服务器和文件系统对用户的文件操作进行解释,并在元数据服务器和OSD间通信,完间通信,完成所请求的操作。成所请求的操作。 现有的应用对数据的访问大部分都是通过现有的应用对数据的访问大部分都是通过POSIXPOSIX
12、文件方式进行的,对象存储系统提供给文件方式进行的,对象存储系统提供给用户的也是标准的用户的也是标准的POSIXPOSIX文件访问接口。文件访问接口。 接口具有和通用文件系统相同的访问方式,同时为了提高性能,也具有对数据的接口具有和通用文件系统相同的访问方式,同时为了提高性能,也具有对数据的CacheCache功能和文件的条带功能。功能和文件的条带功能。 同时,文件系统必须维护不同客户端上同时,文件系统必须维护不同客户端上CacheCache的一致性,保证文件系统的数据一致的一致性,保证文件系统的数据一致 文件系统读访问实例:1) 客户端应用发出读请求客户端应用发出读请求;2) 文件系统向元数据
13、服务器发送请求,获取要读取的数据所在的文件系统向元数据服务器发送请求,获取要读取的数据所在的OSD;3) 然后直接向每个然后直接向每个OSD发送数据读取请求;发送数据读取请求;4) OSD得到请求以后,判断要读取的得到请求以后,判断要读取的Object,并根据此,并根据此Object要求要求的认证方式,对客户端进行认证,如果此客户端得到授权,则将的认证方式,对客户端进行认证,如果此客户端得到授权,则将Object的数据返回给客户端;的数据返回给客户端;5) 文件系统收到文件系统收到OSD返回的数据以后,读操作完成。返回的数据以后,读操作完成。4.元数据服务器 (Metadata Server)
14、 为客户端提供元数据,主要是文件的逻辑视图,包括文件与目录的组织关系、每个文件所对应的OSD等。4.元数据服务器 (Metadata Server) 在传统的文件系统中,元数据由本机或者文件服务器负责维护,每次对数据块的操作都要获取元数据。 在对象存储系统中,由于每次操作只有一次对元数据的访问,具体的数据传在对象存储系统中,由于每次操作只有一次对元数据的访问,具体的数据传输都由输都由OSD和客户端通过直接连接进行,大大减少了元数据的操作,降低和客户端通过直接连接进行,大大减少了元数据的操作,降低了元数据服务器的负担,从而为系统的扩展提供了可能性。了元数据服务器的负担,从而为系统的扩展提供了可能
15、性。 4.元数据服务器 (Metadata Server) 特点特点 客户端采用客户端采用Cache来缓存数据来缓存数据 当多个客户端同时访问某些数据时,当多个客户端同时访问某些数据时,MDSMDS提供分布的锁机制来确保提供分布的锁机制来确保CacheCache的一致性。的一致性。 为客户端提供认证为客户端提供认证 为了增强系统的安全性,MDS为客户端提供认证方式。OSD将依据MDS的认证来决定是否为客户端提供服务。 5. 网络连接 网络连接是对象存储系统的重要组成部分。它将客户网络连接是对象存储系统的重要组成部分。它将客户端、端、MDS和和OSD连接起来,构成了一个完整的系统连接起来,构成了
16、一个完整的系统。对象存储与传统存储的对比存储接口存储接口存储系统存储系统优点优点缺点缺点块块级级存存储储块块块存储设备块存储设备如如: SAN , : SAN , 提供高性能的随提供高性能的随机机I/OI/O和数据吞吐率和数据吞吐率可扩展性和可管理性较差、价格可扩展性和可管理性较差、价格较高、不能满足成千上万较高、不能满足成千上万CPU CPU 规规模的系统模的系统文文件件储储存存文件文件块存储设备块存储设备文件系统文件系统如如:NAS, :NAS, 扩展性好、易于管扩展性好、易于管理、价格便宜理、价格便宜开销高、带宽低、延迟大开销高、带宽低、延迟大, ,不利不利于高性能集群中应用于高性能集群
17、中应用对对象象存存储储对象对象块存储设备块存储设备文件系统文件系统定位逻辑定位逻辑应用程序应用程序支持高并行性、可伸缩的数支持高并行性、可伸缩的数据访问据访问, , 管理性好、安全性管理性好、安全性高、适合高性能集群使用高、适合高性能集群使用处于发展阶段处于发展阶段, ,相应的硬件、软相应的硬件、软件支持有待进一步完善件支持有待进一步完善对象存储的特性(总结) 性能优势性能优势 存储设备的智能化存储设备的智能化 数据的共享更容易数据的共享更容易 管理更方便管理更方便 更好的安全性更好的安全性 对象存储系统实例:Lustre A shared file system for HPC cluste
18、rs Open Source software (GPL) linux cluster Very high metadata and I/O performance 5,000 file creations/sec in 1 dir, 1,000 nodes Single clients up to 290MB/sec. Aggregate up to 11GB/sec Scalable to 1,000s of nodes In production now on such clustersLustre Retrospective 1999 Initial ideas CMU Seagate
19、: management aspects, prototypes Much survives today 2000 National Labs Can Lustre be next generation FS? 100 GB/sec, trillion files, 10,000s clients, secure, PBs 2002 2003 Many partners: Dell, HP, Cray, LNXI, DDN others Production use, 1.0 releasedA Lustre ClusterLustre Systems Clients 1000s now, 1
20、0,000s future Obtain access to Lustre file system Typical role: Linux compute server OSS 100s now, 1000s future Object storage servers Linux servers handling (stripes of) file data MDS 10s, 100s nodes Metadata request transaction engine. Linux server handling metadata requestsKey Design Issue : Scal
21、ability I/O throughput How to avoid bottlenecks Metadata scalability How can 10,000s of clients work on files in same folder Cluster Recovery If sth fails, how can transparent recovery happen Management Adding, removing, replacing, systems; data migration & backupReference Lustre: A SAN File System
22、for Linux http:/www/lustre.org/docs/lustre/luswhite.pdf Several presentation materials from Dr. Peter J. BraamThe Current Generation of Object StorageCloud Storage, Storage Clouds, Object Storage Cloud Storage is the storage used for Compute Cloud infrastructures Compute Clouds are very IOPS intensi
23、ve and usually block storage is used in these applications Storage Clouds are “storage in the cloud”, whether public or private Storage Clouds are simply storage capacity that is made available through the Internet Most of todays storage clouds use object storage technologiesScale out object storage
24、 with simple REST API REST APIs REST stands for Representational State Transfer It is a software architecture that is used for distributed application environments REST APIs have become the predominant interface for cloud applications to connect to the cloud For storage-centric cloud applications, a
25、 REST API is the interface between the application and the object storage platform PUT GET DELETECurrent Object Storage Summary Data is stored as objects in one large, scalable pool of storage Objects are stored with metadata information about the object An Object ID is stored, to locate the data RE
26、ST is the standard interface, simple commands used by applications Objects are immutable; edits are saved as a new objectWhy Object Storage? Massive Data Growth Always Online data needs to be available anywhere at anytime Power to the Applications App. to storage with REST API directly, without addi
27、tional (file system) layers The Big Data ExplosionThe Evolution of Data ProcessingMigration of Storage ApplicationThe Evolution of StorageThe Vertical Consolidation Storage and server Migration of data processing applications No I/O is best I/O主动对象存储 传统存储系统被动响应服务请求 对象具有智能性智能的系统能够提供主动服务存储组织结构对比应用系统接口
28、主机适配器驱动文件系统用户部件扇区接口块I/O管理器应用系统接口文件系统存储部件文件系统用户部件传统模式 主动对象模式块I/O管理器OSD接口文件系统用户部件适配器驱动文件系统存储部件盘设备驱动总线设备驱动总线驱动硬盘驱动文件系统存储部件 主机存储系统l只含数据l主机组织和管理l被动响应l含“数据、属性”和“操作操作”l自组织和自管理l主动服务性能高管理简单效率低管理复杂主动对象存储服务机制负载模型/预测模型根据历史负载预测未来趋势存储主动服务机制存储节点主动对象中的概念 方法对象:一段可执行代码,用于对用户对象进行操作 过滤型方法 服务型方法 策略对象:决定方法的执行有两种方式 请求触发 策
29、略触发主动对象特点 自我学习和策略触发机制,实现存储主动服务 自我组织与管理,自我优化调节,使系统整体性能最佳 利用对象“封闭”特性,使系统具有安全性 提高系统可靠性,在故障出现时实现快速恢复IP硬盘硬盘作为通用存储介质已有超过40年的历史硬盘接口技术已经演进到第四代基于SCSI协议的SAS/SATA接口 IDE接口、ATA接口、SCSI接口和SAS接口PCIe推进成为一种事实上的“硬盘接口”传统的硬盘接口,如SAS和SATA基于传统的LBA定长寻址协议,依赖OS,扩展困难互联网公司对冷存储的需求愈演愈烈,IPIP接口接口是理想的选择IP硬盘 某些海量存储不可能再以传统的块、文件系统、应用的访
30、问方式进行建设,这一架构尤其是文件系统的效率是很低的,业界的共识是,海量存储的海量存储的主流很可能会是对象存储主流很可能会是对象存储,因为这一架构可以让上层应用从“数据到底存在了硬盘的什么地方”,转变为“不再需要关心数据存放在硬盘的什么具体位置” 传统的服务器或存储系统,以SAS为基础,需要“进行空间管理、协议转换,底层RAID控制器实现数据的小范围冗余容错及性能优化,在所有服务器上运行分布式文件系统来执行数据的大范围容错和均衡,但随着互联网企业在海量存储领域的话语权逐渐增强,越来越多的用户希望,将尽可能细颗粒度尽可能细颗粒度的组件不只是一块硬盘甚至是一个盘片一个磁头都开放给上层应用访问,尽可
31、能的“降低访问粒度,提升了大范围内的访问并行度”IP硬盘2005年,国外一家初创公司做了一种以太网口的硬盘,在硬盘上加上一个转接板固态存储、Big data技术崛起,除了块和文件,对象接口对象接口越来越被广泛使用2012年,华为就推出了自己的海量存储产品UDS,其中就可以看到IP硬盘的前身 ARM+SAS/SATA控制,以太网以太网口口+对象对象访问访问2013.10,华为与希捷公司联合推出代号为Kinetic的IP接口硬盘。希捷、WD、HGST、东芝均在IP盘投入不少精力SASvsKinetic Open Storage IP硬盘采用Key/Value的方式访问 支持大规模并行访问 Kinetic提供一组API(Kinetic Library),应用程序直接通过调用API来完成对IP硬盘的管理工作方式IO路径对比应用前景 希捷和西数等硬盘厂商提供IP接口的硬盘,硬盘实现相应的Kinetic协议; Cisco等网络厂商提供相应的以太网络,保证相应的传输QoS; Redhat可以把Kinetic API做到系统里面去,变成OS的一部分; 华为和NetApp等存储厂商可以利用IP硬盘开发自己的对象存储系统,在自己的客户哪里进行销售 海量低成本存储 冷数据存储 备份