本文接上篇《crushmap详解-2》,结合ceph源代码及其他参考资料来详尽的探讨具体的crush算法。为了参看的方便,下面我们继续列出当前的crushmap:

Read More

本文主要讲述一下Linux操作系统上的一些资源限制,做一个记录。我们当前的操作系统环境为:

# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.3.1611 (Core) 
Release:        7.3.1611
Codename:       Core

Read More

当前生产环境中我们所使用的ceph版本为jewel版本:

# ceph --version
ceph version 10.2.10 (5dc1e4c05cb68dbf62ae6fce3f0700e4654fdbbe)

因此,这里我们也以该版本为例来介绍ceph源代码的编译。当前我们的操作系统环境如下(ceph编译时需要耗费极大量的内存,建议内存至少4G以上):

# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.3.1611 (Core) 
Release:        7.3.1611
Codename:       Core

Read More

当前生产环境中我们所使用的ceph版本为jewel版本:

# ceph --version
ceph version 10.2.10 (5dc1e4c05cb68dbf62ae6fce3f0700e4654fdbbe)

因此,这里我们也以该版本为例来介绍ceph源代码的编译。当前我们的操作系统环境如下(ceph编译时需要耗费极大量的内存,建议内存至少4G以上):

# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.3.1611 (Core) 
Release:        7.3.1611
Codename:       Core

Read More

本文结合源代码来分析一下ceph中up_thru的作用及其要解决的问题。大家都知道,OSDMap的作用之一便是维护Ceph集群OSD的状态信息,所以基于此想先提出一个疑问: Ceph集群中有1个osd down了,那么osdmap会发生什么变化? osdmap会更新几次? 带着这个问题,本文深入探讨up_thru。

Read More

接着上一章,我们这里结合osd3_watch.txt日志文件,以及pgmap_active_clean.txt、pgmap_in_down.txt、pgmap_out_down.txt,从中选出4个具有代表性的PG,来分析一下osd0从in+upin+down再到out+down这一整个过程中PG所执行的动作。

Read More

接着上一章,我们这里结合osd3_watch.txt日志文件,以及pgmap_active_clean.txt、pgmap_in_down.txt、pgmap_out_down.txt,从中选出4个具有代表性的PG,来分析一下osd0从in+upin+down再到out+down这一整个过程中PG所执行的动作。

Read More