中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

介绍

本文提供全局缓存场景下对Ceph客户端进行调优的指导。

Ceph是一个专注于分布式的、弹性可扩展的、高可靠的、性能优异的存储系统平台,可以同时支持块设备、文件系统和对象网关三种类型的存储接口。本文介绍的调优手段包括硬件层面和软件配置层面的优化,暂不涉及软件源码层面的优化。通过调整系统和Ceph配置参数,Ceph可以更充分的发挥系统硬件性能。Ceph PG分布调优和 OSD 绑核旨在让磁盘负载更平均,避免个别OSD成为瓶颈。此外,均衡型场景下,用 NVMe SSD做 Bcache 也可以提升性能。Ceph架构如图1所示。

图1 Ceph架构

Ceph的模块及组件说明如表1所示。

表1 模块说明

模块名称

功能描述

RADOS

RADOS(Reliable Autonomic Distributed Object Store,RADOS)是Ceph存储集群的基础。Ceph中的一切都以对象的形式存储,而RADOS就负责存储这些对象,而不考虑它们的数据类型。RADOS层确保数据一致性和可靠性。对于数据一致性,它执行数据复制、故障检测和恢复,还包括数据在集群节点间的recovery。

OSD

实际存储数据的进程。通常一个OSD daemon绑定一个物理磁盘。Client write/read数据最终都会走到OSD去执行write/read操作。

MON

Monitor在Ceph集群中扮演者管理者的角色,维护了整个集群的状态,是Ceph集群中最重要的组件。MON保证集群的相关组件在同一时刻能够达成一致,相当于集群的领导层,负责收集、更新和发布集群信息。为了规避单点故障,在实际的Ceph部署环境中会部署多个MON,同样会引来多个MON之间如何协同工作的问题。

MGR

MGR目前的主要功能是一个监控系统,包含采集、存储、分析(包含报警)和可视化几部分,用于把集群的一些指标暴露给外界使用。

librados

简化访问RADOS的一种方法,目前支持PHP、Ruby、Java、Python、C和C++语言。它提供了Ceph存储集群的一个本地接口RADOS,并且是其他服务(如 RBD RGW )的基础,此外,还为 Ceph FS 提供POSIX接口。librados API支持直接访问RADOS,使开发者能够创建自己的接口来访问Ceph集群存储。

RBD

Ceph块设备,对外提供块存储。可以像磁盘一样被映射、格式化和挂载到服务器上。

RGW

即RADOSGW。Ceph对象网关,提供了一个兼容S3和Swift的RESTful API接口。RGW还支持多租户和OpenStack的Keystone身份验证服务。

MDS

Ceph元数据服务器,跟踪文件层次结构并存储只供Ceph FS使用的元数据。Ceph块设备和RADOS网关不需要元数据。MDS不直接给Client提供数据服务。

Ceph FS

提供了一个任意大小且兼容POSlX的分布式文件系统。Ceph FS依赖Ceph MDS来跟踪文件层次结构,即元数据。