5.8. 使用多站点同步策略
作为存储管理员,您可以使用存储桶级别的多站点同步策略来控制不同区域中 bucket 之间的数据移动。这些策略称为存储桶粒度同步策略。在以前的版本中,区中的所有存储桶都是对称的。这意味着每个区域都包含给定存储桶的镜像副本,并且存储桶副本在所有区域中都相同。同步过程假定存储桶同步源和存储桶同步目的地引用同一存储桶。
bucket 同步策略只适用于数据,无论存在存储桶同步策略,元数据都会在多站点中的所有区域同步。当存储桶同步策略处于 allowed
或 forbidden
时,创建、修改或删除的对象,它不会在策略生效时自动同步。运行 bucket sync run
命令以同步这些对象。
如果在 zonegroup 级别上定义了多个同步策略,则可以随时有一个策略处于启用状态。如果需要,可以在策略间切换
同步策略替代旧的 zone group coarse 配置(sync_from*
)。同步策略可以在 zone group 级别上配置。如果配置了该配置,它将替换 zone group 级别的旧式配置,但也可在 bucket 级别上进行配置。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群。
- Ceph 监控节点的根级别访问权限.
- 安装 Ceph 对象网关软件.
5.8.1. 多站点同步策略组状态 复制链接链接已复制到粘贴板!
在同步策略中,可以定义可以包含 data-flow 配置列表的多个组,以及管道配置列表。data-flow 定义不同区域之间的数据流。它可以定义对称数据流,其中有多个区域同步数据,并且可以定义方向数据流,其中的数据从一个区域移动到另一个区域。
管道(pipeline)定义了可以使用这些数据流的实际存储桶,以及与它关联的属性,如源对象前缀。
同步策略组可能处于 3 个状态:
-
允许并启用启用。
-
允许允许
criu-wagonsync。 -
不允许在此组定义
禁止
ProductShortName-wagonsync。
复制区域时,您可以使用同步策略禁用特定存储桶的复制。以下是需要遵循解决策略冲突的语义:
zonegroup | Bucket | 结果 |
---|---|---|
enabled | enabled | enabled |
enabled | 允许 | enabled |
enabled | 禁止 | disabled |
允许 | enabled | enabled |
允许 | 允许 | disabled |
允许 | 禁止 | disabled |
禁止 | enabled | disabled |
禁止 | 允许 | disabled |
禁止 | 禁止 | disabled |
对于被设置为反映任何同步对(SOURCE_ZONE、SOURCE_BUCKET)、(DESTINATION_ZONE,DESTINATION_BUCKET)的多个组策略,按以下顺序应用以下规则:
-
即使
禁止
一个同步策略,同步也会禁用
。 -
应至少
启用
一个策略,以便允许同步。
这个组中的同步状态可能会覆盖其他组。
策略可以在 bucket 级别上定义。bucket 级别同步策略继承 zonegroup 策略的数据流,并且只能定义 zonegroup 允许的子集。
通配符区域,策略中的通配符 bucket 参数定义所有相关区域或所有相关存储桶。在 bucket 策略的上下文中,这意味着当前的 bucket 实例。灾难恢复配置,其中整个区被镜像(mirror)不需要在存储桶上配置任何内容。但是,对于精细的存储桶同步,最好在 zonegroup 级别允许(status=allowed
)将它们配置为同步管道(例如,使用通配符)。但是,仅在存储桶级别(status=enabled
)中启用特定的同步。如果需要,存储桶级别的策略可以将数据移动限制到特定的相关区域。
对 zonegroup 策略的任何更改都需要应用到 zonegroup master zone,并且需要周期更新和提交。对 bucket 策略的更改需要应用到 zonegroup master zone。Ceph 对象网关动态处理这些更改。
5.8.2. 检索当前策略 复制链接链接已复制到粘贴板!
您可以使用 get
命令检索当前 zonegroup 同步策略或特定的存储桶策略。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo
访问权限。 - 已安装 Ceph 对象网关。
流程
检索当前的 zonegroup 同步策略或存储桶策略。要检索特定的存储桶策略,请使用
--bucket
选项:语法
radosgw-admin sync policy get --bucket=BUCKET_NAME
radosgw-admin sync policy get --bucket=BUCKET_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# radosgw-admin sync policy get --bucket=mybucket
[ceph: root@host01 /]# radosgw-admin sync policy get --bucket=mybucket
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.3. 创建同步策略组 复制链接链接已复制到粘贴板!
您可以为当前 zone group 或特定存储桶创建同步策略组。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo
访问权限。 - 已安装 Ceph 对象网关。
流程
创建同步策略组或存储桶策略。要创建存储桶策略,请使用
--bucket
选项:语法
radosgw-admin sync group create --bucket=BUCKET_NAME --group-id=GROUP_ID --status=enabled | allowed | forbidden
radosgw-admin sync group create --bucket=BUCKET_NAME --group-id=GROUP_ID --status=enabled | allowed | forbidden
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# radosgw-admin sync group create --group-id=mygroup1 --status=enabled
[ceph: root@host01 /]# radosgw-admin sync group create --group-id=mygroup1 --status=enabled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.4. 修改同步策略组 复制链接链接已复制到粘贴板!
您可以修改当前 zone group 或特定存储桶的现有同步策略组。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo
访问权限。 - 已安装 Ceph 对象网关。
流程
修改同步策略组或存储桶策略。要修改存储桶策略,请使用
--bucket
选项:语法
radosgw-admin sync group modify --bucket=BUCKET_NAME --group-id=GROUP_ID --status=enabled | allowed | forbidden
radosgw-admin sync group modify --bucket=BUCKET_NAME --group-id=GROUP_ID --status=enabled | allowed | forbidden
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# radosgw-admin sync group modify --group-id=mygroup1 --status=forbidden
[ceph: root@host01 /]# radosgw-admin sync group modify --group-id=mygroup1 --status=forbidden
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.5. 显示同步策略组 复制链接链接已复制到粘贴板!
您可以使用 group get
命令按组 ID 显示当前的同步策略组,或者显示特定的存储桶策略。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo
访问权限。 - 已安装 Ceph 对象网关。
流程
显示当前的同步策略组或存储桶策略。要显示特定的存储桶策略,请使用
--bucket
选项:语法
radosgw-admin sync group get --bucket=BUCKET_NAME --group-id=GROUP_ID
radosgw-admin sync group get --bucket=BUCKET_NAME --group-id=GROUP_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# radosgw-admin sync group get --group-id=mygroup
[ceph: root@host01 /]# radosgw-admin sync group get --group-id=mygroup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.6. 删除同步策略组 复制链接链接已复制到粘贴板!
您可以使用 group remove
命令按组 ID 删除当前的同步策略组,或者删除特定的存储桶策略策略。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo
访问权限。 - 已安装 Ceph 对象网关。
流程
删除当前的同步策略组或存储桶策略。要删除特定的存储桶策略,请使用
--bucket
选项:语法
radosgw-admin sync group remove --bucket=BUCKET_NAME --group-id=GROUP_ID
radosgw-admin sync group remove --bucket=BUCKET_NAME --group-id=GROUP_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# radosgw-admin sync group remove --group-id=mygroup
[ceph: root@host01 /]# radosgw-admin sync group remove --group-id=mygroup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.7. 创建同步流 复制链接链接已复制到粘贴板!
您可以为同步策略组或特定存储桶创建两种不同类型的流:
- 方向性同步流
- 对称同步流
group flow create
命令创建一个同步流。如果您为已具有同步流的同步策略组或存储桶发出 group flow create
命令,该命令将覆盖同步流的现有设置,并应用您指定的设置。
选项 | 描述 | 必填/选填 |
---|---|---|
--bucket | 需要配置同步策略的存储桶的名称。仅在 bucket 级别同步策略中使用。 | 选填 |
--group-id | 同步组的 ID。 | 必填 |
--flow-id | 流的 ID。 | 必填 |
--flow-type | 同步策略组或特定存储桶的流类型 - 方向或对称。 | 必填 |
--source-zone | 指定应发生同步的源区。将数据发送到同步组的区域。如果同步组的流类型为方向,则需要此项。 | 选填 |
--dest-zone | 指定应发生同步的目标区。从同步组接收数据的区域。如果同步组的流类型为方向,则需要此项。 | 选填 |
--zones | 同步组一部分的区域。区域提及是发送者和接收器区域。指定以 "," 分隔的区域。如果同步组的流类型是 symmetrical,则需要此项。 | 选填 |
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo
访问权限。 - 已安装 Ceph 对象网关。
流程
创建或更新方向同步流。要为特定存储桶创建或更新同步流,请使用
--bucket
选项。语法
radosgw-admin sync group flow create --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=directional --source-zone=SOURCE_ZONE --dest-zone=DESTINATION_ZONE
radosgw-admin sync group flow create --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=directional --source-zone=SOURCE_ZONE --dest-zone=DESTINATION_ZONE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建或更新对称同步流。要为对称流类型指定多个区域,请在
--zones
选项中使用逗号分隔的列表。语法
radosgw-admin sync group flow create --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=symmetrical --zones=ZONE_NAME
radosgw-admin sync group flow create --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=symmetrical --zones=ZONE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.8. 删除同步流和区域 复制链接链接已复制到粘贴板!
group flow remove
命令从同步策略组或存储桶中删除同步流或区域。
对于使用方向流的同步策略组或 bucket,group flow remove
命令会删除流。对于使用对称流的同步策略组或 bucket,您可以使用 group flow remove
命令从流中删除指定区域,或者移除流。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo
访问权限。 - 已安装 Ceph 对象网关。
流程
删除方向同步流。要删除特定存储桶的方向同步流,请使用
--bucket
选项。语法
radosgw-admin sync group flow remove --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=directional --source-zone=SOURCE_ZONE --dest-zone=DESTINATION_ZONE
radosgw-admin sync group flow remove --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=directional --source-zone=SOURCE_ZONE --dest-zone=DESTINATION_ZONE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从对称同步流中删除特定区域。要从对称流中删除多个区域,请对
--zones
选项使用逗号分隔的列表。语法
radosgw-admin sync group flow remove --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=symmetrical --zones=ZONE_NAME
radosgw-admin sync group flow remove --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=symmetrical --zones=ZONE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 移除对称同步流。要从存储桶中删除同步流,请使用
--bucket
选项。语法
radosgw-admin sync group flow remove --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=symmetrical --zones=ZONE_NAME
radosgw-admin sync group flow remove --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=symmetrical --zones=ZONE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.9. 创建或修改同步组管道 复制链接链接已复制到粘贴板!
作为存储管理员,您可以定义管道来指定哪些存储桶可以使用您配置的数据流,以及与这些数据流关联的属性。
sync group pipe create
命令允许您创建管道,它们是特定存储桶或 bucket 组或特定区域组之间的自定义同步组数据流。
这个命令使用以下选项:
选项 | 描述 | 必填/选填 |
---|---|---|
--bucket | 需要配置同步策略的存储桶的名称。仅在 bucket 级别同步策略中使用。 | 选填 |
--group-id | 同步组的 ID | 必填 |
--pipe-id | 管道 ID | 必填 |
--source-zones |
将数据发送到同步组的区域。使用单引号(')作为值。使用逗号分隔多个区域。对于与数据流规则匹配的所有区域,使用通配符 | 必填 |
--source-bucket |
将数据发送到同步组的 bucket 或 bucket。如果没有提及存储桶名称,则会将 | 选填 |
--source-bucket-id | 源存储桶的 ID。 | 选填 |
--dest-zones |
接收同步数据的区域或区域。使用单引号(')作为值。使用逗号分隔多个区域。对于与数据流规则匹配的所有区域,使用通配符 | 必填 |
--dest-bucket |
接收同步数据的 bucket。如果没有提及存储桶名称,则会将 | 选填 |
--dest-bucket-id | 目标 bucket 的 ID。 | 选填 |
--prefix |
bucket 前缀。使用通配符 | 选填 |
--prefix-rm | 不要使用 bucket 前缀进行过滤。 | 选填 |
--tags-add | 键=值对的逗号分隔列表。 | 选填 |
--tags-rm | 删除一个或多个标签的 key=value 对。 | 选填 |
--dest-owner | 来自源的对象的目的地所有者。 | 选填 |
--storage-class | 来自源的对象的目的地存储类。 | 选填 |
--mode |
将 | 选填 |
--uid | 用于用户模式的权限验证。指定发出同步操作的用户 ID。 | 选填 |
要为某些存储桶在 zonegroup 级别启用或禁用同步,请将 zonegroup 级别同步策略分别设置为 启用或禁用
状态,并使用 --source-bucket
和 --dest-bucket
创建包含存储桶名称或 bucket-id
、i.e、--source-bucket-id
和 --dest-bucket-id
的每个存储桶的管道。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo
访问权限。 - 已安装 Ceph 对象网关。
流程
创建同步组管道:
语法
radosgw-admin sync group pipe create --bucket=BUCKET_NAME --group-id=GROUP_ID --pipe-id=PIPE_ID --source-zones='ZONE_NAME','ZONE_NAME2'... --source-bucket=SOURCE_BUCKET1 --source-bucket-id=SOURCE_BUCKET_ID --dest-zones='ZONE_NAME','ZONE_NAME2'... --dest-bucket=DESTINATION_BUCKET1--dest-bucket-id=DESTINATION_BUCKET_ID --prefix=SOURCE_PREFIX --prefix-rm --tags-add=KEY1=VALUE1, KEY2=VALUE2, ... --tags-rm=KEY1=VALUE1, KEY2=VALUE2, ... --dest-owner=OWNER_ID --storage-class=STORAGE_CLASS --mode=USER --uid=USER_ID
radosgw-admin sync group pipe create --bucket=BUCKET_NAME --group-id=GROUP_ID --pipe-id=PIPE_ID --source-zones='ZONE_NAME','ZONE_NAME2'... --source-bucket=SOURCE_BUCKET1 --source-bucket-id=SOURCE_BUCKET_ID --dest-zones='ZONE_NAME','ZONE_NAME2'... --dest-bucket=DESTINATION_BUCKET1--dest-bucket-id=DESTINATION_BUCKET_ID --prefix=SOURCE_PREFIX --prefix-rm --tags-add=KEY1=VALUE1, KEY2=VALUE2, ... --tags-rm=KEY1=VALUE1, KEY2=VALUE2, ... --dest-owner=OWNER_ID --storage-class=STORAGE_CLASS --mode=USER --uid=USER_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.10. 修改或删除同步组管道 复制链接链接已复制到粘贴板!
作为存储管理员,您可以使用 sync group pipe remove
命令,通过删除某些选项来修改同步组管道。您还可以使用此命令完全删除同步组管道。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo
访问权限。 - 已安装 Ceph 对象网关。
流程
修改同步组管道选项。
语法
radosgw-admin sync group pipe remove --bucket=BUCKET_NAME --group-id=GROUP_ID --pipe-id=PIPE_ID --source-zones='ZONE_NAME','ZONE_NAME2'... --source-bucket=SOURCE_BUCKET1 --source-bucket-id=SOURCE_BUCKET_ID --dest-zones='ZONE_NAME','ZONE_NAME2'... --dest-bucket=DESTINATION_BUCKET1 --dest-bucket-id=_DESTINATION_BUCKET-ID
radosgw-admin sync group pipe remove --bucket=BUCKET_NAME --group-id=GROUP_ID --pipe-id=PIPE_ID --source-zones='ZONE_NAME','ZONE_NAME2'... --source-bucket=SOURCE_BUCKET1 --source-bucket-id=SOURCE_BUCKET_ID --dest-zones='ZONE_NAME','ZONE_NAME2'... --dest-bucket=DESTINATION_BUCKET1 --dest-bucket-id=_DESTINATION_BUCKET-ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除同步组管道。
语法
radosgw-admin sync group pipe remove --bucket=BUCKET_NAME --group-id=GROUP_ID --pipe-id=PIPE_ID
radosgw-admin sync group pipe remove --bucket=BUCKET_NAME --group-id=GROUP_ID --pipe-id=PIPE_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.11. 获取同步操作的信息 复制链接链接已复制到粘贴板!
sync info
命令可让您获取有关同步策略所定义的预期同步源和目标的信息。
当您为存储桶创建同步策略时,该策略定义数据如何从该存储桶移动到不同区域的不同 bucket。创建策略也会创建一个 bucket 依赖项列表,每当该 bucket 与其他存储桶同步时,它们就可用作提示。请注意,存储桶可以引用另一个存储桶,而无需实际同步,因为同步取决于数据流是否允许同步进行。
--bucket
和 effective-zone-name
参数是可选的。如果您调用 sync info
命令但不指定任何选项,则对象网关会返回所有区域中同步策略定义的所有同步操作。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo
访问权限。 - 已安装 Ceph 对象网关。
- 定义了组同步策略。
流程
获取有关同步操作的信息:
语法
radosgw-admin sync info --bucket=BUCKET_NAME --effective-zone-name=ZONE_NAME
radosgw-admin sync info --bucket=BUCKET_NAME --effective-zone-name=ZONE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.12. 使用存储桶粒度同步策略 复制链接链接已复制到粘贴板!
当存储桶或 zonegroup 的同步策略时,从 disabled
移到 enabled
状态,观察到以下行为更改:
随着在 6.1 中存储桶粒度同步策略的 GA 版本的有限范围,现在支持以下功能:
- greenfield 部署 :此发行版本只支持新的多站点部署。要设置存储桶粒度同步复制,必须至少配置一个新的 zonegroup/zone。请注意,这个版本不允许将部署的/运行 RGW 多站点复制配置迁移到新功能的 RGW 存储桶同步策略复制。
- 数据流 - 对称 :虽然可以配置单向和双向/符号链接复制,但本发行版本中仅支持对称复制流程。
-
1 到-1 存储桶复制 :目前,只支持在具有相同名称的存储桶之间进行复制。这意味着,如果站点 A 上的存储桶为
bucket1
,它可以被复制到站点 B 上的bucket1
。当前还不支持将bucket1
复制到不同区(zone)中的bucket2
。
不支持以下功能:
- 源过滤器
- Storage class
- 目标所有者转换
- 用户模式
正常场景 :
- zonegroup 级别:当同步策略被禁用后,当它被启用时会写入数据,无需额外的步骤。
bucket 级别:当 禁用 同步策略时写入的数据 在启用 策略时不会捕获。在这种情况下,可以应用以下两个临时解决方案之一:
- 向存储桶写入新数据会重新同步旧数据。
-
执行
bucket sync run
命令同步所有旧数据。
当您要从同步策略切换到旧策略时,您需要首先运行 sync init
命令,后跟 radosgw-admin bucket sync run
命令来同步所有对象。
重新定义场景 :
- zonegroup 级别:当策略被禁用后发生重新分片(reshard)不会影响在以后启用它时的同步。
存储桶级别:当策略被禁用后发生重新分片,在策略被再次启用后同步的过程会卡住。此时,新对象也不会同步。在这种情况下,请遵循以下临时解决方案:
-
运行
bucket sync run
命令。
-
运行
当为 zonegroup 设置为 enabled
且策略被设置为 enabled
或 allowed
bucket 时,管道配置会从 zonegroup 级别而不是 bucket 级别生效。这是一个已知问题 BZ#2240719。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo
访问权限。 - 已安装 Ceph 对象网关。
zonegroup 同步双向策略
使用新的同步策略引擎创建 zonegroup 同步策略。对 zonegroup 同步策略的任何更改都需要一个周期更新和提交。
在以下示例中,创建了一个组策略,并且定义了数据流,用于从一个 zonegroup 移动到另一个 zonegroup。除了此之外,zonegroups 的管道也被配置为定义可使用此数据流的存储桶。以下示例中的系统包括 3 个区域: us-east (master zone)、us-west 和 us-west-2。
流程
创建新的同步组,并将状态设置为 允许。
示例
[ceph: root@host01 /]# radosgw-admin sync group create --group-id=group1 --status=allowed
[ceph: root@host01 /]# radosgw-admin sync group create --group-id=group1 --status=allowed
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意在创建完全配置的 zonegroup 复制策略前,建议将 --status 设置为
allowed
,以防止复制启动。为新创建的组创建一个流策略,并将 --flow-type 设置为
symmetrical
来启用双向复制。示例
[ceph: root@host01 /]# radosgw-admin sync group flow create --group-id=group1 \ --flow-id=flow-mirror --flow-type=symmetrical \ --zones=us-east,us-west
[ceph: root@host01 /]# radosgw-admin sync group flow create --group-id=group1 \ --flow-id=flow-mirror --flow-type=symmetrical \ --zones=us-east,us-west
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建名为
pipe
的新管道。示例
[ceph: root@host01 /]# radosgw-admin sync group pipe create --group-id=group1 \ --pipe-id=pipe1 --source-zones='*' \ --source-bucket='*' --dest-zones='*' \ --dest-bucket='*'
[ceph: root@host01 /]# radosgw-admin sync group pipe create --group-id=group1 \ --pipe-id=pipe1 --source-zones='*' \ --source-bucket='*' --dest-zones='*' \ --dest-bucket='*'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意使用 * 通配符用于区,使其包含之前流策略中设置的所有区域,而 * 用于存储桶在区域中复制所有现有存储桶。
配置存储桶同步策略后,将 --status 设置为 enabled。
示例
[ceph: root@host01 /]# radosgw-admin sync group modify --group-id=group1 --status=enabled
[ceph: root@host01 /]# radosgw-admin sync group modify --group-id=group1 --status=enabled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新并提交新周期。
示例
[ceph: root@host01 /]# radosgw-admin period update --commit
[ceph: root@host01 /]# radosgw-admin period update --commit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意对于 zonegroup 策略,更新和提交周期是强制的。
可选:执行
sync info --bucket=bucket_name
命令检查同步源以及特定存储桶的目的地。区域 us-east 和 us-west 中的所有存储桶都以双向方式复制。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以上输出中的 id 字段反映了生成该条目的管道规则。单个规则可以生成多个同步条目,如以下示例中所示。
-
可选:运行
sync info
命令,以检索有关策略中定义的预期存储桶同步源和目标的信息。
bucket 同步双向策略
bucket 级别策略的数据流继承自 zonegroup 策略。bucket 级别策略不需要更改数据流和管道,因为 bucket 级别策略流和管道只是 zonegroup 策略中定义的流的子集。
- 存储 同级别策略可以启用还没有启用的管道,但在 zonegroup 策略中被禁止的除外。
- bucket 级别策略不需要周期更新。
流程
将 zonegroup 策略 --status 设置为 allowed per-bucket 复制。
示例
[ceph: root@host01 /]# radosgw-admin sync group modify --group-id=group1 --status=allowed
[ceph: root@host01 /]# radosgw-admin sync group modify --group-id=group1 --status=allowed
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 修改 zonegroup 策略后更新周期。
示例
[ceph: root@host01 /]# radosgw-admin period update --commit
[ceph: root@host01 /]# radosgw-admin period update --commit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为要同步到的存储桶创建同步组,并将 --status 设置为 enabled。
示例
[ceph: root@host01 /]# radosgw-admin sync group create --bucket=buck \ --group-id=buck-default --status=enabled
[ceph: root@host01 /]# radosgw-admin sync group create --bucket=buck \ --group-id=buck-default --status=enabled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为上一步中创建的组创建管道。
示例
[ceph: root@host01 /]# radosgw-admin sync group pipe create --bucket=buck \ --group-id=buck-default --pipe-id=pipe1 \ --source-zones='*' --dest-zones='*'
[ceph: root@host01 /]# radosgw-admin sync group pipe create --bucket=buck \ --group-id=buck-default --pipe-id=pipe1 \ --source-zones='*' --dest-zones='*'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意使用通配符 * 为存储桶复制指定源和目标区域。
可选: 要检索有关同步策略定义的预期存储桶同步源和目标的信息,请使用 --bucket 标志运行
radosgw-admin bucket sync info
命令。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选: 要检索同步策略定义的预期同步源和目标的信息,请使用 --bucket 标志运行
radosgw-admin sync info
命令。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
禁用策略以及同步信息
在某些情况下,若要中断两个 bucket 之间的复制,请将 bucket 的组策略设置为 禁止。
流程
运行
sync group modify
命令,将状态从 allowed 改为 forbidden,这可以禁止在 zone us-east 和 us-west 之间进行的存储桶的复制。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意不需要在周期内更新和提交,因为这是存储桶同步策略。
可选:运行
sync info 命令检查
存储桶buck
的同步状态。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意因为复制已被中断,所以没有源和目标目标。