7.3. 同步多站点 Ceph 对象网关
多站点同步从其它区域读取更改日志。要从元数据和数据 loags 中获取同步进度的高级视图,您可以使用以下命令:
radosgw-admin sync status
此命令列出源区域后面的日志分片(若有)。
有时,您可能会在运行 radosgw-admin sync status
命令时观察恢复分片。对于数据同步,每个副本日志都有 128 个分片,它们各自独立处理。如果这些复制日志事件触发的任何操作导致来自网络、存储或其他位置出现任何错误,则会跟踪这些错误,以便稍后重试操作。虽然给定的分片具有需要重试的错误,但 radosgw-admin sync status
命令会报告该分片作为 恢复
。这个恢复会自动发生,因此操作员不需要干预来解决它们。
如果以上运行的同步状态的结果返回日志分片,请运行以下命令来替换 X 的 shard-id。
语法
radosgw-admin data sync status --shard-id=X --source-zone=ZONE_NAME
示例
[root@rgw ~]# radosgw-admin data sync status --shard-id=27 --source-zone=_us-eest { "shard_id": 27, "marker": { "status": "incremental-sync", "marker": "1_1534494893.816775_131867195.1", "next_step_marker": "", "total_entries": 1, "pos": 0, "timestamp": "0.000000" }, "pending_buckets": [], "recovering_buckets": [ "pro-registry:4ed07bb2-a80b-4c69-aa15-fdc17ae6f5f2.314303.1:26" ] }
输出列出了同步旁边的存储桶,以及会因为前面的错误而重试哪些存储桶(若有)。
通过以下命令检查各个 bucket 的状态,将 bucket ID 替换为 X :
radosgw-admin bucket sync status --bucket=X.
- replace…
- X,具有存储桶的 ID 号。
结果显示哪些存储桶索引日志分片位于其源区后面。
同步中的一个常见错误是 EBUSY
,这意味着同步已在进行中,通常在另一个网关上。读取写入到同步错误日志的错误,可以使用以下命令进行读取:
radosgw-admin sync error list
同步过程将重试,直到成功为止。错误仍可能发生,可能需要干预。
7.3.1. 多站点 Ceph 对象网关数据同步的性能计数器
以下性能计数器可用于 Ceph 对象网关的多站点配置来测量数据同步:
-
poll_latency
测量远程复制日志的请求延迟。 -
fetch_bytes
测量数据同步获取的对象数和字节数。
使用 ceph daemon
命令查看性能计数器的当前指标数据:
语法
ceph daemon /var/run/ceph/ceph-client.rgw.RGW_ID.asok perf dump data-sync-from-ZONE_NAME
示例
[root@rgw ~]# ceph daemon /var/run/ceph/ceph-client.rgw.host02-rgw0.103.94309060818504.asok perf dump data-sync-from-us-west { "data-sync-from-us-west": { "fetch bytes": { "avgcount": 54, "sum": 54526039885 }, "fetch not modified": 7, "fetch errors": 0, "poll latency": { "avgcount": 41, "sum": 2.533653367, "avgtime": 0.061796423 }, "poll errors": 0 } }
您必须从运行 守护进程的节点运行 ceph
守护进程命令。
其它资源
- 有关 性能计数器 的更多信息,请参见《 红帽 Ceph 存储管理指南》 中的 Ceph 性能计数器一章。