文件和块存储中存储的元数据是什么?我假设文件存储具有与文件系统的层次结构性质有关的元数据,例如,哪些文件、哪些目录、目录中的文件/子目录以及其他元数据,例如创建日期/权限等。
现在在块存储中,从用户的角度来看,我们看到文件系统按层次结构排列。但是块存储是否将此作为内置功能提供?我认为块存储不知道文件系统的层次结构。它只能将文件分成块并存储,在检索时,它可以组合并发送单个文件。所以,我的问题是:
- 谁究竟维护块存储中的分层信息?
- 谁维护块存储中的创建日期/上次更新/权限等元数据?
答案1
顾名思义,块存储只能存储固定大小的块,通常为 512 字节。每个块都有自己的地址,该地址特定于硬件。您只能读取或写入整个块。
我们看到的所有层次结构和相应的元数据都由块阶段顶部的文件系统表示。数据在块上的分布方式是文件系统特有的。
一些早期版本的文件系统甚至没有任何目录并且具有扁平结构,就像今天的对象存储一样。
可能最简单的文件系统之一就是Microsoft 的 FAT
答案2
看看下面的图表。您所指的元数据仅存在于灰色框及上方。在蓝色框及下方,所有数据(一般而言)被视为只是一串通用字节,没有特定含义或定义。
编辑:该图取自谷歌搜索“存储堆栈”,来自https://www.iguazio.com/blog/wanted-a-faster-storage-stack/