注意

本文档适用于 Ceph 的开发版本。

RBD Replay

RBD Replay 是一套用于捕获和重放 RADOS Block Device (RBD) 工作负载的工具。要捕获 RBD 工作负载,客户端必须安装 lttng-tools,并且客户端的 librbd 必须是 v0.87 (Giant) 版本或更高版本。要重放 RBD 工作负载,客户端的 librbd 必须是 Giant 版本或更高版本。

捕获和重放分为三个步骤

  1. 捕获跟踪。确保捕获 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
    
  2. 使用 rbd-replay-prep 处理跟踪

    rbd-replay-prep traces/ust/uid/*/* replay.bin
    
  3. 使用 rbd-replay 重放跟踪。在确定它符合您的预期之前,请使用只读模式

    rbd-replay --read-only replay.bin
    

重要

rbd-replay 默认会销毁数据。除非您使用 --read-only 选项,否则不要对您希望保留的镜像使用此工具。

重放的工作负载不必是与捕获的工作负载相同的 RBD 镜像,甚至不必是相同的集群。为了适应差异,您可能需要使用 rbd-replay--pool--map-image 选项。

由 Ceph 基金会为您呈现

Ceph 文档是由非营利性 Ceph 基金会 资助和托管的社区资源。如果您希望支持这项工作和我们的其他努力,请考虑 立即加入