一、Ceph介绍
什么是分布式存储?
与集中式存储相反,分布式存储通常采用存储单元集群的形式。并且具有在集群节点之间进行数据同步和协调的机制。其目的是为了通过服务器解决大规模,高并发情况下的Web访问问题。
Ceph是一个统一的、分布式的存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。涉及初衷是成为一个可避免单点故障的分布式文件系统,提供较好的性能、可靠性和可扩展性。通过网络将数据分散存储在多台独立的设备上。
特性:
统一性:支持多种存储的应用形式,如块存储、文件存储、对象存储。
**1、块存储:**存储设备共享给客户端的是一块裸盘,那么该存储设备提供的就是块存储
2、文件存储:为了解决数据共享,并且保持一致,存储设备中分出一块空间,然后制作文件系统,然后在存储设备中完成挂载,再共享给客户端。
典型代表:FTP 、NFS 为了克服块存储无法共享的问题,所以有了文件存储,在服务器上架设FTP与NFS服务就是文件存储。
3、对象存储:为了解决多服务器之间共享数据,并且保证一致,没有文件系统的概念,数据的存储分为两部分元数据+内容,客户端通过url地址的方式提交元数据与内容
分布式:
传统集群架构,集群规模增大,mysql数据库的集群规模必然也随之增大,这完全就是集中式的思想带来的弊端。
ceph内部集群的数据共享完全是通过算法算出来,根本不需要数据库这个组件。
ceph缺点:耗费CPU
任何集群追求的三大特点:
1、性能
2、可靠性:没有单点故障
3、可扩展性,未来可以理论上无限扩展集群规模
二、Ceph服务架构
一个Ceph存储集群至少需要一个 Ceph Monitor(监视器)、Ceph Manager(管理器)和 Ceph OSD(对象存储守护进程)
Monitors
Ceph Monitor (ceph-mon) 通过维护包括监视器表(MonMap)、管理表(MGRMap)、OSD表(OSDMap)等组件状态表的保障集群正常运行。ceph-osd 相互之间协调工作时,需要从 ceph-mon 中获取这些表的信息。ceph-mon 还负责管理 ceph-osd 和客户端之间的身份验证。一个Ceph集群为了保证冗余和高可用性通常需要至少三个监视器,它们之间通过Paxos同步数据。
Managers
Cep