个人的浅薄的理解,万分欢迎指正
块存储提供裸设备,比如提供一块盘,比如openstack创建云硬盘,可能是创建一个lvm,也可能是创建一个qcow2镜像,作为一块硬盘放到虚机里面,虚机拿到之后,可以直接写数据使用,也可以格式化成特定的文件系统访问使用。在虚机中,打开一个小文件读写。对应的主机上,是打开一个大文件读写。对于块设备,可以格式化成文件系统使用,也可以直接裸盘使用,比如dd写,或者高性能的数据库,直接管理。
文件存储提供的是文件系统,有一个目录,有父目录子目录这样的层级关系,最典型的如nfs,cifs。
对象存储,对于每一个文件,都是一个对象,有一些属性之类的信息,每个文件都有个id来确定这个文件的唯一。对文件的增删改查都通过这个id进行,没有父目录子目录的概念。根据这个id,对象存储的管理系统能找到这个文件所在的位置。这个位置可以是具体的某台机器上某个目录下的某个文件,也可以是glusterfs的文件系统里面。所以对象存储底层可以接入其它存储。