ceph
ceph是一个开源的,用c++语言编写的分布式的存储系统。存储文件数据。
分布式由多台物理磁盘组成一个集群,在这个基础之上实现高可用,扩展。
ceph是一个统一的存储系统,同时提供块设备存储,文件系统存储和对象存储三种存储方式
对象存储:
对象存储也就是键值存储,通过接口指令,get put del 和其他的命令向对象存储上传或者下载数据
把数据作为对象,按照一定的逻辑和算法,存储到不同的硬盘上(可以是不同机器上的硬盘,倚靠网络来进行互相通信)
优点:使用的是硬盘组,不受目录系统的影响,读写效率高。集群的扩展性很强,支持多副本存储。可以直接通过url访问文件。简单,也好管理
缺点:内容变动比较大的文件不社会作为对象存储。每一次变动要重新上传。静态图片等等不需要变动的数据
文件系统存储 ceph-fs
ceph集群的存储看做是一个大的分区或者共享文件挂载到客户端的本地
客户端可以在本地直接进行操作。速度快,可以存储的数据类型也没有限制
内核态和用户态:
内核态:mount 速度快,读写也快
用户态:ceph-fuse 速度慢,读写稍慢
优点:成本低,随便的一台服务器都可以做。公司内部都会使用这种方式。内网云盘就是这种方式
缺点:读写速度和传输速度相对比较慢(本地使用好一些)
块存储RBD:
rdb为kvm虚拟化和云服务(OpenStack)提供高性能和无线可扩展的存储手段
磁盘映射,raid和lvm提供磁盘空间,多个主机上的raid或者lvm组成一个逻辑上raid和lvm
多块磁盘组成这种逻辑空间,可以并行的执行读写操作,IO效率比较