Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说Ceph分布式存储架构介绍(1),希望能够帮助你!!!。
Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。
Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储。
目前腾讯云tstack、TCE中的存储使用较为常见;
支持三种接口:
1、通过一系列map跟踪整个集群的健康状态,监控整个集群的监控状况
2、map是指这几个组件的map:osd/mon/pg/crush,所有的集群节点都向mon节点报告状态,并分享每一个状态变化的信息
3、一个mon为每一个组件维护一个独立的map,mon不存储实际的数据,这是osd的工作
对象存储设备
1、负责存储实际用户数据(数据将会以对象的形式存储在osd中)
2、负责响应客户端读操作请求
通常一个osd守护进程仅与ceph集群中的一个磁盘绑定
ceph元数据服务器
1、跟踪文件层次结构并存储只供CephFS使用的元数据
2、mds不直接给客户端提供数据,因此可以避免系统中的一个单点故障
3、为ceph集群部署一个mds
在之前的部署中,已经部署好了一个ceph存储集群,如需添加mds节点,在管理节点指向以下命令:
ceph-deploy mds create ceph-node2
ceph最底层的存储单元,即对象,每个对象包含元数据和原始数据,当用户要将数据存储到ceph集群时,存储数据会被分为多个对象,每个对象的大小是可以设置的,默认是4MB,可以将object堪称是ceph存储的最小单元
pg是用来存放object的
pgp是相当于pg存放在osd的一种排列组合,他不影响副本个数,只影响副本排列顺序
CRUSH全称Controlled Replication Under Scalable Hashing,是一种数据分发算法,类似于哈希和一致性哈希。哈希的问题在于数据增长时不能动态加Bucket,
一致性哈希的问题在于加Bucket时数据迁移量比较大,其他数据分发算法依赖中心的Metadata服务器来存储元数据效率较低,CRUSH则是通过计算、接受多维参数的
ceph块设备,或者叫rados快设备
1、对外提供块存储,可以被映射、格式化、向磁盘一样被挂载到服务器
2、支持精简制备和快照的特性
ceph对象网关,或者叫rados网关
1、提供了一个兼容Amazon S3和OpenStack对象存储API(Swift)的restful API接口
2、还支持多租户和openstack的keystone身份验证服务
1、意思
叫做ceph文件系统
2、作用
1、提供了一个任意大小且兼容POSIX的分布式文件系统
2、依赖mds来跟踪文件层次结构,即元数据
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章