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 installedon the client, and librbd
on the client must be the v0.87 (Giant) releaseor later. To replay an RBD workload, librbd
on the client must be the Giantrelease 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 knowit’s doing what you want:
- rbd-replay --read-only replay.bin
Important
rbd-replay
will destroy data by default. Do not use againstan 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 thesame cluster as the captured workload. To account for differences, you may needto use the —pool
and —map-image
options of rbd-replay
.