Ceph df分析

1. 查看集群使用容量

ceph df
GLOBAL:
    SIZE       AVAIL      RAW USED     %RAW USED
    61284G     26383G       34901G         56.95
POOLS:
    NAME                ID     USED       %USED     MAX AVAIL     OBJECTS
    rbd                 0        256k         0         6931G           4
    cephfs_metadata     1      43928k         0         6931G     1043729
    cephfs_data         2      11603G     62.60         6931G     7083637

说明:
ceph对容量的计算分为两个维度:

  • GLOBAL维度中有SIZE,AVAIL,RAW USED,%RAW USED
  • POOLS的维度中有 USED,%USED,MAX AVAIL,OBJECTS

GLOBAL中的RAW USED :34901G, AVAIL:26383G
POOLS 中USED:11603G3 + (43928k/1024/1024)3 = 34809.123G MAX AVAIL:20793G
发现问题没,pools使用的跟global有偏差,少了一部分数据。

2. 分析mon源码

分析/src/mon/Monitor.cc代码,跟踪df逻辑如下:

2099201-e76df3042a136dca.png
image.png

从上面的代码可以知道,df命令的输出两个维度代码逻辑:

  • GLOBAL维度pgmon()->dump_fs_stats
  • POOLS这个维度pgmon()->dump_pool_stats

2.1 GLOBAL维度

void PGMapDigest::dump_fs_stats(stringstream *ss, Formatter *f, bool verbose) const
{
  if (f) {
    f->open_object_section("stats");
    f->dump_int("total_bytes", osd_sum.kb * 1024ull);
    f->dump_int("total_used_bytes", osd_sum.kb_used * 1024ull);
    f->dump_int("total_avail_bytes", osd_sum.kb_avail * 1024ull);
 
    if (verbose) {
      f->dump_int("total_objects", pg_sum.stats.sum.num_objects);
    }
 
    f->close_section();
  } else {
    assert(ss != nullptr);
 
    TextTable tbl;
    tbl.define_column("SIZE", TextTable::LEFT, TextTable::RIGHT);
    tbl.define_column("AVAIL", TextTable::LEFT, TextTable::RIGHT);
    tbl.define_column("RAW USED", TextTable::LEFT, TextTable::RIGHT);
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ceph源码分析pdf是一本关于ceph分布式文件系统的源代码深度剖析的著作,通过详细分析ceph系统的架构、实现、核心代码等方面,帮助读者深入理解ceph系统的设计思路和工作原理。 本书主要分为三个部分,第一部分介绍了ceph系统的概述和架构,包括ceph系统的目标、特点、架构分层等;第二部分主要探讨了ceph系统的核心组件,包括RADOS、MDS、OSD等,深入剖析了它们的工作原理和实现方式;第三部分则是关于ceph系统的进阶主题,如分布式存储、数据一致性、故障处理等等。 本书的特点在于对ceph源代码的深度剖析,对每个核心组件都逐一分析了其关键代码,帮助读者了解ceph系统的实现方式。此外,本书也提供了一些示例代码,可以帮助读者更好地理解ceph的设计思路和实现细节。 总之,ceph源码分析pdf具有深入、全面、实用的特点,可以帮助ceph开发者和用户深入理解ceph系统的工作原理,快速掌握ceph的使用和开发技巧。 ### 回答2: Ceph是一个采用分布式架构的开源存储系统,具有高可用性、高可扩展性和高性能等优点。对于想要深入了解Ceph存储系统的开发者来说,ceph源码分析pdf是一个非常有价值的资源,可以帮助他们全面理解Ceph的架构和运行机制。 ceph源码分析pdf主要分为以下几部分: 1. Ceph的整体架构介绍 介绍Ceph的整体架构,包括Ceph的分布式存储、元数据管理、数据访问、数据一致性、数据恢复等方面。同时,还会涉及到Ceph的各种组件和组件之间的关系。 2. Ceph的核心代码解析 对Ceph的核心代码进行深度解析,包括存储服务、客户端库、管理工具等部分。这部分内容非常重要,可以帮助开发者全面了解Ceph的代码,并有助于他们进行相关的开发工作。 3. Ceph的性能优化 介绍Ceph的性能优化方法,包括IO性能优化、网络性能优化、CPU性能优化等方面。这对于想要将Ceph应用于实际场景并且需要进行性能优化的开发者来说非常有价值。 总之,ceph源码分析pdf是一个非常有价值的资源,可以帮助开发者全面了解Ceph存储系统的架构和运行机制,并深入了解Ceph的核心代码和性能优化方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值