注意
本文档适用于 Ceph 的开发版本。
ceph-kvstore-tool -- ceph kvstore manipulation tool
概要
描述
ceph-kvstore-tool 是一个 kvstore 操作工具。它允许用户离线操作 RocksDB 的数据(例如 OSD 的 omap)。
命令
ceph-kvstore-tool 实用程序使用了许多用于调试目的的命令,如下所示
- list [prefix]
打印所有存储的 KV 对的键,这些 KV 对带有 URL 编码的前缀。
- list-crc [prefix]
打印所有存储的 KV 对的 CRC,这些 KV 对带有 URL 编码的前缀。
- dump [prefix]
打印所有存储的 KV 对的键和值,这些 KV 对带有 URL 编码的前缀。
- exists <prefix> [key]
检查是否存在带有 URL 编码前缀的 KV 对。如果也指定了 key,则检查带有该前缀的 key。
- get <prefix> <key> [out <file>]
获取存储的 KV 对的值,该 KV 对带有 URL 编码的前缀和键。如果也指定了 file,则将值写入该文件。
- crc <prefix> <key>
获取存储的 KV 对的 CRC,该 KV 对带有 URL 编码的前缀和键。
- get-size [<prefix> <key>]
获取存储的估计大小或由前缀和键指定的值的大小。
- set <prefix> <key> [ver <N>|in <file>]
设置存储的 KV 对的值,该 KV 对带有 URL 编码的前缀和键。该值可以是 version_t 或文本。
- rm <prefix> <key>
删除存储的 KV 对,该 KV 对带有 URL 编码的前缀和键。
- rm-prefix <prefix>
删除所有存储的 KV 对,这些 KV 对带有 URL 编码的前缀。
- store-copy <path> [num-keys-per-tx]
将所有 KV 对复制到由
path指定的另一个目录。[num-keys-per-tx] 是每个事务复制的 KV 对数量。- store-crc <path>
将所有 KV 对的 CRC 存储到由
path指定的文件中。- compact(压缩)
子命令
compact用于压缩 kvstore 的所有数据。它将打开数据库并触发数据库的压缩。压缩后,可能会释放一些磁盘空间。- compact-prefix <prefix>
压缩由 URL 编码的前缀指定的所有条目。
- compact-range <prefix> <start> <end>
压缩由 URL 编码的前缀和范围指定的某些条目。
- destructive-repair
尝试(可能具有破坏性地)恢复损坏的数据库。请注意,对于 rocksdb,这可能会损坏原本未损坏的数据库——仅在万不得已时使用此命令!
- stats
打印来自底层键值数据库的统计信息。这仅用于提供信息。格式和信息内容可能会因版本而异。对于 RocksDB,信息包括压缩统计信息、性能计数器、内存使用情况和 RocksDB 内部统计信息。
- histogram
显示底层 KV 数据库中键值大小分布的统计信息。
可用性
ceph-kvstore-tool 是 Ceph 的一部分,Ceph 是一个大规模可扩展、开源的分布式存储系统。请参阅 Ceph 文档(网址为 https://docs.ceph.net.cn)以获取更多信息。
另请参阅
ceph(8)