对象存储是给你个 S3 标准的 rest api 存取文件包括权限控制 块存储是服务器上给你多挂载一个磁盘,可能是本地磁盘也可能是网络磁盘 文件存储是给你个 NFS 或者 SMB 协议的存储空间,一般是内网,可以挂载到服务器上
楼上说得很好了,补充一下: 1. 对象存储的事实协议是 S3 ,基本没别的选择。文件是不可以修改的,但是可以覆盖,还可以保存不同版本。 2. 块存储用于挂载,所以也是可以重复写入的。 具体可以看这篇博客: https://www.ibm.com/blog/object-vs-file-vs-block-storage/
对象存储是针对对象的,这个对象可大可小,支持一些 well-knonw 的格式,比如 jpg/png/json 之类的; 文件存储针对文件,一般兼容/复用文件存储的一大堆 API 块在 Linux 系统是比文件更小的一个单位,也有一堆已有的 API
补充个简洁的,通俗易懂的回答: 1. 对象存储需要用到特定协议的 api ,如调用兼容 s3 接口来增删改查 2. 块存储是类似给你一块硬盘,可以本地也可以网络,最主要是自由分区和格式化,如 rbd,iscsi 远程 mount 读写 3. 文件存储是直接被操作系统识别的存储空间,如文件夹,可以直接复制粘贴和剪切和删除,遵循 posix 标准