RBD Replay¶
RBD Replay is a set of tools for capturing and replaying Rados Block Device
(RBD) workloads. To capture an RBD workload, lttng-tools
must be installed
on the client, and librbd
on the client must be the v0.87 (Giant) release
or later. To replay an RBD workload, librbd
on the client must be the Giant
release or later.
Capture and replay takes three steps:
Capture the trace. Make sure to capture
pthread_id
context:mkdir -p traces lttng create -o traces librbd lttng enable-event -u 'librbd:*' lttng add-context -u -t pthread_id lttng start # run RBD workload here lttng stop
Process the trace with rbd-replay-prep:
rbd-replay-prep traces/ust/uid/*/* replay.bin
Replay the trace with rbd-replay. Use read-only until you know it’s doing what you want:
rbd-replay --read-only replay.bin
Important
rbd-replay
will destroy data by default. Do not use against
an image you wish to keep, unless you use the --read-only
option.
The replayed workload does not have to be against the same RBD image or even the
same cluster as the captured workload. To account for differences, you may need
to use the --pool
and --map-image
options of rbd-replay
.