![f5fc5215d96c4c6afac88441a10e03b3.png](https://i-blog.csdnimg.cn/blog_migrate/b3c0f85015cf002a4cc3bbf9215a8340.jpeg)
一、Ceph支持文件系统服务、对象存储、块存储
文件存储:
文件系统存储是实现持久存储数据的最普遍的方法,一些常用的文件系统包括NFS和NTFS等。在云平台中,虚机或容器可以通过LVM的方式加载存储,这种普通主机持久性引起的主要问题是,它完全破坏了容器的可移植性,存储不易实现迁移。容器友好型的文件存储系统,通常需要通过跨多个服务器分布文件系统来实现。
文件存储主要操作对象是文件和文件夹。以 NFS 为例,文件相关的接口包括:LOOKUP/ACCESS/READ/WRITE/CREATE/REMOVE/RENAME 等等,文件夹相关的接口包括:MKDIR/RMDIR/READDIR 等等。同时也会有 FSSTAT/FSINFO 等接口用于提供文件系统级别的信息。POSIX,SAMBA 等也是文件存储协议。协议更注重接口的灵活,以及访问权限控制。
对象存储:
对象存储与文件系统存储或块存储不同。它不是通过块地址或文件名引用数据,而是将数据存储为对象并由对象ID引用。对象存储的优点在于它具有很强的伸缩性,并且在将属性与对象相关联方面具有高度的灵活性。由于依赖于REST调用,对象存储可能更复杂。
对象存储主要操作对象是对象(Object)。以 S3 为例,主要接口有PUT/GET/DELETE 等。和文件和对象存储相比,没有随机读写的接口。和文件存储相比,没有目录树的概念。协议更注重简洁。
块存储:
块存储存中的数据块仅通过其地址识别。块没有文件名,也没有自己的元数据。只有当块与其他块组合形成完整的数据块时,它们才具有意义。
块存储主要操作对象是磁盘,以 SCSI 为例,主要接口有 Read/Write/Read Capacity/Inquiry 等等。FC,iSCSI也是块存储协议。和文件存储相比,没有文件