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.
- --pgid
- 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.
- --all
- Use with ls to list objects in all namespaces. Put in CEPH_ARGS
environment variable to make this the default.
- --default
- Use with ls to list objects in default namespace. Takes precedence over
--all in case --all is in environment.
- -s snap, --snap snap
- Read from the given pool snapshot. Valid for all pool-specific read
operations.
- --create
- Create the pool or directory that was specified.
- -i infile
- 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.
- -b block_size
- Set the block size for put/get/append ops and for write benchmarking.
- --striper
- 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.
- --max-objects
- Set the max number of objects for write benchmarking.
- --lock-cookie
locker-cookie
- Will set the lock cookie for acquiring advisory lock (lock get command).
If the cookie is not empty, this option must be passed to lock break
command to find the correct lock when releasing lock.
- get name
outfile
- Read object name from the cluster and write it to outfile.
- put name
infile [--offset offset]
- 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 name
infile
- Append object name to the cluster with contents from infile.
- rm [--force-full]
name ...
- Remove object(s) with name(s). With --force-full will remove when
cluster is marked full.
- listwatchers
name
- List the watchers of object name.
- ls outfile
- 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.
- lssnap
- List snapshots for given pool.
- clonedata
srcname dstname --object-locator key
- 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.
- mksnap
foo
- Create pool snapshot named foo.
- rmsnap
foo
- Remove pool snapshot named foo.
- bench seconds
mode [ -b objsize ] [ -t threads ]
- 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.
- cleanup [
--run-name run_name ] [ --prefix prefix ]
- Clean up a previous benchmark operation. Note: the default run-name is
"benchmark_last_metadata"
- listxattr
name
- List all extended attributes of an object.
- getxattr
name attr
- Dump the extended attribute value of attr of an object.
- setxattr
name attr value
- Set the value of attr in the extended attributes of an object.
- rmxattr
name attr
- Remove attr from the extended attributes of an object.
- stat
name
- Get stat (ie. mtime, size) of given object
- stat2
name
- Get stat (similar to stat, but with high precision time) of given
object
- listomapkeys
name
- List all the keys stored in the object map of object name.
- listomapvals
name
- List all key/value pairs stored in the object map of object name. The
values are dumped in hexadecimal.
- getomapval
[ --omap-key-file file ] name key [ out-file
]
- 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.
- setomapval
[ --omap-key-file file ] name key [ value
]
- 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.
- rmomapkey [
--omap-key-file file ] name key
- 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.
- export
filename
- Serialize pool contents to a file or standard output.n"
- import [--dry-run]
[--no-overwrite] < filename | - >
- Load pool contents from a file or standard input
To view cluster utilization:
To get a list object in pool foo sent to stdout:
To get a list of objects in PG 0.6:
To write an object:
rados -p foo put myobject blah.txt
To create a snapshot:
rados -p foo mksnap mysnap
To delete the object:
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
https://docs.ceph.com for more information.
2010-2024, Inktank Storage, Inc. and contributors. Licensed under
Creative Commons Attribution Share Alike 3.0 (CC-BY-SA-3.0)