3.3 元数据服务器(Metadata Server , MDS)
MDS控制Client与OSD对象的交互,主要提供以下几个功能:
(1) 对象存储访问
允许Client直接访问对象,OSD接收到请求时先验证该能力,再访问。
(2) 文件和目录访问管理
MDS在存储系统上构建一个文件结构,限额控制、包括目录、文件的创建、访问控制等
(3) Client Cache 一致性
为提高性能,在对象存储系统设计时通常支持Client的Cache。因此带来了Cache一致性的问题,当Cache文件发生改变时,将通知Client刷新Cache,以防Cache不一致引发的问题。
对象存储:
一个文件包含了属性(术语叫matadata元数据,例如该文件的大小、修改时间、存储路径等)以及内容(简称数据)。
以往的文件系统,存储过程将文件按文件系统的最小块来打散,再写进硬盘,过程中没有区分元数据(metadata)和数据。而在每个块最后才会告知下一个块的地址,因此只能一个一个读,速度慢。
而对象存储则将元数据独立出来,控制节点叫元数据服务器(服务器+对象存储管理软件),里面主要存储对象的属性(主要是对象的数据被打散存放到了那几台分布式服务器中的信息),而其他负责存储数据的分布式服务器叫做OSD,主要负责存储文件的数据部分。当用户访问对象时,会先访问元数据服务器,元数据服务器只负责反馈对象存储在那些OSD。假设反馈文件A存储在B,C,D三台OSD,那么用户就会再次访问三台OSD服务器去读取数据。
这时三台OSD同时对外传输数据,因此传输的速度就加快了。OSD服务器数量越多,这种读写速度的提升就越大。
另一方面,对象存储软件有专门的文件系统,所以OSD对外又相当于文件服务器,那么就不存在文件共享方面的困难了,也解决了文件共享方面的问题。
因此对象存储的出现,很好的结合了块存储与文件存储的优点。
为什么还要使用块存储和文件存储:
1.有一类应用是需要存储直接裸盘映射的,比如数据库。因为数据库需要存储裸盘映射给自己后,再根据自己的数据库文件系统来对了裸盘进行格式化,因此不能采用其他已经被格式化为某种文件系统的存储。此类更适合块存储。
2.对象存储的成本比普通的文件存储还是较高,需要购买专门的对象存储软件以及大容量硬盘。如果对数据量要求不是海量,只是为了作文件共享的时候,直接用文件存储的形式就好了,性价比高。
关于存储技术就介绍完了,您有什么想法可以联系小编。