CEPH-5中,如何深入理解并管理集群的基本概念?

摘要:ceph集群基本概念与管理 ceph集群基本概念 ceph集群整体结构图 名称 作用 osd 全称Object Storage Device,主要功能是存储数据、复制数据、平衡数据、恢复数据等。每个OSD间会进行心跳检查,并将一些变化情况上
ceph集群基本概念与管理 ceph集群基本概念 ceph集群整体结构图 名称 作用 osd 全称Object Storage Device,主要功能是存储数据、复制数据、平衡数据、恢复数据等。每个OSD间会进行心跳检查,并将一些变化情况上报给Ceph Monitor。 mon 全称Monitor,负责监视Ceph集群,维护Ceph集群的健康状态,同时维护着Ceph集群中的各种Map图,比如OSD Map、Monitor Map、PG Map和CRUSH Map,这些Map统称为Cluster Map,根据Map图和object id等计算出数据最终存储的位置。 mgr 全称Manager,负责跟踪运行时指标和Ceph集群的当前状态,包括存储利用率,当前性能指标和系统负载。 mds 全称是MetaData Server,主要保存的文件系统服务的元数据,如果使用cephfs功能才会启用它,对象存储和块存储设备是不需要使用该服务。 rgw 全称radosgw,是一套基于当前流行的RESTFUL协议的网关,ceph对象存储的入口,内嵌civetweb服务,不启用对象存储,则不需要安装。 ceph配置文件 标准位置:/etc/ceph/ceph.conf 组成部分: ## 全局配置,全局生效 [global] fsid = 537175bb-51de-4cc4-9ee3-b5ba8842bff2 public_network = 10.0.0.0/8 cluster_network = 10.0.0.0/8 mon_initial_members = ceph-node1 mon_host = 10.153.204.xx:6789,10.130.22.xx:6789,10.153.204.xx:6789 auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx ## osd专用配置,可以使用osd.num 来表示具体的哪一个osd [osd] [osd.1] ## monitor专用配置,可以使用mon.A 来表示具体的哪一个monitor,其中A表示该节点的名称,使用ceph mon dump可以查看。 [mon] [mon.a] ## 客户端专用配置 [client] ceph配置文件的加载顺序: $CEPH_CONF 环境变量 -c 指定的位置 /etc/ceph/ceph.conf ~/.ceph/ceph.conf ./ceph.conf 存储池类型 副本池:replicated 定义每个对象在集群中保存为多少个副本,默认为三个副本,一主两备 实现高可用,副本池是 ceph 默认的存储池类型。 纠删码池:erasure code 把各对象存储为 N=K+M 个块,其中 K 为数据块数量,M 为编码块数量,因此存储池的尺寸为 K+M。 即数据保存在 K 个数据块,并提供 M 个冗余块提供数据高可用,那么最多能故障的块就是 M 个,实际的磁盘占用就是 K+M 块,因此相比副本池机制比较节省存储资源,一般采用 8+4 机制,即 8 个数据块+4 个冗余块,那么也就是 12 个数据块有 8 个数据块保存数据,有 4 个 实现数据冗余,即 1/3 的磁盘空间用于数据冗余,比默认副本池的三倍冗余节省空间,但是不能出现大于一定数据块故障。 不是所有的应用都支持纠删码池,RBD 只支持副本池而 radosgw 则可以支持纠删码池。 对于文件系统及块存储,由于读写性能的问题 Ceph 不建议使用纠删码池。 如何查看某个存储池为什么类型: $ ceph osd pool get test crush_rule crush_rule: erasure-code 副本池IO 将一个数据对象存储为多个副本。 在客户端写入操作时,ceph 使用 CRUSH 算法计算出与对象相对应的 PG ID 和 primary OSD ,主 OSD 根据设置的副本数、对象名称、存储池名称和集群运行图(cluster map)计算出 PG 的 各辅助 OSD,然后由 OSD 将数据再同步给辅助 OSD。 读写数据: ## 读数据 1.客户端发送读请求,RADOS 将请求发送到主 OSD。 2.主 OSD 从本地磁盘读取数据并返回数据,最终完成读请求。 ## 写数据 1.客户端APP请求写入数据,RADOS发送数据到主OSD。 2.主OSD写入完毕后将完成信号给客户端APP,并发送数据到各副本OSD。
阅读全文