存储

存储 #

  • 块存储
  • 文件存储
    • HDFS (Hadoop)
    • GPFS
    • GFS (google)
  • 对象存储
    • Swift
  • 统一存储(支持块存储、对象存储和文件存储)
    • Ceph

参考:

分布式文件存储 #

gluster/glusterfs Github stars Github forks Language Last Tag Last commit #

ceph/ceph Github stars Github forks Language Last Tag Last commit #

Ceph is a distributed object, block, and file storage platform

参考:

块存储 vs 文件存储 vs 对象存储 #

  • 文件存储的用户是自然人
  • 块存储的用户是可以读写块设备的软件系统,例如传统的文件系统、数据库
  • 对象存储的用户则是其它计算机软件

总体区别:

  • 文件存储会以文件和文件夹的层次结构来整理和呈现数据;
  • 块存储会将数据拆分到任意划分且大小相同的卷中;
  • 对象存储会管理数据并将其链接至关联的元数据。

协议区别:

  • 1、文件存储对外提供 NFS、SMB、FTP、POSIX 等协议;
  • 2、块存储对外提供 iSCSI,FC,NBD 等协议;
  • 3、对象存储对外提供 S3 协议

在网络存储中,服务器把本地的一个逻辑块设备通过某种协议模拟成一个块设备,远程的客户端使用相同的协议把这个逻辑块设备作为一个本地存储介质来使用,划分分区,格式化自己的文件系统等等。 这就是块存储,比较常见的块存储协议是 iSCSI

这三种存储,分别对应了不同的访问协议,这也就决定了他们的本质差别。

  • 文件存储,主要操作对象是文件和文件夹。
    • 以 NFS 为例,文件相关的接口包括:LOOKUP/ACCESS/READ/WRITE/CREATE/REMOVE/RENAME 等等,文件夹相关的接口包括:MKDIR/RMDIR/READDIR 等等。同时也会有 FSSTAT/FSINFO 等接口用于提供文件系统级别的信息。POSIXSAMBA 等也是文件存储协议。
    • 协议更注重接口的灵活,以及访问权限控制。
  • 块存储,主要操作对象是磁盘。
    • SCSI 为例,主要接口有 Read/Write/Read Capacity/Inquiry 等等。FCiSCSI,也是块存储协议。
    • 和文件存储相比,没有文件和目录树的概念,一般协议也不会定义磁盘的创建和删除操作。
    • 协议更注重传输控制。
    • 块存储是排它的
  • 对象存储,主要操作对象是对象(Object)。
    • 以 S3 为例,主要接口有 PUT/GET/DELETE 等。
    • 和文件和对象存储相比,没有随机读写的接口。和文件存储相比,没有目录树的概念。
    • 协议更注重简洁。

参考:

统一存储 #

Unified Storage Systems

所谓统一,其实就是把 NASSAN 结合在了一起, 在一个架构中,NASSAN 共存,且由一个统一界面管理。

真正的统一存储,可以从一个设施为 SAN,NAS 和 iSCSI 提供多层存储, 它是一个支持基于块访问协议,如 FCPiSCSI, 和基于文件访问协议, 如 CIFSNFS, 使用相同管理工具的系统,

统一存储应该存在网关, 在 SAN 产品上部署一个 NAS 网关不是统一存储, 同样,离开文件系统的 SAN 也不算,故障转移事件超过 30 秒也不能算是企业级的统一存储产品。


本文访问量

本站总访问量

本站总访客数