Scroll to navigation

RADOS(8) Ceph RADOS(8)


rados - rados object storage utility


rados [ options ] [ command ]


rados is a utility for interacting with a Ceph object storage cluster (RADOS), part of the Ceph distributed storage system.


Interact with the given pool. Required by most commands.

As an alternative to --pool, --pgid also allow users to specify the PG id to which the command will be directed. With this option, certain commands like ls allow users to limit the scope of the command to the given PG.

Specify the rados namespace to use for the object.

Read from the given pool snapshot. Valid for all pool-specific read operations.

will specify an input file to be passed along as a payload with the command to the monitor cluster. This is only used for specific monitor commands.

will write any payload returned by the monitor cluster with its reply to outfile. Only specific monitor commands (e.g. osd getmap) return a payload.

Use ceph.conf configuration file instead of the default /etc/ceph/ceph.conf to determine monitor addresses during startup.

Connect to specified monitor (instead of looking through ceph.conf).

Set the block size for put/get/append ops and for write benchmarking.

Uses the striping API of rados rather than the default one. Available for stat, stat2, get, put, append, truncate, rm, ls and all xattr related operation

Set the object size for put/get ops and for write benchmarking


List object pools
Show utilization statistics, including disk usage (bytes) and object counts, over the entire system and broken down by pool.
List inconsistent PGs in given pool.
List inconsistent objects in given PG.
List inconsistent snapsets in given PG.


Read object name from the cluster and write it to outfile.
Write object name with start offset (default:0) to the cluster with contents from infile. Warning: The put command creates a single RADOS object, sized just as large as your input file. Unless your objects are of reasonable and consistent sizes, that is probably not what you want -- consider using RGW/S3, CephFS, or RBD instead.
Append object name to the cluster with contents from infile.
Remove object name.
List the watchers of object name.
List objects in the given pool and write to outfile. Instead of --pool if --pgid will be specified, ls will only list the objects in the given PG.
List snapshots for given pool.
Clone object byte data from 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.
Create pool snapshot named foo.
Remove pool snapshot named foo.
Benchmark for seconds. The mode can be write, seq, or rand. seq and rand are read benchmarks, either sequential or random. Before running one of the reading benchmarks, run a write benchmark with the --no-cleanup option. The default object size is 4 MB, and the default number of simulated threads (parallel writes) is 16. The --run-name <label> option is useful for benchmarking a workload test from multiple clients. The <label> is an arbitrary object name. It is "benchmark_last_metadata" by default, and is used as the underlying object name for "read" and "write" ops. Note: -b objsize option is valid only in write mode. Note: write and seq must be run on the same host otherwise the objects created by write will have names that will fail seq.
Clean up a previous benchmark operation. Note: the default run-name is "benchmark_last_metadata"
List all extended attributes of an object.
Dump the extended attribute value of attr of an object.
Set the value of attr in the extended attributes of an object.
Remove attr from the extended attributes of an object.
Get stat (ie. mtime, size) of given object
Get stat (similar to stat, but with high precision time) of given object
List all the keys stored in the object map of object name.
List all key/value pairs stored in the object map of object name. The values are dumped in hexadecimal.
Dump the hexadecimal value of key in the object map of object name. If the optional out-file argument is not provided, the value will be written to standard output.
Set the value of key in the object map of object name. If the optional value argument is not provided, the value will be read from standard input.
Remove key from the object map of object name.
Dump the hexadecimal value of the object map header of object name.
Set the value of the object map header of object name.
Serialize pool contents to a file or standard output.n"
Load pool contents from a file or standard input


To view cluster utilization:

rados df

To get a list object in pool foo sent to stdout:

rados -p foo ls -

To get a list of objects in PG 0.6:

rados --pgid 0.6 ls

To write an object:

rados -p foo put myobject blah.txt

To create a snapshot:

rados -p foo mksnap mysnap

To delete the object:

rados -p foo rm myobject

To read a previously snapshotted version of an object:

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

To list inconsistent objects in PG 0.6:

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


rados is part of Ceph, a massively scalable, open-source, distributed storage system. Please refer to the Ceph documentation at for more information.




2010-2021, Inktank Storage, Inc. and contributors. Licensed under Creative Commons Attribution Share Alike 3.0 (CC-BY-SA-3.0)

May 27, 2021 dev