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