RBD 重放¶
RBD 重放是个用于捕捉和重放 Rados 块设备( RBD )载荷的工具集。要捕捉 RBD 载荷,必须在客户端安装 lttng-tools
,且客户端上的 librbd
必须在 Giant 版以上。
捕捉、重放需三步:
捕捉一个追踪过程,确保捕捉的是
pthread_id
上下文: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
用 rbd-replay-prep 处理捕捉到的追踪结果:
rbd-replay-prep traces/ust/uid/*/* replay.bin
用 rbd-replay 重放此追踪过程。熟知它的行为前请用只读模式:
rbd-replay --read-only replay.bin
Important
rbd-replay
默认会销毁数据。不要在想保留的映像上使用,除非指定了 --read-only
选项。
重放载荷并非只能在与捕获时相同的 RBD 映像或相同的集群上进行。为说明差异,你也许得在执行 rbd-replay
命令时指定 --pool
和 --map-image
选项。