首页 > ceph pool 相关命令

ceph pool 相关命令

文章目录

        • Pool创建
          • ec pool创建
          • 副本pool创建
        • Pool参数
        • 创建根故障域及添加osd
        • 其他命令
        • Tier相关

Pool创建

ec pool创建
  • 创建profile

    ceph osd erasure-code-profile set $profile_name k=$k m=$m crush-failure-domain=host crush-root=$group_name

  • 创建规则

    ceph osd crush rule create-erasure $rule_name $profile_name

  • 根据profile和rule创建ec-pool

    ceph osd pool create $pool_name $pg_num $pg_num erasure $profile_name $rule_name

  • 设置ec overwrite特性

    ceph osd pool set $pool_name allow_ec_overwrites 1 --yes-i-really-mean-it

  • 查看及删除profile命令:

    • 查看:ceph osd erasure-code-profile ls
    • 删除:ceph osd erasure-code-profile rm
  • 给池设置规则

    ceph osd pool set $pool_name crush_rule $rule_name

副本pool创建
  • 给资源池重新指定根

    ceph osd pool set $pool_name crush_rule $rule_name

  • 创建规则

    ceph osd crush rule create-simple $rule_name $group_name host firstn

  • 创建池

    ceph osd pool create $pool_name $pg_num $rule_name

  • 设置副本数

    ceph osd pool set $pool_name size $type_size

  • 设置最小副本数

    ceph osd pool set $pool_name min_size $type_min_size

  • 重命名pool

    ceph osd pool rename {now_name} {new_name}

  • 展示pool统计

    rados df

Pool参数

  • 获取pool参数的值:

    ceph osd pool get ram all

  • 获取osd的详细配置信息项

    ceph osd metadata osd.1

  • 如果磁盘灾难性失败,则标记为lost

    ceph osd lost xxx

  • 查看故障详细信息

    ceph health detail

  • 查看当前osd速度

    ceph tell osd.0 bench

  • 列出身份验证信息

    ceph auth list

创建根故障域及添加osd

  • 创建根

    ceph osd crush add-bucket $group_name root

  • 创建host

    ceph osd crush add-bucket $host host

  • 将host移入根

    ceph osd crush move $host root=$group_name

  • 给host添加osd

    ceph osd crush add osd.$osd_id $weight root=$group_name host=$host

其他命令

  • 添加给host添加osd

    ceph osd crush add osd.0 1 root=hci_default host=node1

  • 设置配额

    ceph osd pool set-quota pool1 (max_bytes|max_objects) 0

  • 修改权重

    ceph osd reweight osd.1 0.8(修改的是第二个,影响的是host内的数据重构)

    ceph osd crush reweight osd.1 1.5 (修改的是第一个,影响的是host间的数据重构)

  • 查看当前系统下osd是否有卡顿

    ceph osd perf

  • 设置ecpool的覆盖写特性

    ceph osd pool set ec_pool allow_ec_overwrites true

Tier相关

  • 刷tier层数据

    rados -p ram1 cache-flush-evict-all

  • 删除tier

    ceph osd tier remove-overlay $pool_name
    ceph osd tier remove $pool_name tier_"$pool_name"
    ceph osd pool rm tier_"$pool_name" tier_"$pool_name" --yes-i-really-really-mean-it
    
  • 创建tier

    设置缓存池,绑定存储池作为缓存池
    ceph osd tier add $data_pool_name $tier_pool_name 设置缓存池模式,模式有writeback 和 read-only两种
    ceph osd tier cache-mode $reppool_name writeback把标准池中的所有客户端请求转到缓存池
    ceph osd tier set-overlay $ecpool_name $reppool_name缓存池相关参数配置:
    1. 为缓存池启用hit set tracking,生产级别用的缓存层,通常使用bloom过滤器
    ceph osd pool set $reppool_name hit_set_type bloom2.启用hit_set_count,为缓存池存储的命中集数量
    ceph osd pool set $reppool_name hit_set_count 1 3.启用hit_set_period,这个是hit set在缓存池中的有效期,以秒为单位
    ceph osd pool set $reppool_name hit_set_period 600 4.缓存分层代理开始从缓存池中将对象写回后端存储或者删除前,允许存放的最大字节数
    ceph osd pool set $reppool_name target_max_bytes 0 5.缓存分层代理开始从缓存池中将对象写回后端存储或者删除前,允许存放的最大对象数
    ceph osd pool set $reppool_name target_max_objects 1000006.设置一个脏对象刷新到后端存储的最小时间
    ceph osd pool set $reppool_name cache_min_flush_age 607.指定一个对象多久没有访问后从缓存池中移除
    ceph osd pool set $reppool_name cache_min_evict_age 608.当缓存池中包含了一个确定百分比的脏数据时,缓存代理会刷新这些对象到后端存储池
    ceph osd pool set $reppool_name cache_target_dirty_ratio 0.49.当脏对象达到一个确定百分比时,代理将会以一个相对较快的速度进行刷新
    ceph osd pool set $reppool_name cache_target_dirty_high_ratio 0.510.当缓存池达到一个具体的百分比时,缓存代理会移除未被修改过的对象,来保持最够的可用空间
    ceph osd pool set $reppool_name cache_target_full_ratio 0.6
    

更多相关:

  • 文章目录1. 解决问题2. 应用场景3. 实现方式C++实现C语言实现4. 缺点5. 和其他三种创建模式的对比(单例,工厂,建造者) 1. 解决问题 如果对象的创建成本较大,而同一个类的不同对象之间的差别不大(大部分字段相同),在这种情况下,我们可以利用已有对象(原型)进行赋值(拷贝)的方式,创建新的对象,从而达到节省对象创...

  • 混合osd的部署 先部署所有的ssd 在/etc/ceph.conf中最后添加ssd做osd的block大小如下: 比如部署中有两个ssd,则添加 [osd.0] bluestore_block_size = xxxx [osd.1] bluestore_block_size = xxx 如上的size大小计算如下,如ssd容量...

  • 文章目录简介使用OSD相关操作PG相关操作对象相关操作总结 简介 ceph-objectstore-tool工具,能够操作到ceph最底层的数据,包括pg,对象层级。它能够对底层pg以及对象相关数据进行获取、修改。并能够对一些问题pg和对象进行简单修复。所以使用该工具进行操作的时候需要谨慎(涉及到修改的操作最好备份一份数据)...

  • 文章目录ceph版本:环境配置:异常问题:问题解决:总结 ceph版本: ceph 12.2.1 环境配置: tier_pool 16个分区大小800G 的osd容量 3副本 data_pool 32个4T盘 3副本 异常问题: ps:在分布式存储中遇到任何问题都不要先去通过重设存储节点,清除磁盘数据来解决,一定要...

  • 本文主要是在梳理cephfs内核方式挂载的内核代码逻辑所做的准备 环境:Centos 7.5 内核源码版本:3.10.0-862.el7.x86_64 打开ceph模块的debug信息 单独编译ceph模块的.ko文件 ceph在内核的通用模块主要有三个: ceph.ko 模块路径:/usr/src/kernels/3.10....

  • 文章目录安装使用使用`ceph tell`产生堆栈信息文使用`pprof`工具分析内存及`ceph tell`释放内存火焰图`FlameGraph`可视化进程堆栈信息 pprof是一个google开发的支持可视化、且可分析profile文件而达到对内存的分析。并且能够输出文本和图像来支持分析过程,pprof源码 安装...

  • 目前有两种动态修改的方式来让ceph中各个组件的配置生效,所以介绍如下两种方式方便我们进行功能或者代码的调试 使用ceph daemon方式修改 ceph daemon osd.0 help用于osd的daemon服务ceph daemon mon.ceph-node1 help用于mon的admin socket命令、ceph...

  • 我们内核挂载的前提是:看到centos7.5 中默认内核3.10.0-862.11.6.el7.x86_64的挂载fs执行文件读写性能更优良,所以尝试将3.10.0-862.11.6.el7.x86_64模块中与ceph fs挂载相关的ceph.ko,libceph.ko,dns_resolver.ko,libcrc32c.ko拷贝...

  • 引言 在这个-SLAM建图和导航仿真实例-项目中,主要分为三个部分,分别是 (一)模型构建(二)根据已知地图进行定位和导航(三)使用RTAB-MAP进行建图和导航 该项目的slam_bot已经上传我的Github。 这是第三部分,完成效果如下 图1 建图和导航 三、使用RTAB-Map进行建图和导航 1. rtab...

  • 引言 在这个-SLAM建图和导航仿真实例-项目中,主要分为三个部分,分别是 (一)模型构建(二)根据已知地图进行定位和导航(三)使用RTAB-MAP进行建图和导航 该项目的slam_bot已经上传我的Github。 由于之前的虚拟机性能限制,我在这个项目中使用了新的ubantu 16.04环境,虚拟机配置 内存 8GCPU...

  • [{name:1},{name:2}].forEach((v,i,ar) => {console.log(v,i,ar)});//基础遍历[{name:1},{name:2}].map((v) => v.name);//[1,2]返回对象数组中指定字段值的一位数组(不改变原始数组)[{name:1},{name:2},{name:3}...

  • 体验内容 使用gmapping方法利用turtlebot底盘移动信息和激光雷达数据进行建图。 1. 安装一些依赖包 sudo apt-get install ros-melodic-move-base* sudo apt-get install ros-melodic-map-server* sudo apt-get insta...

  • 前言 我们知道Java/Python这种语言能够很好得 支持反射。反射机制 就是一种用户输入的字符串到对应实现方法的映射,比如http接口中 用户传入了url,我们需要调用该url对应的方法/函数对象 从而做出对应的操作。 而C++ 并没有友好得支持这样的操作,而最近工作中需要通过C++实现http接口,这个过程想要代码实现得优雅...