1.5 对象存储系统
随着网络技术的飞速发展和用户对大规模存储系统日益增长的需求,网络存储系统逐渐成为存储系统领域的主流。网络存储系统要想成功,必须有效解决以下三个主要问题:第一,提供高性能的存储,在存储容量、性能和数据吞吐率方面能满足成百上千台规模的集群服务器聚合访问需求;第二,提供安全的数据共享访问,便于集群应用程序的编写和存储的负载均衡;第三,提供强大的容错能力,确保存储系统的高可用性。
目前,国际上主流的网络存储结构主要有存储局域网络(storage area network, SAN)和网络附加存储(network attached storage, NAS)。SAN采用交换式结构,可为较大数目的节点和存储设备提供一个快速、可扩展的互联。它采用SCSI块I/O的命令集,通过在多个磁盘上的并发的数据访问,提供高性能的随机I/O性能和数据吞吐率,具有高带宽、低延迟的优势,在高性能计算中占有一席之地。如SGI Columbia就采用基于SAN结构的CXFS文件系统,实现高性能文件存储。但是SAN系统的价格较高,且在可扩展性方面仍有一定局限性,随着SAN连接规模的扩大,其安全性和可管理性也存在着不足。NAS采用NFS或CIFS协议提供数据访问接口,以文件为传输最小单元,通过TCP/IP实现网络化存储,支持多个平台间的数据共享,具有可扩展性好、价格便宜、用户易管理等特点。由于NAS的协议开销高、带宽低、延迟大,不利于在高性能I/O集群中应用,因此,通常用于与其他异构系统的互联,如IBM Blue Gene通过NFS与外部存储系统互联。NAS和SAN都难以提供完美的存储解决方案:NAS基于文件,SAN基于块。“文件”级别的接口提供了安全性和跨平台的互操作性;而“块”级别接口在快速访问、高性能方面有优势。因此,将两种方式结合起来产生一种全新的接口——对象(object)。基于对象的存储(object-based storage, OBS)提供一个完美的解决方案。因在性能、可扩展、数据共享,以及容错、容灾等方面有杰出表现,对象存储的概念已经被工业界广泛认可。惠普、Panasas等公司已经推出了相关产品。
对象存储是基于封装了用户数据的数据对象,包括数据、属性和元数据。数据、属性和元数据的结合,使对象存储得以确定数据的布局或保证基于每个数据对象所提供的服务质量,这就提高了灵活性和可管理性。
对象存储的独特设计,不同于传统的基于块接口的标准存储设备。对象存储是一个磁盘驱动器的智能进化,它可以存储和提供对象,而不仅仅是简单地将数据存放于磁道和扇区。这个任务的完成是通过将底层存储功能移动到存储设备中,并通过对象接口来访问设备实现的。使用对象存储的系统能提供以下好处,这在典型的IT存储应用范围内是广泛可取的:
• 存储层的智能空间管理;
• 数据感知的预取和缓存;
• 健壮性,多个客户端的共享访问;
• 使用卸载的数据路径的可扩展;
• 可靠的安全保障。