传统存储系统依赖于磁盘驱动器和它们的本地接口持久地存储数据。这些接口依赖于块存储语义,大小固定的数据小块与它们的映射(文件系统元数据)相关联。对象存储系统则采用截然不同的方法:它们不是管理大小固定的数据块,而是管理大小可变的对象以及相关联的元数据(提供关于对象的系统级信息)。
对象存储设备和标准对象存储设备基于 T-10 Object Storage Devices(OSD)标准。该规范详细描述了用于支持对象级管理的对标准 SCSI 命令集的扩展。除了定义对象级访问方法外,该规范还包括安全性和元数据管理。
对象存储系统是解决包含多租户和安全性的可伸缩存储的唯一途径。构建作为一种标准的 OSD(见侧边栏)的方式有很多种。例如可以使用遵从 OSD 的组件(例如 OSD 驱动器和启动器)或更高级的组件(在传统驱动器上构建 OSD 行为的目标系统)。但是,基于块的存储系统与基于对象的存储系统之间的根本区别在于,在基于块的存储系统中,是从块集合创建对象的,块中既包括数据,又包括使用某种协议与块通信的元数据。而在基于对象的存储系统中,是与对象和它们的关联元数据通信的(如图 2 所示)。于是,对象存储设备成为对象的平面名称空间(flat namespace),必要时,在存储系统栈中的更高层建立层次结构。