注意

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

rados -- rados 对象存储工具

概要

rados [ 选项] [命令 ]

描述

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

全局选项

--object-locator 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

执行 flush 或 evict 时包括克隆。

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 为用户或 uid(并将 gid 设置为用户的 gid)。

--setgroup GROUP

设置 gid 为组或 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

删除具有指定名称的对象。使用--force-full将在集群标记为满时删除。

listwatchers name

列出对象名称的监视器。

ls outfile

列出给定池中的对象并写入 outfile。如果指定了--poolif--pgidls将仅列出给定 PG 中的对象。

lssnap

列出给定池的快照。

clonedata srcname dstname--object-locatorkey

srcname to dstname. Both objects must be stored with the locator key key (usually either srcname or dstname). Object attributes and omap keys are not copied or cloned.

mksnap foo

创建名为foo.

rmsnap foo

删除名为foo.

bench 秒的 模式[ -bobjsize] [ -tthreads ]

秒的. The mode can be write, seq,或rand. seqrand是读取基准测试,可以是顺序或随机。在运行其中一个读取基准测试之前,请使用--no-cleanup选项运行写入基准测试。默认对象大小为 4 MB,默认模拟线程数(并行写入)为 16。使用--run-name <label>选项从多个客户端对工作负载测试进行基准测试<label>是一个任意对象名称。它默认为“benchmark_last_metadata”,并用作“读取”和“写入”操作的底层对象名称。objsize选项仅在write模式下有效。writeseq必须在相同主机上运行,否则由write创建的对象名称将无法通过seq.

清理。[ --run-namerun_name] [ --prefixprefix ]

清理先前的基准测试操作。

listxattr name

列出对象的扩展属性。

getxattr name attr

导出attr的对象扩展属性值。

setxattr name attr value

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

rmxattr name attr

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

stat name

获取给定对象的 stat(即 mtime、size)。

stat2 name

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

listomapkeys name

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

listomapvals name

列出对象映射中存储的所有键/值对。值以十六进制格式导出。

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

导出对象映射中键的十六进制值。out-file参数未提供,则值将写入标准输出。

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

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

rmomapkey[ --omap-key-filefile ] name key

从对象映射中删除键。

getomapheader name

导出对象映射头的十六进制值。

setomapheader name value

设置对象映射头的值。

export filename

将池内容序列化到文件或标准输出。

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.com

参见

ceph(8)

由 Ceph 基金会提供

Ceph 文档是一个由非盈利Ceph 基金会资助和托管的社会资源。。如果您想支持此项目和其他工作,请考虑现在加入.