ceph 入门笔记
概念
分布式存储系统
1 | 通过网络将数据分散存储在多台独立的设备上。 |
特性
1 | 可扩展性 |
存储分类
1 | 本地存储文件的文件系统,不能在网络上使用 |
ceph
设计目标
可避免单节点故障的分布式文件系统,PB级别的扩展能力。提供较好的性能、可扩展性和可靠性
优势
高扩展性
使用普通X86服务器,支持 10~1000台服务器,支持TB到EB级的扩展
高可靠性
没有单点故障,多数据副本,自动管理,自动修复
高性能
数据分布均衡
可用于对象存储、块设备存储和文件系统存储
ceph 架构
基础存储系统 RADOS
Reliable,Autonomic,Distributed Object Store,即可靠、自动化、分布式对象存储。所有ceph系统中的用户数据事实上最终都来源这一层来存储。上述特性也由这一层提供。
基础库 librados
对 RADOS
进行抽象和封装,并向上提供API,以便直接基于RADOS进行应用开发。!RADOS是一个对象存储系统。
高层应用接口
radosgw:对象网关接口(对象存储)
rbd:块存储
cephfs:文件系统存储
效果/作用:提供在librados库的基础上,提供抽象层次更高、更便于应用或客户端使用的上层接口。
ceph组件
三个主要进程
OSD
用于集群中所有数据与对象的存储。处理集群数据的复制、恢复、回填、再均衡。并向其他 OSD 守护进程发送心跳,然后向 MON 提供一些监控信息。
当ceph存储集群设定数据有两个副本时(一共存两份),至少需要两个OSD守护进程即两个OSD节点,集群才能达到 active+clean状态。
MDS(可选)
为 ceph 文件系统提供元数据计算、缓存与同步(ceph RBD、对象存储不使用MDS)。元数据也是存储在OSD节点中的,MDS类似元数据的代理缓存服务器。MDS进程并不是必须的进程,只有需要CEPHFS时,才需要配置MDS节点。
Monitor
监控整个集群的状态,维护集群的cluster MAP二进制表,保证集群数据的一致性。ClusterMAP 描述了对象块存储的物理位置,以及一个将设备聚合到物理位置的桶列表。
Manager(ceph-mgr)
用于收集 ceph 集群状态、运行指标,比如存储利用率、当前性能指标和系统负载。对外提供 ceph dashboard(ceph ui)和 restful api。Manager组件开启高可用时,至少 2 个。
ceph结构——两部分:client 和 node
ceph client:访问ceph底层服务和组件,对外提供各种接口。比如:对象存储接口、块存储接口、文件系统存储接口。
ceph node:ceph底层服务提供端,也就是 ceph 存储集群。
什么是OSD
对象存储(Object-based Storage)是一种新的网络存储结构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device),简称OSD。总体上来说,对象存储结合了 NAS 和 SAN 的优点,同时具有 SAN 的高速直接访问和NAS的分布式数据共享等优势,提供了具有高性能、高可靠性、跨平台以及安全的数据共享的存储结构体系。