cephpool的配置信息

这篇文章主要介绍“ceph pool的配置信息”,在日常操作中,相信很多人在ceph pool的配置信息问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ceph pool的配置信息”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联主营延长网站建设的网络公司,主营网站建设方案,成都App定制开发,延长h5小程序设计搭建,延长网站营销推广欢迎延长等地区企业咨询

1. 1 osdmap中相关pool定义如下

  map pools;  //pool的配置信息

  map pool_name; //key为pool id,value为poolname

  map > erasure_code_profiles;

  map name_pool; //通过名字查找id

1.2 PG..h对应的PG pool定义,存储了每个池的快照

struct PGPool {

  int64_t id;

  string name;

  uint64_t auid;

  pg_pool_t info;     

  SnapContext snapc;   // the default pool snapc, ready to go.

  interval_set cached_removed_snaps;      // current removed_snaps set

  interval_set newly_removed_snaps;  // newly removed in the last epoch

  PGPool(int64_t i, const string& _name, uint64_t au)

    : id(i), name(_name), auid(au) { }

  void update(OSDMapRef map);

};

3. pg_pool_t在Osd_types.h中定义

private:
  __u32 pg_num, pgp_num;    ///< number of pgs
public:
  map properties;  ///< OBSOLETE
  string erasure_code_profile; ///< name of the erasure code profile in OSDMap
  epoch_t last_change;      ///< most recent epoch changed, exclusing snapshot changes
  epoch_t last_force_op_resend; ///< last epoch that forced clients to resend
  snapid_t snap_seq;        ///< seq for per-pool snapshot
  epoch_t snap_epoch;       ///< osdmap epoch of last snap
  uint64_t auid;            ///< who owns the pg
  __u32 crash_replay_interval; ///< seconds to allow clients to replay ACKed but unCOMMITted requests
 
  uint64_t quota_max_bytes; ///< maximum number of bytes for this pool
  uint64_t quota_max_objects; ///< maximum number of objects for this pool
 
  /*
   * Pool snaps (global to this pool).  These define a SnapContext for
   * the pool, unless the client manually specifies an alternate
   * context.
   */
  map snaps;
  /*
   * Alternatively, if we are definining non-pool snaps (e.g. via the
   * Ceph MDS), we must track @removed_snaps (since @snaps is not
   * used).  Snaps and removed_snaps are to be used exclusive of each
   * other!
   */
  interval_set removed_snaps;
 
  unsigned pg_num_mask, pgp_num_mask;
 
  set tiers;      ///< pools that are tiers of us
  int64_t tier_of;         ///< pool for which we are a tier
  // Note that write wins for read+write ops
  int64_t read_tier;       ///< pool/tier for objecter to direct reads to
  int64_t write_tier;      ///< pool/tier for objecter to direct writes to

  cache_mode_t cache_mode;  ///< cache pool mode

uint64_t target_max_bytes;   ///< tiering: target max pool size
  uint64_t target_max_objects; ///< tiering: target max pool size
 
  uint32_t cache_target_dirty_ratio_micro; ///< cache: fraction of target to leave dirty
  uint32_t cache_target_full_ratio_micro;  ///< cache: fraction of target to fill before we evict in earnest
 
  uint32_t cache_min_flush_age;  ///< minimum age (seconds) before we can flush
  uint32_t cache_min_evict_age;  ///< minimum age (seconds) before we can evict
 
  HitSet::Params hit_set_params; ///< The HitSet params to use on this pool
  uint32_t hit_set_period;      ///< periodicity of HitSet segments (seconds)
  uint32_t hit_set_count;       ///< number of periods to retain
  uint32_t min_read_recency_for_promote;   ///< minimum number of HitSet to check before promote
 
  uint32_t stripe_width;        ///< erasure coded stripe size in bytes
 
  uint64_t expected_num_objects; ///< expected number of objects on this pool, a value of 0 indicates
 
uint64_t flags;           ///< FLAG_*
  __u8 type;                ///< TYPE_*
  __u8 size, min_size;      ///< number of osds in each pg
  __u8 crush_ruleset;       ///< crush placement rule set
  __u8 object_hash;         ///< hash mapping object name to ps

到此,关于“ceph pool的配置信息”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


网站栏目:cephpool的配置信息
转载源于:http://scyanting.com/article/ggigsj.html