节点文献

对象属性控制的存储策略研究

Research on Attributes Managed Policies in Object-based Storage Systems

【作者】 董晓明

【导师】 谢长生;

【作者基本信息】 华中科技大学 , 计算机系统结构, 2006, 博士

【摘要】 理想的存储体系结构应该提供安全性、跨平台数据共享、高性能、以及可扩展性,然而当前广泛使用的三种存储结构(DAS,SAN和NAS)都不能兼顾所有这些需求。因此,工业界和学术界正在努力改变目前的存储技术,使存储设备从非智能的、外部管理发展成为智能的、自管理的设备,并且能够感知设备所服务的应用。基于对象的存储(Object-Based Storage)被认为是该问题的解决之道。一个存储对象是存储设备上的字节的逻辑集合,可以认为对象是“文件”和“块”这两种技术的融合。一方面,对象提供给用户应用一个类似文件的高层抽象,允许不同的操作系统平台之间安全地共享数据;同时还具有数据块技术的优点,提供快速、可扩展的数据访问途径。基于对象的存储的关键贡献就是提供了直接的、类似文件的存储设备访问。对象由数据、用户可访问属性和设备管理的元数据组成。存储对象的设备称为“基于对象的存储设备(OSD)”。OSD不仅存储数据,还具有传统文件系统的空间管理功能。属性包含了数据的描述信息,是存储设备“意识到”对象如何被访问的关键所在。因此,与块I/O相比,对象提供了更丰富的、更有表达力的接口。应用可以通过属性控制存储设备有针对性的选择存储策略,从而达到预期的目标。为了实现属性控制的存储策略,关键需要解决两个问题:第一,属性表达什么信息,怎样影响存储策略?第二,属性怎样从用户应用传递给存储设备?围绕这两个问题,磁盘阵列(RAID)被作为研究对象进行了深入研究。存储需求在快速增长,高性能磁盘阵列是很多大规模存储应用的关键组成部分。磁盘阵列将数据分条放置到多个磁盘,通过增加数据访问的并行性提高存储系统的性能,同时通过数据冗余提高数据可用性。RAID级别的选择是一个令人困扰的问题,因为没有哪一个级别能够做到对所有的负载都是最优的。RAID配置的自动化将大大有助于降低整个存储系统设计的难度和管理维护成本。因此,从研究磁盘阵列的数据布局和应用负载的特征入手,通过考察两者之间的关系,提出根据负载动态选择RAID级别和分条单元大小的数据放置策略。应用的特征以属性来表示,必须通过一定途径到达设备才能为设备所用。以SCSI OSD协议为基础,建立属性的两种传递机制。一种是调用专门的应用程序接口直接提供属性信息,存储设备根据属性直接做出存储策略选择。另一种是应用程序提供文件系统层的信息,设备内部根据文件的属性做出相关预测,并用于策略选择。比较而言,前者容易实现,而后者要求新的OSD文件系统,好处是不需要修改应用程序。同时还给出了三个属性页的定义作为OSD标准扩展提议。最后,设计实现了符合T10 OSD标准协议的原型系统(iSCSI-OSD-RAID)。iSCSI协议一直是IP存储的推动力量,已经发展比较成熟。这里利用iSCSI协议作为OSD命令的传输层,加快了系统的实现过程。同时,以一个正在进行的RAID控制器项目为基础,增加了新的对象存储管理模块,最终实现了OSD接口的磁盘阵列,并验证了属性控制的数据放置策略。

【Abstract】 An ideal storage architecture would provide strong security, data sharing across platforms, high performance, and scalability in terms of the number of devices and clients. The three storage architectures in common use today are direct-attached storage (DAS), storage area networks (SANs), and network-attached storage (NAS), they cannot meet all of these requirments. Recent industry and academic research suggests a shift in storage technology, in which devices evolve from relatively unintelligent and externally managed to intelligent, self-managed, and aware of the storage applications they serve. However, creating such an intelligent device requires a more expressive interface. Many in the industry believe that an interface based on storage objects can be the answer.A storage object is a logical collection of bytes on a storage device, which can be regarded as the convergence of two technologies: files and blocks. Files provide user applications with a higher-level storage abstraction that enables secure data sharing across different operating system platforms; and blocks offer fast, scalable access to shared data. Providing direct, file-like access to storage devices is therefore the key contribution of object-based storage. Objects are composed of data, user-accessible attributes, and device-managed metadata. We refer to a device that stores objects as an object-based storage device (OSD), which offloading of space management from storage applications (i.e., the tranditional block-based file systems). Attributes are set of information describing the data. They are also the key to giving storage devices an awareness of how objects are being accessed. Furthermore, an OSD could allow storage applications to establish sessions with the device to encapsulate application-specific parameters such as QoS or data placement policies.In order to implenment attributes managed policies in object-based storage systems, we have to resolve two key issues. The first, what informatioin is provided by attributes and what storage policy should be choose? The second, How to transfer attributes from user applications to storage devices? We are trying to answer these two questions by focusing on RAID systems in this dissertation.Storage demands are growing rapidly and high-performance RAID (Redundant Array of Independent Disks) storage is a critical component for many large-scale data-intensive applications. The parallelism of a RAID’s multiple disks provides high bandwidth, while its parity storage provides fault tolerance. While it’s difficult to select the best RAID level for administrators because of no one level is suitable for all types of application workloads. We have studied data layout of disk array, workload features and their relationships, then designed a new data placement policy of dynamically selecting RAID level and stripe unit size depend on workloads.Furthermore, we established the mechanism for transferring attributes from application to device beased on T10 SCSI OSD protocal. One approach is provide attributes by calling specific APIs, and the other is provide file system information as“hints”for prediction and further policy choice. We also defined three new attribute pages for OSD standard as extention proposal.At last, we introduced the design and implementation of a prototype system, iSCSI-OSD-RAID, which is compatible to T10 OSD standard (version 1). It use iSCSI protocal as SCSI command transport layer. We developed a OSD target driver over iSCSI on Linux platform based on our RAID controller project. The evaluation results verified performance and the attributes managed data placement policy.

【关键词】 对象存储属性磁盘阵列存储策略
【Key words】 objectstorageattributeRAIDstorage policy
节点文献中: 

本文链接的文献网络图示:

本文的引文网络