6.2. 同步多站点 Ceph 对象网关
多站点同步从其他区读取更改日志。要从元数据和数据日志中获取同步进度的高级视图,您可以使用以下命令:
示例
[ceph: root@host01 /]# radosgw-admin sync status
此命令列出源区域后面的日志分片(若有)。
有时,在运行 radosgw-admin sync status
命令时可能会观察恢复分片。对于数据同步,都有 128 个复制日志分片,它们都是独立处理的。如果这些复制日志事件触发的任何操作都会导致网络、存储或其他位置出现任何错误,则这些错误会被跟踪,以便操作稍后可以重试。虽然给定分片具有需要重试的错误,radosgw-admin sync status
命令将该分片报告为 恢复
。此恢复会自动进行,因此操作器不需要干预来解决它们。
如果以上运行的同步状态的结果返回日志分片,运行以下命令,将 X 替换为实际的 shard-id。
多站点对象中的 bucket 也可以在 Ceph 仪表板上监控。有关更多信息,请参阅 Red Hat Ceph Storage Dashboard Guide 中的 监控多站点对象的存储桶。
语法
radosgw-admin data sync status --shard-id=X --source-zone=ZONE_NAME
示例
[ceph: root@host01 /]# radosgw-admin data sync status --shard-id=27 --source-zone=us-east { "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.
将 X 替换为存储桶的 ID 号。
结果显示哪些存储桶索引日志分片位于其源区后面。
同步中的一个常见错误是 EBUSY
,这意味着同步已在进行中,通常在另一个网关上。读取写入到同步错误日志的错误,可以使用以下命令进行读取:
radosgw-admin sync error list
同步过程将重试,直到成功为止。仍然可能会出现错误,可能需要干预。