注意

本文档适用于 Ceph 的开发版本。

rados -- rados 对象存储实用程序

概要

rados [ options ] [ command ]

描述

rados 是一个用于与 Ceph 对象存储集群 (RADOS) 交互的实用程序,它是 Ceph 分布式存储系统的一部分。

全局选项

--object-locator object_locator

设置操作的对象定位符。

-p pool, --pool pool

与给定的池交互。大多数命令都需要。

--target-pool pool

按名称选择目标池。

--pgid

作为 --pool 的替代方案,--pgid 还允许用户指定命令将定向到的 PG ID。使用此选项,某些命令(如 ls)允许用户将命令范围限制为给定的 PG。

-N namespace, --namespace namespace

指定用于对象的 rados 命名空间。

--all

与 ls 一起使用以列出所有命名空间中的对象。将其放入 CEPH_ARGS 环境变量中以使其成为默认值。

--default

与 ls 一起使用以列出默认命名空间中的对象。在 --all 位于环境中时,它优先于 --all。

-s snap, --snap snap

从给定的池快照中读取。适用于所有特定于池的读取操作。

--create

创建指定的池或目录。

-i infile

将指定一个输入文件,作为有效载荷随命令传递给监视器集群。这仅用于特定的监视器命令。

-m monaddress[:port]

连接到指定的监视器(而不是通过 ceph.conf 查找)。

-b block_size

设置 put/get/append 操作以及写入基准测试的块大小。

--striper

使用 rados 的条带化 API 而不是默认 API。适用于 stat、stat2、get、put、append、truncate、rm、ls 和所有与 xattr 相关的操作。

-O object_size, --object-size object_size

设置 put/get 操作以及写入基准测试的对象大小。

--max-objects

设置写入基准测试的最大对象数。

将设置用于获取咨询锁(lock get 命令)的锁 cookie。如果 cookie 不为空,则必须将此选项传递给 lock break 命令才能在释放锁时找到正确的锁。

--target-locator

与 cp 一起使用以指定新对象的定位符。

--target-nspace

与 cp 一起使用以指定新对象的命名空间。

基准测试选项

-t N, --concurrent-ios=N

设置并发 I/O 操作的数量。

--show-time

在输出前加上日期/时间。

--no-verify

不验证读取的对象的内容。

--write-object

将内容写入对象。

--write-omap

将内容写入 omap。

--write-xattr

将内容写入扩展属性。

负载生成选项

--num-objects

对象总数。

--min-object-size

最小对象大小。

--max-object-size

最大对象大小。

--min-op-len

操作的最小 I/O 大小。

--max-op-len

操作的最大 I/O 大小。

--max-ops

最大操作数。

--max-backlog

最大积压大小。

--read-percent

读取操作的百分比。

--target-throughput

目标吞吐量(以字节为单位)。

--run-length

总时间(以秒为单位)。

--offset-align

随机操作偏移量对齐的边界。

缓存池选项

--with-clones

在进行刷新或驱逐时包括克隆。

OMAP 选项

--omap-key-file file

从文件中读取 omap 键。

通用选项

-c FILE, --conf FILE

从给定的配置文件中读取配置。

--id ID

设置我的名称的 ID 部分。

-n TYPE.ID, --name TYPE.ID

设置 cephx 用户名。

--cluster NAME

设置集群名称(默认值:ceph)。

--setuser USER

将 uid 设置为 user 或 uid(并将 gid 设置为 user 的 gid)。

--setgroup GROUP

将 gid 设置为 group 或 gid。

--version

显示版本并退出。

全局命令

lspools

列出对象池

df

显示利用率统计信息,包括磁盘使用量(字节)和对象计数,以及按池细分的统计信息。

list-inconsistent-pg pool

列出给定池中不一致的 PG。

list-inconsistent-obj pgid

列出给定 PG 中不一致的对象。

list-inconsistent-snapset pgid

列出给定 PG 中不一致的快照集。

特定于池的命令

get name outfile

从集群读取对象名称并将其写入 outfile。

put name infile [--offset offset]

将对象名称写入集群,起始偏移量(默认值:0)为 infile 中的内容。警告: put 命令创建一个单独的 RADOS 对象,其大小与输入文件一样大。除非您的对象具有合理且一致的大小,否则这可能不是您想要的——考虑改用 RGW/S3、CephFS 或 RBD。

append name infile

将对象名称附加到集群,内容来自 infile。

rm [--force-full] name

删除名称为 name 的对象。使用 --force-full 将在集群被标记为满时删除。

listwatchers name

列出对象名称的观察者。

ls outfile

列出给定池中的对象并写入 outfile。如果指定 --pgid 而不是 --poolls 将只列出给定 PG 中的对象。

lssnap

列出给定池的快照。

mksnap foo

创建名为 foo 的池快照。

rmsnap foo

删除名为 foo 的池快照。

bench seconds mode [ -b objsize ] [ -t threads ]

基准测试 seconds 秒。模式可以是 writeseqrandseqrand 是读取基准测试,分别是顺序或随机读取。在运行其中一个读取基准测试之前,请使用 --no-cleanup 选项运行写入基准测试。默认对象大小为 4 MB,模拟线程数(并行写入)的默认值为 16。--run-name <label> 选项对于从多个客户端进行工作负载测试非常有用。<label> 是一个任意对象名称。默认值为“benchmark_last_metadata”,并用作“read”和“write”操作的基础对象名称。注意:-b objsize 选项仅在 write 模式下有效。注意:writeseq 必须在同一主机上运行,否则 write 创建的对象名称将导致 seq 失败。

cleanup [ --run-name run_name ] [ --prefix prefix ]

清理以前的基准测试操作。注意:默认的 run-name 是“benchmark_last_metadata”

listxattr name

列出对象的所有扩展属性。

getxattr name attr

转储对象的 attr 扩展属性值。

setxattr name attr value

设置对象的扩展属性中 attr 的值。

rmxattr name attr

从对象的扩展属性中删除 attr

stat name

获取给定对象的 stat(即 mtime、大小)

stat2 name

获取给定对象的 stat(类似于 stat,但具有高精度时间)

listomapkeys name

列出存储在对象名称的对象映射中的所有键。

listomapvals name

列出存储在对象名称的对象映射中的所有键/值对。值以十六进制转储。

getomapval [ --omap-key-file file ] name key [ out-file ]

转储对象名称的对象映射中 key 的十六进制值。如果未提供可选的 out-file 参数,则该值将写入标准输出。

setomapval [ --omap-key-file file ] name key [ value ]

设置对象名称的对象映射中 key 的值。如果未提供可选的 value 参数,则该值将从标准输入读取。

rmomapkey [ --omap-key-file file ] name key

从对象名称的对象映射中删除 key。

getomapheader name

转储对象名称的对象映射头的十六进制值。

setomapheader name value

设置对象名称的对象映射头的值。

export filename

将池内容序列化为文件或标准输出。n”

import [--dry-run] [--no-overwrite] < filename | - >

从文件或标准输入加载池内容

示例

查看集群利用率

rados df

获取池 foo 中的对象列表并发送到标准输出

rados -p foo ls -

获取 PG 0.6 中的对象列表

rados --pgid 0.6 ls

写入对象

rados -p foo put myobject blah.txt

创建快照

rados -p foo mksnap mysnap

删除对象

rados -p foo rm myobject

读取对象先前快照的版本

rados -p foo -s mysnap get myobject blah.txt.old

列出 PG 0.6 中不一致的对象

rados list-inconsistent-obj 0.6 --format=json-pretty

可用性

rados 是 Ceph 的一部分,Ceph 是一个可大规模扩展的开源分布式存储系统。请参阅 Ceph 文档(网址为 https://docs.ceph.net.cn)以获取更多信息。

另请参阅

ceph(8)

由 Ceph 基金会为您呈现

Ceph 文档是由非营利性 Ceph 基金会 资助和托管的社区资源。如果您希望支持这项工作和我们的其他努力,请考虑 立即加入