存储

文件存储 Network-Attached Storage(NAS) 块存储 Direct-Attached Storage(DAS)和 Storage Area Networks(SAN) 对象存储 Object-based Storage

SAN

块存储,操作对象是磁盘。存储协议是SCSI、iSCSI、FC。

以 SCSI 为例,主要接口命令有 Read/Write/Read Capacity/Inquiry 等等。

文件存储,操作对象是文件和文件夹。存储协议是 NFS、SAMBA(SMB)、POSIX等。

以 NFS(大家应该都用过“网上邻居”共享文件吧?就是那个)为例,文件相关的接口命令包括:READ/WRITE/CREATE/REMOVE/RENAME/LOOKUP/ACCESS 等等,文件夹相关的接口命令包括:MKDIR/RMDIR/READDIR 等等。

对象存储,主要操作对象是对象(Object)。存储协议是S3、Swift等。 在对象存储系统里,你不能直接打开/修改文件,只能先下载、修改,再上传文件

组成 OSD 对象存储设备

这是对象存储的核心,具有自己的 CPU、内存、网络和磁盘系统。它的主要功能当然是存储数据。同时,它还会利用自己的算力,优化数据分布,并且支持数据预读取,提升磁盘性能。

MDS 元数据服务器

它控制 Client 和 OSD 的交互,还会管理着限额控制、目录和文件的创建与删除,以及访问控制权限。

Client 客户端

提供文件系统接口,方便外部访问。

根据上面的架构可以看出,对象存储系统可以是一个提供海量存储服务的分布式架构。

MinIO is a high-performance, S3 compatible object store, open sourced under GNU AGPLv3 license. https://github.com/minio/minio