ceph中的存储用到的类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tiantao2012/article/details/79955852
在ceph os中可以明显看出ceph 目前支持的存储类型如下:
ObjectStore *ObjectStore::create(CephContext *cct,
				 const string& type,
				 const string& data,
				 const string& journal,
				 osflagbits_t flags)
{
  if (type == "filestore") {
    return new FileStore(cct, data, journal, flags);
  }
  if (type == "memstore") {
    return new MemStore(cct, data);
  }
#if defined(WITH_BLUESTORE)
  if (type == "bluestore") {
    return new BlueStore(cct, data);
  }
  if (type == "random") {
    if (rand() % 2) {
      return new FileStore(cct, data, journal, flags);
    } else {
      return new BlueStore(cct, data);
    }
  }
#else
  if (type == "random") {
    return new FileStore(cct, data, journal, flags);
  }
#endif
  if (type == "kstore" &&
      cct->check_experimental_feature_enabled("kstore")) {
    return new KStore(cct, data);
  }
  return NULL;
}
分别是filestore/memstore/kstore 如果打开宏with_bluestore的话,还会有bluestore,其中如果指定的type是
random的话还可以增加filestore/bluestore混合使用,其实还有一个隐形的调用fusestore
其中memstore的API主要通过libpmem来对nvram等flash存储来管理

阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页