一文囊括 Ceph 所有利器 (工具)
https://www.zhihu.com/column/c_1267088333848641536
前言
ceph 的工具很多,包括集群管理与运维,还有性能分析等等。
所以本文期望应收尽收所有的工具,也当做自己的一个梳理与总结,当自己需要的时候知道有哪些利器可以使用。
由于水平与能力有限,所以可能还有很多好用的利器是漏网之鱼,期待大家不吝告知。
ceph rados 相关工具
通用
ceph 是一个控制工具,用于手动==部署和维护==ceph 集群。它提供了一组不同的命令,允许部署监视器、osd、放置组、MDS 以及==集群的整体维护和管理==
这里额外说明一个有用的命令ceph osd dump 指定版本号
, 该命令可以打出指定版本号的 osdmap
rados – rados object storage utility
rados [ options ] [ command ]
rados 是一个与 Ceph 对象存储集群(rados)交互的实用程序,rados 是 Ceph 分布式存储系统的一部分
osd daemon 指令(含 osd 性能/资源)
ceph osd perf
ceph osd df tree
ceph daemon
ceph balancer
ceph balancer 工具可以在 osd 中优化 pg 的位置,以实现平衡分布,可以自动或以手动的方式管理该工具
pg upmap
该工具允许显式地将特定的 pg 映射到特定的 osd
ceph-volume
是一个单一用途的命令行工具,用于将逻辑卷部署为 osd,在准备、激活和创建 osd 时试图维护与ceph -disk
类似的 API
ceph-mon -i monid [ –mon-data mondatapath ]
启动 mon 进程
ceph-syn – ceph synthetic workload generator
ceph-syn
是 Ceph 分布式文件系统的一个简单的合成工作负载生成器。它使用用户空间客户端库针对当前运行的文件系统生成简单的工作负载。文件系统不需要通过ceph-fuse(8)
或内核客户端挂载
crushdiff 是一个实用工具,可以让你测试 crushmap 更改的效果:pgs 的数量,对象,移动的字节数。这是==osdmaptool 的包装器==,依赖于它的-test-map-pgs-dump 选项来获得更改的 pgs 列表。此外,它使用 pg 统计来计算移动的对象和字节的数量
几个 tools
ceph-kvstore-tool
是一个 kvstore 操作工具。它允许用户离线操作leveldb/rocksdb
的数据(如 OSD 的 omap)
monmaptool 是一个为 Ceph 分布式存储系统创建、查看和修改监视集群映射的实用工具。监视映射指定 Ceph 分布式系统中唯一的固定地址。所有其他守护进程都绑定到任意地址,并向监视器注册自己
这篇文章使用 monmaptool 以及 ceph-mon 工具处理了 ceph 线上的一个疑难问题:从不健康的集群中删除mon
ceph-authtool
是一个用于创建、查看和修改 Ceph 密匙环文件的实用程序。密匙环文件存储一个或多个 Ceph 身份验证密钥,可能还存储一个相关的能力规范。每个键都与一个实体名相关联,形式为{client,mon,mds,osd}.name
crushtool 是一个实用工具,可以让你创建、编译、反编译和测试 CRUSH 映射文件
osdmaptool 是一个实用工具,允许你从 Ceph 分布式存储系统中创建、查看和操作 OSD 集群映射。值得注意的是,它允许您提取嵌入的 CRUSH 映射或导入新的 CRUSH 映射。它还可以模拟升级平衡器模式,这样你就可以了解平衡 pg 需要什么
ceph-object-tool
ceph-objectstore-tool 是一个修改 OSD 状态的工具。它便于操作对象的内容、删除对象、列出 omap、操作 omap 标头、操作 omap 键、列出对象属性和操作对象属性键
以下是一个应用实例:由于 bluestore 中已经看不到 filestore 那样的目录结构了,所以文件系统的 attr 也不可见了,只能通过 objectstore-tool 把 attr 属性从 db 中导出来,然后再通过 dencoder 解码,才能看到.
ceph luminous-Bluestore,查看对象信息
ceph-objectstore-tool – modify or examine the state of an OSD
ceph-bluestore-tool
使用该工具的一个例子:Bluestore 使用工具分析 kvstore 里的元数据信息
ceph-bluestore-tool是一个在 BlueStore 实例上执行低级管理操作的实用程序
rbd 相关工具
通用工具
rbd-fuse [ -p pool ] [-c conffile] mountpoint [ fuse options ]
rbd-fuse
是用于 RADOS 块设备(rbd)映像的 FUSE(“用户空间中的文件系统”)客户端。给定一个包含 rbd 映像的池,它将挂载一个用户空间文件系统,允许在挂载点将这些映像作为常规文件访问
rbd-fuse 不建议在生产环境使用.
rbd-nbd 是 RADOS 块设备(rbd)映像的客户端,类似于 rbd 内核模块。它将 rbd 映像映射到 nbd(网络块设备)设备,允许将其作为常规的本地块设备进行访问.
rbd-replay
是一个用于重放 rbd 工作负载的实用程序
性能分析工具
rbd perf image iostat & rbd perf image iotop
通过调用“rbd perf image iostat”或“rbd perf image iotop”命令,无需任何选项或位置参数,就可以将所有 RBD 池混合到一个视图中。在 v15.2.14 中,这样的调用意外地局限于默认池(rbd_default_pool)
https://ceph.com/en/news/blog/2022/v15-2-17-octopus-released/
N 版本
新的 rbd perf image iotop 和 rbd perf image iostat 命令为所有 rbd 图像提供一个 iotop 和 iostat 类 IO 监视器
https://docs.ceph.com/en/quincy/releases/nautilus/#v14-2-0-nautilus
cephfs 相关工具
mds 负载情况
daemon 指令(含性能/资源)
mds
Client
客户端与 mds 的连接 session
查看客户端发往 mds 的请求
查看客户端发往 osd 的请求:
ceph fs/mds 指令
其它
查看会话
查看或者取消客户端
http://www.yangguanjun.com/2018/09/28/cephfs-client-evict-intro/
cephfs 的 stripe 配置以及 file location
cephfs-shell
可以使用这个新的 cephfs -shell 工具在不挂载的情况下操作 CephFS 文件系统(curd 文件或者目录)。
性能分析工具
cephfs-top& ceph fs perf stats
cephfs-topP 版本:
cephfs-top 提供了类似于 top 的工具来实时显示各种 Ceph 文件系统指标. It is development preview quality and will have bugs
https://docs.ceph.com/en/quincy/releases/pacific/
https://docs.ceph.com/en/quincy/cephfs/cephfs-top/#cephfs-top
1、客户端数量,统计 FUSE、内核、libcephfs 使用者。2、客户端 id;3、客户端对应 cephfs 挂载目录;4、客户端本地目录,IP 地址;5、chit cap 的命中率。6、rlat 读操作总延迟(单位 s)7、wlat 写操作总延迟(单位 s)。8、mlat 元数据操作总延迟(单位 s)。9、dlease dentry lease 即客户端 dentry 可用率。10、oicaps 该客户端持有 caps 的数量。11、oinodes 该客户端打开文件持有 inode 的数量。
cepg perf stat
ceph fs perf stats [<mds_rank>] [<client_id>] [<client_ip>]
不加 mds_rank 查看到的是整体文件系统监控指标。利用 json 形式查看
其中属于客户端几个主要的参数:
几个延迟是总延迟,除以操作量才是平均延迟。
。
rgw 相关工具
rgw 接触不多,暂未更新
性能/io/资源等分析相关工具
ceph osd perf
ceph daemon osd.* perf dump
评论