这里又单独说一下对象存储,主要借鉴百度百科,对对象存储有了一点认识
首先,
传统块存储与对象存储结构对比示意图:
对象存储主要由对象(object),对象设,备(Object-based Storage Device),文件系统组成。
(1)对象:包含了文件数据以及相关的属性信息,可以进行自我管理
对象存储的基本单元。每个Object是数据和数据属性集的综合体。数据属性可以根据应用的需求进行设置,包括数据分布、服务质量等。在传统的存储中,块设备要记录每个存储数据块在设备上的位置。Object维护自己的属性,从而简化了存储系统的管理任务,增加了灵活性。Object的大小可以不同,可以包含整个数据结构,如文件、数据库表项等。
(2)对象设备:一个智能设备,是Object的集合
每个OSD都是一个智能设备,具有自己的存储介质、处理器、内存以及网络系统等,负责管理本地的Object,是对象存储系统的核心。OSD同块设备的不同不在于存储介质,而在于两者提供的访问接口。主要提供数据存储和安全访问。OSD使用Object对所保存的数据进行管理。它将数据存放到磁盘的磁道和扇区, 将若干磁道和扇区组合起来构成Object,并且通过此Object向外界提供对数据的访问。每Object同传统的文件相似,使用同文件类似的访问接 口,包括Open、Read、Write等。但是两者并不相同,每个Object可能包括若干个文件,也可能是某个文件的一部分,且是独立于操作系统的。 除了具体的用户数据外,OSD还记录了每个Object的属性信息,主要是物理视图信息。将这些信息放到OSD上,大大减轻了元数据服务器的负担,增强了 整个存储系统的并行访问性能和可扩展性。(因为可以直接和客户端进行数据传输了。)
(3)文件系统:文件系统运行在客户端上,将应用程序的文件系统请求传输到MDS和OSD上,元数据服务器(Metadata Server,MDS)。系统提供元数据、Cache一致性等服务文件系统对用户的文件操作进行解释,并在元数据服务器和OSD间通信,完成所请求的操作。现有的应用对数据的访问大部分都是通过POSIX文件方式进行的,对象存储系统提供给用户的也是标准的POSIX文件访问接口。同时,文件系统必须维护不同客户端上Cache的一致性,保证文件系统的数据一致。
文件系统访问过程:
(4)元数据服务器 (Metadata Server)