注意
本文档适用于 Ceph 的开发版本。
RBD Replay
RBD Replay 是一套用于捕获和重放 RADOS Block Device (RBD) 工作负载的工具。要捕获 RBD 工作负载,客户端必须安装 lttng-tools,并且客户端的 librbd 必须是 v0.87 (Giant) 版本或更高版本。要重放 RBD 工作负载,客户端的 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
重要
rbd-replay 默认会销毁数据。除非您使用 --read-only 选项,否则不要对您希望保留的镜像使用此工具。
重放的工作负载不必是与捕获的工作负载相同的 RBD 镜像,甚至不必是相同的集群。为了适应差异,您可能需要使用 rbd-replay 的 --pool 和 --map-image 选项。