摘要: class PG min_last_complete_ondisk 这个表示各个副本上last_complete的最小版本,是主OSD在收到3个副本都完成时再进行计算的,也就是计算last_complete_ondisk和其他副本OSD上的last_complete_ondisk,即peer_las 阅读全文
posted @ 2021-12-01 16:36 苏格拉底的落泪 阅读(62) 评论(0) 推荐(0) 编辑
摘要: OSD 图解如下: 接下来我们看一下tp_osd_tp线程是如何处理分片中的请求,线程处理的核心函数是ShardedOpWQ::_process,其调用栈如下: ShardedOpWQ::_process() |-OpQueue<>::dequeue() |-OSD::_look_up_pg() \ 阅读全文
posted @ 2021-12-01 15:42 苏格拉底的落泪 阅读(819) 评论(0) 推荐(0) 编辑
摘要: struct pg_log_entry_t { ObjectModDesc mod_desc; //用于保存本地回滚的一些信息,用于EC模式下的回滚操作 bufferlist snaps; //克隆操作,用于记录当前对象的snap列表 hobject_t soid; //操作的对象 osd_reqi 阅读全文
posted @ 2021-12-01 15:08 苏格拉底的落泪 阅读(818) 评论(0) 推荐(0) 编辑
摘要: 1.1 acting set和up set acting set是一个PG对应副本所在的OSD列表,该列表是有序的,列表中第一个OSD为主OSD。在通常情况下,up set和acting set列表完全相同。要理解他们的不同之处,需要理解下面介绍的“临时PG”概念。 1.2 临时PG 假设一个PG的 阅读全文
posted @ 2021-12-01 14:36 苏格拉底的落泪 阅读(570) 评论(0) 推荐(0) 编辑
摘要: PG 状态 statedescription Activating Peering已经完成,PG正在等待所有PG实例同步并固化Peering的结果(Info、Log等) Active PG可以正常处理来自客户端的读写请求 Backfilling PG正在执行Backfill。Backfill总是在R 阅读全文
posted @ 2021-12-01 14:02 苏格拉底的落泪 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 命令rados 删除pool test: rados purge test --yes-i-really-really-mean-it 查看资源池信息: rados df -p pool1 -p test # 参数是指定具体资源池,如果不加,则显示所有 创建rados对象: rados -p tes 阅读全文
posted @ 2021-12-01 10:41 苏格拉底的落泪 阅读(273) 评论(0) 推荐(0) 编辑
摘要: ceph-objectstore-tool工具 基本命令使用如下:ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-8/ --type bluestore xxx一般前半部分如左,指定osd路径,指定存储引擎(bluestore或者fi 阅读全文
posted @ 2021-12-01 10:12 苏格拉底的落泪 阅读(809) 评论(0) 推荐(0) 编辑
摘要: 亲和性 #Ceph 客户端读写数据时,总是连接 acting set 里的主 OSD (如 [2, 3, 4] 中, osd.2 是主的)。#有时候某个 OSD 与其它的相比并不适合做主 OSD (比如其硬盘慢、或控制器慢),最大化硬件利用率时为防止性能瓶颈(特别是读操作),#你可以调整 OSD 的 阅读全文
posted @ 2021-12-01 09:35 苏格拉底的落泪 阅读(295) 评论(0) 推荐(0) 编辑