论文部分内容阅读
随着越来越多的对大规模存储的要求,国际上正在研究全新的存储架构和新型文件系统,希望能有效结合存储区域网(SAN)和附网存储(NAS)系统的优点,支持直接访问磁盘以提高性能,通过共享的文件和元数据以简化管理。基于对象的存储设备(Object Storage Device,OSD)被认为是该问题的解决之道。设计了OSD目标器的软件结构,包含三个组成部分:FETD(Front-End Target Driver),OSD STML(SCSI Target Mid-Level)和对象管理模块。目标器端的FETD层会以iSCSI PDUs的形式收到这些OSD命令或数据。FETD层会将这些iSCSI PDUs解包得到CDB(命令描述块),并将这些CDB交到STML层。STML层对CDB进行解析,根据命令的不同,为它们制定不同的操作流程。最后STML层将CDB与执行CDB所需要的资源交给对象管理模块,由对象管理模块完成对OSD命令和数据的实际操作。设计实现的OSD对象管理模块中,磁盘布局实现了新的以“Region”为基础的结构,同时“Region”还会分为不同的类型,有STRIPE,LARGE ,SMALL。对象的元数据存储在Onode结点里面,类似于EXT2文件系统中的i节点,Onode结点里还设计实现了与对象相关的用户对象负载统计属性页、用户对象存储策略属性页、用户对象文件信息属性页。在一个已存在的“Region”上可以根据应用程序的要求实现创建对象,并创建Onode结点实现对象的属性控制。实现了OSD目标器的两个关键技术:其一,扩展SCSI协议使其支持OSD设备。其二,对象管理模块和CACHE模块间通讯时要注意将基于对象的命令转换为条带命令下发给CACHE模块。访问OSD设备的途径,可以直接通过OSD设备驱动程序提供的API访问存储设备和通过对象文件系统进行访问。最后实现了OSD目标器的原型系统,通过对原型系统进行的性能测试,证明了原型系统能够达到设计的要求。