RBD 重放

RBD 重放是个用于捕捉和重放 Rados 块设备( RBD )载荷的工具集。要捕捉 RBD 载荷,必须在客户端安装 lttng-tools ,且客户端上的 librbd 必须在 v0.87(Giant)版以上。

捕捉、重放需三步:

  • 捕捉一个追踪过程,确保捕捉的是 pthread_id 上下文:
  1. mkdir -p traces
  2. lttng create -o traces librbd
  3. lttng enable-event -u 'librbd:*'
  4. lttng add-context -u -t pthread_id
  5. lttng start
  6. # run RBD workload here
  7. lttng stop
  1. rbd-replay-prep traces/ust/uid/*/* replay.bin
  • rbd-replay 重放此追踪过程。熟知它的行为前请用只读模式:
  1. rbd-replay --read-only replay.bin

Important

rbd-replay 默认会销毁数据。不要在想保留的映像上使用,除非指定了 —read-only 选项。

重放载荷并非只能在与捕获时相同的 RBD 映像或相同的集群上进行。为说明差异,你也许得在执行 rbd-replay 命令时指定 —pool—map-image 选项。