注意
本文档适用于 Ceph 开发版本。
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-cookie locker-cookie
将设置用于获取建议锁(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。如果指定了
--pool
if--pgid
,ls
将仅列出给定 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. seq和rand是读取基准测试,可以是顺序或随机。在运行其中一个读取基准测试之前,请使用--no-cleanup选项运行写入基准测试。默认对象大小为 4 MB,默认模拟线程数(并行写入)为 16。使用--run-name <label>选项从多个客户端对工作负载测试进行基准测试<label>是一个任意对象名称。它默认为“benchmark_last_metadata”,并用作“读取”和“写入”操作的底层对象名称。objsize选项仅在write模式下有效。write和seq必须在相同主机上运行,否则由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 基金会资助和托管的社会资源。。如果您想支持此项目和其他工作,请考虑现在加入.