一个PG里包含一堆对象,一个对象只能属于一个PG; PG有主从之分,一个PG分布在不同的OSD上(针对多副本类型) 4)Monitor(守护进程ceph-mon) 作用:保存OSD的元数据,维护展示集群状态的各种图表, 管理集群客户端认证与授权 负责维护集群状态的映射视图(Cluster Map:OSD Map、Monitor Map、PG Map 和 CRUSH Map),维护...
scrub是ceph对数据的清洗状态,用来保证数据完整性的机制,Ceph 的OSD定期启动scrub线程来扫描部分对象,通过与其他副本比对来发现是否一致,如果存在不一致,抛出异常提示用户手动解决, scrub 以PG为单位,对于每一个pg, ceph分析该pg下所有的object,产生一个类似于元数据信息摘要的数据结构,如对象大小,属性等,叫scrubmap,...
1、查看pg组的映射信息 # ceph pg dump 1. 输出信息: dumped all version 607481 stamp 2020-10-09 11:16:32.865738 last_osdmap_epoch 0 last_pg_scan 0 full_ratio 0 nearfull_ratio 0 PG_STAT OBJECTS MISSING_ON_PRIMARY DEGRADED MISPLACED UNFOUND BYTES LOG DISK_LOG STATE STATE_STAMP VERSION REPO...
pg 3.16 is stuck inactive since forever, current state down+peering, last acting [1,2] 14、查看ceph log日志所在的目录 [root@node1 ~]# ceph-conf --name mon.node1 --show-config-value log_file /var/log/ceph/ceph-mon.node1.log 二、mon 1、查看mon的状态信息 [root@client ~]# ceph mo...
log_tail: 指向pg log最老的那条记录; head: 最新的pg log记录 tail: 指向最老的pg log记录的前一个; log: 存放实际的pglog记录的list 从上面结构可以得知,PGLog里只有对象更新操作相关的内容,没有具体的数据以及偏移大小等,所以后续以PGLog来进行恢复时都是按照整个对象来进行恢复的(默认对象大小是4MB)。
一、PG和PGLog Ceph中对象数据的维护由PG(Placement Group)负责,PG作为Ceph中最小的数据管理单元,直接管理对象数据,每个OSD都会管理一定数量的PG。客户端对于对象数据的IO请求,会根据对象ID的Hash值均衡分布在各个PG中。PG中维护了一份PGLog,用来记录该PG的数据变化,这些记录会被持久化记录到后端存储中。PGLog中记...
pg 3.2d is stuck inactive since forever, current state down+peering, last acting [1,0] pg 3.16 is stuck inactive since forever, current state down+peering, last acting [1,2] 14、查看ceph log日志所在的目录 [root@node1 ~]# ceph-conf --name mon.node1 --show-config-value log_file ...
1.pglog及读写流程ceph使用pglog来保证多副本之间的一致性,pglog的示意图如下:pglog主要是用来记录做了什么操作,比如修改,删除等,而每一条记录里包含了对象信息,还有版本。ceph使用版本控制的方式来标记一个PG内的每一次更新,每个版本包括一个(epoch,version)来组成:其中epoch是osdmap的版本,每当有OSD状态...
正常的PG状态是 100%的active + clean, 这表示所有的PG是可访问的,所有副本都对全部PG都可用。 如果Ceph也报告PG的其他的警告或者错误状态。PG状态表: 状态描述 ActivatingPeering已经完成,PG正在等待所有PG实例同步并固化Peering的结果(Info、Log等) Active活跃态。PG可以正常处理来自客户端的读写请求 ...
指PG通过PGLog日志针对数据不一致的对象进行同步和修复的过程。 3.4.2 故障模拟 a. 停止osd.x 代码语言:javascript 复制 $ systemctl stop ceph-osd@x b. 间隔1分钟启动osd.x 代码语言:javascript 复制 osd$ systemctl start ceph-osd@x c. 查看集群监控状态 代码语言:javascript 复制 $ ceph health detail...